1.1 引言
算法 是一组完成任务的指令, 任何代码片段都可视为算法。
实用技术 : AI算法、数据库算法
书籍是用Python编写
1.2 二分查找
二分查找是一种算法 其输入是一个有序的元素列表
如果要查找的元素包含在列表中 二分查找返回其位置 否二返回 null
一般而言 对于包含n各元素的列表 使用二分查找 最多需要 LOG2(N)
(对数是幂的逆运算)
运行时间 应选择效率高的算法 以最大限度地减少运行时间 或 占用空间
1.3 大O表示法
仅知道算法需要到场时间才能运行完毕还不够 还需要知道运行时间如何随列表增长而增加
大O表示法指出了算法有多快
检查长度为n的列表 二分查找需要执行LOG2(N)次操作
使用大O表示法 运行时间为 O(LOG2(N))
简单查找的大O表示法 O(n) 也叫做线性时间
O(N*LOG2(N)) 快速排序 速度较快的排序算法
O(N^2) 选择排序 速度较慢的排序算法
O(N!) 旅行商问题解决方法 非常慢的算法 (阶乘)
旅行商 O(N!)
旅行商要去5个城市 同时要确保旅行最短 为此 要考虑前往这些城市的各种可能顺序。5个城市 有 54321=120种不同的排列顺序。