顺序查找是按照序列原有顺序对数组进行遍历比较查询的基本查找算法。
所谓顺序查找,按照字面内容讲就是按照顺序逐个查找。
顾明思议,就像你拿着快递取货码去寻找货物。在规定的货架上逐个查找
首先,我们需要什么呢
什么都不需要,先看,只是我们需要搞懂查找算法具体是怎么工作的吧
在你的面前有10个柜子,门上有10把锁🔒每一把🔒只有一把钥匙,这时候呢,咱们不知道那把钥匙对应的是那一把锁。所以呢就需要一个一个的进行尝试。(以下柜子号只做显示作用)
手上只要1把钥匙 ,想开5号的柜子,却不知道哪个位置是5号(忽略柜子号)
这就需要一个一个去尝试
我们需要什么
首先,需要准备一个柜子(数组)
var cabinet=[1,2,3,4,5,6,7,8,9]
柜子里藏了好多东西
我们这时候需要一把钥匙进行逐个比对
比如我们要开5号柜子,拿出5号钥匙,去找柜子里面为5的柜子,所以这把钥匙的key相当于5
开箱过程
var findCabinet=function(key){
for(var i=0;i< cabinet.length;i++){
if(key===cabinet[i]){
return i
}
}
return '未有此箱子'
}
开箱
console.log(findCabinet(5))
打印台输出结果
下标为4
第一次比对
不符合要求,下一个 第二轮比对
第二次比对,仍不符合,继续比对 第三轮比对
仍不符合要求,继续比对 第四轮
继续进行下一轮比较 第五轮
对比成功,返回比对的索引值
顺序查找成功
另外,根据遍历不同往往影响一个算法的好坏。为此,可以通过使用不同的遍历方法来影响这个算法的效率
这是在程序当中,最简单也是最经典的算法,一个程序的功能,往往离不开算法,也许有1000中实现功能的方法,但是,选择最优、最高效、最节省资源的一种方法来实现,就往往能够体现出这个算法的价值,这个程序的价值。 算法,不仅仅局限于了解更多更复杂的算法,往往最注重的是基础,打捞基础,自己才有东西,才能够更加稳重的向上建设。