排序 参考 "五分钟学算法" 复杂度比较 时间复杂度 O(n2) 各种简单的排序:直接插入、直接选择、冒泡 O(nlog2n) 快速排序、堆排序、归并排序 O(n1+$\lambda$),希尔排序 线性阶O(n)排序,基排序、桶、箱排序 稳定性 稳定排序:冒泡、插入、归并、基数排序 不稳定:选择、快 ...
分类:
编程语言 时间:
2020-02-22 13:40:19
阅读次数:
86
笔者将在接下来的栏目中写数据结构的基本算法类如下: 1.插入排序 2.归并排序 3.交换排序 4.选择排序 5.基排序 插入排序算法 思路: ?? ?? ?? ?? 第一步,调用insert函数,将序列为1的值插入到序列为0中子数组中 第二部,调用insert函数,将序列为2的值插入到序列为0-1中 ...
分类:
编程语言 时间:
2019-08-16 00:19:44
阅读次数:
107
交换排序(冒泡排序、快速排序) 插入排序(直接插入排序、希尔排序)、 选择排序(直接选择、堆排序) 归并排序 基排序 1.冒泡排序 时间复杂度:最优情况下是O(n),最坏情况和平均情况是O(n2) 空间复杂度:O(1) 稳定 算法实现是 从小到大排序 结果是1 2 3 5 6 7 2 快速排序 时间 ...
分类:
编程语言 时间:
2016-04-02 17:31:55
阅读次数:
221
四种排序算法的PHP实现:
1) 插入排序(Insertion Sort)的基本思想是:
每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子文件中的适当位置,直到全部记录插入完成为止。
2) 选择排序(Selection Sort)的基本思想是:
每一趟从待排序的记录中选出关键字最小的记录,顺序放在已排好序的子文件的最后,直到全部记录排序完毕。
3) 冒泡排序的基...
分类:
编程语言 时间:
2015-06-18 09:38:23
阅读次数:
106
基排序是外排序,稳定的排序算法。
它的时间复杂度:O(d(r+n)),d为每个数的长度,r表示基数,n表示数组中元素的个数。
基数排序是另外一种比较有特色的排序方式,它是怎么排序的呢?我们可以按照下面的一组数字做出说明:12、 104、 13、 7、 9
(1)按个位数排序是12、13、104、7、9
(2)再根据十位排序104、7、9、12、13
(3)再根据百...
分类:
编程语言 时间:
2015-02-25 18:42:17
阅读次数:
169
运算排序 第一:计数排序 1:原理 对于每个输入数,确定小于该数的个数。这样可以直接把数放在输出数组的位置。 2:性能 最差时间复杂度 最优时间复杂度 平均时间复杂度 最差空间复杂度 注:稳定算法 3:应用 适合0~100的范围的数,当然可以和基排序结合而扩展数的范围。 4:实现 void Coun...
分类:
其他好文 时间:
2014-06-28 22:19:21
阅读次数:
208