数据结构与算法
文章平均质量分 51
yooo*
想翻身的咸鱼
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
十大排序算法——3种归并排序
归并排序 典型的分治思想 递归排序算法:先递归地将其分成两半分别排序,然后将结果归并起来。 时间上(优):能保证长度为N的数组排序所需时间和NlogN成正比,就能将一个庞大的数组排序,可以处理数百万甚至更大规模的数组。(这是插入排序或选择排序做不到的) 空间上(劣):所需的额外空间和N成正比。 归并排序是一种渐进最优的基于比较排序的算法 1. 原地归并的抽象方法 思想:将子数组a[lo…mid]和a[mid+1…hi]归并成一个有序的数组并将结果存放在a[lo…hi]中。它将涉及的所原创 2021-11-02 17:05:51 · 705 阅读 · 0 评论 -
十大排序算法——选择排序&插入排序&希尔排序
时间复杂度(运行时间):比较数量+交换数量(不交换元素的算法则计算访问数组的次数) 空间复杂度(额外内存使用) 1. 选择排序 “不断地选择剩余元素之中的最小者”:找到数组中最小的元素,将它和数组第一个元素交换位置。然后在剩下元素中找到最小的元素,将它与数组第二个元素交换位置。如此往复,直到将整个数组排序。 交换的总次数是N,算法的时间效率取决于比较的次数 选择排序需要大约N^2/2次比较(1+2+...+n-2+n-1)和N次交换 特点: 运行时间和输入无关 数据移动最.原创 2021-11-01 15:55:48 · 319 阅读 · 0 评论
分享