
算法
数据小二
小二讲堂开讲了!!
展开
-
排序算法之二叉树排序【小二大讲堂】
小二精选推荐:算法入门:https://blog.youkuaiyun.com/mirror_w/article/category/8856271小二课堂:https://blog.youkuaiyun.com/Mirror_w入门介绍:什么是二叉树???在计算机科学中,二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树...原创 2019-04-20 17:57:06 · 915 阅读 · 0 评论 -
排序算法之冒泡排序【小二大讲堂】
介绍之间先分享一个排序算法网站(可以自定义排序):https://visualgo.net/zh/sorting?slide=1,不过先得看完本排篇。。。你才能掌握!!!冒泡排序思路:冒泡排序算法的原理如下:1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。2.对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。3.针对所有的元素重复...原创 2019-04-13 18:13:48 · 358 阅读 · 0 评论 -
排序算法之堆排序【小二讲堂】
【排序思想】: 大顶堆:堆的每个父节点都大于其孩子节点小顶堆:堆的每个度节点都小于其孩子节点堆排序的概要:首先对于一组数据,将这组数据填入到一个二叉树中,这是构成了初始堆A. 将初始堆进行排序,排序成一个大顶堆(或小顶对),将子节点与其父节点进行比较数据大的放在父节点的位置,直到生成一个大顶堆.B. 进行排序输出,规则,将跟节点上的数据进行与子节点中最小的数进行比较,将较小的数据交换至根...原创 2019-05-03 17:23:17 · 283 阅读 · 0 评论 -
排序算法之选择排序【小二讲堂】
【排序思想】选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。定义基准数 在开始排序的过程中,将数组的第一个数作为基准数, 用于i和j对应的数进行比较, 将较小的数放在基准数的右侧,将较大的数放到基准数的右侧。在一趟排序完毕后,基准数的右侧放的都是无序的比...原创 2019-05-03 17:35:31 · 273 阅读 · 0 评论 -
排序算法之插入排序【小二讲堂】
【排序思想】* 插入排序思想:* 1.首先将数组的第一位看做一个已经排好序的数组,(一个数已经有序)* 2.将后面的无序数组看做一个数组,* 3.将无序数组中的第一位与有序数组中的第一一位进行比较,* 如果无序数组中的第一位比有序数组的数小,则将无序数组中的比较的数储存到一个区域* 4.然后将最后一位放到有序数组的第一位,然后进行然后再用储存到区域的这个数与有序数组* 中的其他数逐个...原创 2019-05-03 17:40:55 · 214 阅读 · 0 评论 -
排序算法之快速排序【小二讲堂】
【排序思想】快速排序思路:* 类说明 :快速排序1.在一组数据中,选择一个数作为基准(一般选择第一个数)2.所有小于“基准”的元素,都移到“基准”的左边,所有大于"基准"的元素都移动到右边3.对基准左右两边的元素不断重复1.2两步操作,直到所有子集的下一个元素为止。上图只是给出了第1趟快速排序的流程。在第1趟中,设置x=a[i],即x=30。(01) 从"右 --> 左"查找...原创 2019-05-03 17:57:37 · 260 阅读 · 0 评论 -
算法的时间复杂度和空间复杂度
通常,对于一个给定的算法,我们要做 两项分析。第一是从数学上证明算法的正确性,这一步主要用到形式化证明的方法及相关推理模式,如循环不变式、数学归纳法等。而在证明算法是正确的基础上,第二部就是分析算法的时间复杂度。算法的时间复杂度反映了程序执行时间随输入规模增长而增长的量级,在很大程度上能很好反映出算法的优劣与否。因此,作为程序员,掌握基本的算法时间复杂度分析方法是很有必要的。算法执...原创 2019-07-08 20:09:55 · 629 阅读 · 0 评论