摘要: 这里记录一下各种排序算法的比较和特性,主要摘自维基百科稳定的冒泡排序(bubble sort) — O(n2)鸡尾酒排序(Cocktail sort, 双向的冒泡排序) — O(n2)插入排序(insertion sort)— O(n2)桶排序(bucket sort)— O(n); 需要 O(k) 额外空间计数排序(counting sort) — O(n+k); 需要 O(n+k) 额外空间合并排序(merge sort)— O(nlogn); 需要 O(n) 额外空间原地合并排序— O(n2)二叉排序树排序 (Binary tree sort) — O(nlogn)期望时间; O(n2) 阅读全文
posted @ 2013-01-23 23:43 WhoAmMe 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 排序逻辑:每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。选择排序是不稳定的排序方法。n个记录的文件的直接选择排序可经过n-1趟直接选择排序得到有序结果:①初始状态:无序区为R[1..n],有序区为空。②第1趟排序在无序区R[1..n]中选出关键字最小的记录R[k],将它与无序区的第1个记录R[1]交换,使R[1..1]和R[2..n]分别变为记录个数增加1个的新有序区和记录个数减少1个的新无序区。……③第i趟排序第i趟排序开始时,当前有序区和无序区分别为R[1..i-1]和R(i..n)。该趟排序从当前无序区中选出关键字最小 阅读全文
posted @ 2013-01-23 23:33 WhoAmMe 阅读(232) 评论(0) 推荐(0) 编辑