妙趣横生算法-查找和排序

来源:互联网 发布:淘宝店招是什么 编辑:程序博客网 时间:2024/04/29 23:28

1、查找

1.1 顺序查找

优点:简单,对数据的排列顺序没有限制,适用于线性存储的顺序表结构和链式存储的表结构
缺点:查找效率低

1.2 折半查找
前置条件:数据是顺序排列的
复杂度:nlogn
1000个数据查找需要次数为log1000 - 1 

1.3 直接插入排序
属于稳定的排序
最坏时间复杂性为O(n^2)
空间复杂度为O(1)

1.4 选择排序
稳定性:不稳定 例如 5 4 5 2 8 sh
时间复杂度:O(n^2)  比较次数n * (n - 1) /2 交换次数0 - (n - 1)
空间复杂度:O(1)

1.5 冒泡排序

稳定性:稳定
时间复杂度:O(n^2)  
空间复杂度:O(1)

1.6 希尔排序

稳定性:不稳定
时间复杂度:O(nlogn)~O(n2)
空间复杂度:O(1)

1.7 快速排序
稳定性:不稳定
时间复杂度:最好情况为O(nlogn),最坏情况为O(n^2)
空间复杂度:O(1)
递归次数:logn


0 0