排序算法
选择排序
选择排序的优化写法
选择排序的特点
1.时间复杂度为 O(n*n)
2.最好和最坏的复杂度都是一样,很高。一般不采用这个算法
3.不稳定性
如何验证算法的正确与否
1.肉眼观察
2.产生足够多的随机样本
3.用确定的算法计算样本结果
4.对比被验证算法的结果
时间复杂度:算法执行最长时间的执行语句随着规模的扩大时间的变化(忽略常数项,和一次项)
空间复杂度:算法执行额外所需要的空间
冒泡排序
冒泡排序的特点:
时间复杂度:O(nn)
空间复杂度:1
最好:O(n)
最差:O(nn)
稳定性:好
插入排序
-------(对于基本有序的数组最好用,稳定)
图解插排
插排特点
时间复杂度:O(nn)
空间复杂度:1
最好:O(n)
最差:O(nn)
稳定性:好
效率比较高