《图解算法》摘要
平时知道优缺点,校招要懂算法实现;
算法简介
- 二分查找
def binary_search(list, item):
low = 0
high = len(list) - 1
while low < high:
mid = (low + high) / 2
guess = list[mid]
if guess == item:
return mid
elif guess < item:
low = mid + 1
else:
high = mid - 1
return None
- 大O表示法指出了算法的增速,即算法有多快,一些常见的大O运行时间:
- O(log(n)) ,也叫对数时间,包括二分查找;
- O(n) ,也叫线性时间,包括简单查找;
- O(n∗log(n)) ,包括快速排序;
- O(n2) ,包括选择排序
- O(n!) ,旅行商问题
选择排序
行为 | 数组 | 链表 |
---|---|---|
读取 |