翻开目录回忆我能想到什么
1.大O表示法 2.二分查找 3.旅行商问题
一。大O表示法(时间复杂度)
O(1)
O(log n) 二分查找
O(n)
O(nlog n)
O(n!) 旅行商问题
时间复杂度是计算最坏情况下需要操作数(执行次操作)
二。二分查找
时间复杂度 O(log n)
查找思路 :(首位和末尾都指是索引号)
- 记录首位索引号和末位索引号
- 得到二分之一(首位+末尾),称为二分索引号,他的值称为二分值
- 将的到的二分值与查找的值比较
- 如果二分值大,则二分值的索引号成为新的末位索引号
- 如果二分值小,则二分值的索引号成为新的首位索引号
- 直到二分值等于要查找的值
- 循环条件是 首位索引号小于等于末尾索引号
三。旅行商问题
一个推销员需要去n个城市推销他的产品,并且返回初始的城市,求他经历最短的路程的城市顺序?
总共有An n(n*(n-1)(n-2)···21)种方法进行遍历。当n增大时,数值会很大
时间复杂度为O(n!)
采用不够精确的算法进行逼近,当n值很大时,误差率保持较低即可。
去书中查找发现我的回忆的不对与补充
仅当列表是有序时,二分查找才管用!!
简单查找:时间复杂度O(n)
log n**2