作者:whj95
导读
部分搜索与排序算法
这部分还是看我另一篇排序算法总结,这里只是迎合考试和教材。
搜索
顺序查找(Linear Search):从前往后直至找到key为止
二分查找(Binary Search):数据从小到大排序,找到中间值与key比较。小则跳至前区段,大跳至后区段,折半继续,直至找到key
排序
冒泡排序(Bubble Sort):从上到下(从前往后),每次总与紧邻的元素进行比较调整,小的在上(前),大的在下(后),直至底部。重新回到顶部不断循环,直至不再有交换
插入排序(Insertion Sort):从前往后挨个选定数字,定到一个数就把他与前面所有数比较,找到合适的位置插入,直至走到底部
Big-O
常见复杂度:从上到下,从小到大
计算复杂度:复杂度一般选取的都是“最坏”情况。按照上述图表尽可能小得代替。
举个例子:
通解是把式子每部分都分开,利用图表尽可能小得逼近上限。上式可分为x+1,log(x
2
+1),3x
2
。
①x+1 根据图表,常系数和线性复杂度,把常系数->线性复杂度。所以x+1≤x+x—–>O(x)
②log(x
2
+1) 根据图表细分内部x
2
+1。常系数和多项式复杂度,把常系数——>多项式复杂度。所以x
2
+1≤x
2
+x
2
=2x
2
—–>O(x
2
)
③3x
2
只有多项式复杂度,保留