排序 查找 树 图 的时间复杂度

查找算法 时间复杂度  
顺序查找 O(n) 算法简单,适应面广,稳定算法
折半查找 O(log2n) 针对有序的序列表,不稳定
分块查找 介于顺序查找和折半查找之间 针对有序表,不稳定算法
平衡二叉树查找 O(log2n) 插入与删除的复杂度也相同


排序法

平均时间

最差情形

稳定度

额外空间

冒泡

O(n2)    

O(n2) 

稳定

O(1)

n小时较好

交换 O(n2) O(n2) 

不稳定 O(1)

n小时较好

选择

O(n2)  

O(n2)

不稳定 O(1)

n小时较好

插入 O(n2)

O(n2)

稳定 O(1) 大部分已排序时较好
Shell

O(nlogn)

O(ns)1<s<2

不稳定 O(1) s是所选分组 
快速 O(nlogn) 

O(n2)

不稳定 O(nlogn)

n大时较好

归并 O(nlogn) 

O(nlogn)

稳定 O(1) n大时较好
O(nlogn) 

O(nlogn)

不稳定 O(1) n大时较好
基数 O(logRB)

O(nlogRB)

稳定 O(n) B是真数(0-9),R是基数(个十百)

树图

时间复杂度
克鲁斯卡尔 O(eloge)
普里姆 O(n2)
迪杰斯特拉 O(n2)
拓扑排序 O(n+e)
关键路径

O(n+e)


posted @ 2016-04-26 16:20  panty  阅读(907)  评论(0编辑  收藏  举报