vb6,vs2005快捷键_排序算法的稳定性
转自:http://www.viewarticle.com/vb/vb6_vs2005KuaiJieJianShiYong_TiGaoCaoZuoSuDu/ vb6,vs2005快捷键使用,提高操作速度 F6: 生成解决方案 Shift+Alt+Enter: 切换全屏编辑
窗口快捷键 Ctrl+W,W: 浏览器窗口 排序算法的稳定性:
算法列表简介
在这个
表格中,n是要被
排序的纪录数量以及k是不同键值的数量。
稳定的
冒泡排序(bubble sort) — O(n^2)
鸡尾酒排序(Cocktail sort,双向的
冒泡排序) — O(
n^2)
插入排序(insertion sort)— O(
n^2)
桶排序(bucket sort)— O(
n); 需要 O(
k) 额外空间
计数排序(counting sort) — O(
n+
k); 需要 O(
n+
k) 额外空间
合并排序(merge sort)— O(
nlog
n); 需要 O(
n) 额外空间
原地
合并排序— O(
n^2)
二叉排序树排序 (Binary tree sort) — O(
nlog
n)期望时间; O(
n^2)最坏时间; 需要 O(
n) 额外空间
鸽巢排序(Pigeonhole sort) — O(
n+
k); 需要 O(
k) 额外空间
基数排序(radix sort)— O(
n·
k); 需要 O(
n) 额外空间
Gnome 排序— O(
n^2)
图书馆排序— O(
nlog
n) with high probability,需要 (1+ε)
n额外空间
不稳定的
选择排序(selection sort)— O(
n^2)
希尔排序(shell sort)— O(
nlog
n) 如果使用最佳的现在版本
组合排序— O(
nlog
n)
堆排序(heapsort)— O(
nlog
n)
平滑排序— O(
nlog
n)
快速排序(quicksort)— O(
nlog
n) 期望时间,O(
n^2) 最坏情况; 对于大的、乱数列表一般相信是最快的已知排序
Introsort— O(
nlog
n)
Patience sorting— O(
nlog
n+
k) 最坏情况时间,需要 额外的 O(
n+
k) 空间,也需要找到最长的递增子串行(longest increasing subsequence)
不实用的排序算法
Bogo排序— O(
n×
n!) 期望时间,无穷的最坏情况。
Stupid sort— O(
n^3); 递归版本需要 O(
n^2) 额外
存储器
珠排序(Bead sort) — O(
n) or O(√
n),但需要特别的硬件
Pancake sorting— O(
n),但需要特别的硬件
stooge sort——O(n^2.7)很漂亮但是很耗时
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |