以二分查找为例,看看“掌握算法的几个层次”
掌握算法的几个层次
在前面,我们讲过学习一个算法的几个层次:
enter image description here理论联系实际
现在我们就以刚刚学习过的经典二分查找算法为例,来讲解一下这几个层次对应到实际中是什么样子的。
Level - 1:听说
知道有个算法叫做“二分查找”,知道这个算法的目的是在一个有序的序列里找到目标数所在的位置,或者确认其不存在该序列中!
Level -2:了解
了解二分查找的基本原理,能够用自然语言描述出算法运行的过程。
知道二分查找和顺序查找不同,不是“挨着找“的,是”跳着找“的,而且是每次跳一半儿,所以它也叫折半查找。
因为跳跃的缘故,所以很多元素的数据值根本没有被读取过,还要保证查找结果的正确性,那么就必须是一个有序的数组。
它的优点是快,但却无法处理数列无序的情况。
Level-3:理解
有基本的数据结构的知识,掌握最基础的序列结构:数组。并知道二分查找所采用的数据结构就是逻辑上的数组。
知道二分查找算法是在一个承载了有序数列的逻辑数组上寻找目标数的过程。
面对一个具体的待查数组和目标数,可以人肉模拟计算机,实现算法(例如向下图那样,在数列中寻找51)。
网友评论