1.在比较算法性能时,最重要的是数据量的变化,算法随数据量变化的变化程度。
2.大O记法
即为时间复杂度随数据量变化的关系曲线,这个关系曲线通常由最高次项决定,当数据量比较高时低次项的影响就很小,为了方便可以忽略。
3.时间复杂度的计算
计算规则:
(1)基本操作,时间复杂度为O(1)
(2)顺序结构,时间复杂度按加法进行
(3)循环结构,时间复杂度按乘法进行
(4)分支结构,时间复杂度取最大值
(5)判断一个算法时间复杂度时,往往取最高次项
(6)在没有特殊说明时,时间复杂度往往都是指最坏时间复杂度
4.时间复杂度越小,效率越高
O(1)<O(logn)<O(n)<O(nlogn)<O(n^2)<O(n^3)
5.
故此,冒泡排序法时间复杂度O(n^2)
选择排序的时间复杂度为O(n^2)
插入排序的时间复杂度为O(n^2)
快速排序的时间复杂度为O(n^2)
二分查找的时间复杂度为O(logn)
哈希查找的时间复杂度为O(1)