javascript 搜索算法(Search)说明

来源:互联网 发布:淘宝上怎么买到电视棒 编辑:程序博客网 时间:2024/06/07 09:46

搜索算法

搜索算法,在我们日常写代码上,搜索是一个既熟悉又陌生的一种算法。用的很多,但认真了解却不太深刻。来介绍一下最常用搜索算法:顺序搜索和二分搜索。

顺序排序

顺序或线性搜索是最基本的搜索算法。它的机制是,将每一个数据结构中的元素和我们要找的元素做比较。顺序搜索是最低效的一种搜索算法。

functionitem){    for(var i=0;i<array.length;i++){        if(item === array[i]){            return i;        }    }    return -1;}

步骤如下图:


二分搜索

二分搜索算法的原理和猜数字游戏类似,就是那个又人说“我正想着一个1到100的数字”的游戏。我们每回应一个数字,那个人就会说这个数字是高了、低了还是对了。

var array = [8,7,6,5,4,3,2,1];function(item){    var low = 0,        high = array -1,        mid, element;    while(low <= high){        mid = Math.floor((low + high) /2);        element = array[mid];        if(element < item){            low = mid + 1;        }else if(element > item){            high = mid - 1;        }else{            return mid;        }    }    return -1;}

步骤如下图:

原创粉丝点击