(1.3.1)各查找和排序等算法一览

查找排序等算法一览

算法平均时间最差时间最好时间稳定度空间备注思想
插入O(n2)O(n2)O(n)稳定O(1)大部分已排序时较好
希尔O(nlogn)O(ns)[s属于(1,2)]O(n)不稳定O(1)s是所选分组
冒泡O(n2)O(n2)O(n)稳定O(1)n小时较好
快速O(nlogn)O(n2)O(nlogn)不稳定O(nlogn)n大时较好分治法
交换O(n2)O(n2)O(n)不稳定O(1)n小时较好
选择O(n2)O(n2)O(n2)不稳定O(1)n小时较好
O(nlogn)O(nlogn)O(nlogn)不稳定O(1)n大时较好
归并O(nlogn)O(nlogn))O(nlogn))稳定O(n)n大时较好分治法
基数O(d(r+n))O(d(r+n))O(d(r+nd))稳定O(n)B是真数(0-9),R是基数(个十百)
傅里叶变换分治法
最长公共子序列动态规划
克鲁斯卡尔O(eloge)最小生成树,e为边数目贪心法
普里姆O(n2)最小生成树贪心法
迪杰斯特拉O(n2)点的最短路径动态规划
佛洛依德O(n3)点对的最短路径动态规划
拓扑排序O(n+e)
关键路径O(n+e)
辗转相除法O(logn)最大公约数,gcd(a,b)= gcd(b,a mod b)

口诀:
(1)快希以log2n入堆:快速、希尔、堆排序不稳定
(2)快希选一堆不稳定:快速、希尔、选择、堆排序不稳定
(3)比较次数和初始化无关的:选堆鸡和龟过年关:选择、堆、基数排序、归并排序无关
(4)快速排序最均衡,但是有序时最坏

查找算法

查找:顺序查找

查找:折半查找和差值法

查找:斐波那契查找

查找:位图法

排序算法

插入类

选择类

交换类

归并类

索引

线性

外排序

目录:

总目录

    原文作者:查找算法
    原文地址: https://blog.csdn.net/fei20121106/article/details/44306475
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞