![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
左程云数据结构与算法笔记
..
é«
这个作者很懒,什么都没留下…
展开
-
【不基于比较的排序,排序总结】根据数据状况做的排序,计数,基数
计数排序:假设有一个员工年龄的数组arr_age,那么数组里的值都在0-200之间。 可以额外申请一个长度为201的数组arr_extra,遍历arr_age遇到0岁就在arr_extra 的0位置上加一,依次这样。那么arr_extra就是一个员工年龄的频率计数数组。 基数排序:对于一个数组,准备十个额外的桶(编号0-9),(1)先让个位数决定数组中的每一个数进哪个桶,个位数是0的进0号桶,个位数是1的进1号桶,依次下去。 (2)每个桶从左到右把数倒出来。 (3)重复按照十位,百位…...原创 2022-03-20 22:02:28 · 772 阅读 · 0 评论 -
【比较器】
原创 2022-03-20 19:09:35 · 63 阅读 · 0 评论 -
【堆】堆结构,堆排序,堆排序例题
堆的两个最重要的操作: (1)heapInsert:(一个数在index位置上,向上移动)一个数在index位置上,如果这个数大于它的父位置的数,index位置的数和父位置的数交换,index就是父位置继续判断 (2)heapify:(一个数在index位置上,向下移动,但不超过heapsize)如果有左孩子,一直判断, 判断左孩子右孩子哪个大, 判断父和大孩子哪个大 lagest就是在父,左、右孩子中最大的下标 如果不能往下走就break 如果能往下走就把largest的值与i...原创 2022-03-20 18:03:05 · 903 阅读 · 0 评论 -
【O(NlogN)排序算法】master公式,归并排序,例题(小和,逆序对)
master公式 N: 样本量 N/b: 子过程样本量 a: 子过程执行次数:递归里调用了几次递归 归并排序: 例题: (1)在merge的过程中,如果左侧的指向的数小于右侧指向的数,res就加上右侧剩余的数乘左侧指向的数。 快速排序: 当num是随机在数组中选择时,时间复杂度是O(NlogN) 快速排序的最坏运行情况是 O(n²),比如说顺序数列的快排。但它的平摊期望时间是 O(nlogn),且 O(nlogn) 记号中隐含的常数因子很小,...原创 2022-03-20 16:49:54 · 73 阅读 · 0 评论 -
【复杂度与简单的排序算法】 选择,冒泡,插入,二分,异或,异或例题,对数器。
O记法。是算法最坏情况的最高阶次 选择排序:从第i个开始看,看到最后一个,选择最小的作为第i个的值。一共N-1轮;O(N^2) 冒泡排序:从第1个看,第1个大于第2个就交换,一直到最后,就能确定最后一个值。一共n-1轮;O(N^2) 对上面代码swap函数的解释:^异或 有1为1,相同为0. 满足的规律 例题:(1)一个数组,中有一个数出现了奇数次,其余出现了偶数次,求这个数? (2)一个数组,中有两种数出现了奇数次,其余出现...原创 2022-03-19 18:32:25 · 460 阅读 · 0 评论