应用版侧重于深入具体的实战中去学习,去体验。本节以经典的Python猜数字程序为例,从用户的视角出发,发现相比顺序猜测与随机猜测,采用二分查找算法(折半搜索算法)能够最快猜出答案,由此得出结论:好的算法可以事半功倍。大O表示法描述了算法的时间规模,即时间增长的速度,相当于算法的“加速度”。通过计算时间规模的大小,我们就能对不同算法的时间复杂度进行比较,进而得知不同算法运行的快慢。常用的时间复杂度关系如下:
O(1)<O(logn)<O(n)<O(nlogn)<O(n^2)<O(n^3)<O(2^n)<O(n!)<O(n^n)
二分查找算法的时间复杂度为O(logn),顺序查找的时间复杂度为O(n),O(logn)<O(n),故采用二分查找算法猜数字更高效;旅行商问题的时间复杂度为O(n!),在问题规模较大时运行就很慢了。
页:
1
[2]