码迷,mamicode.com
首页 > 编程语言 > 详细

JS数据结构与算法 - 查找(顺序、二分)

时间:2020-07-13 21:59:09      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:func   sort   quic   asc   item   顺序查找   cti   选中   lse   

时间复杂度

技术图片

顺序查找(O(n)

字面意思,代码略

?二分查找(O(nlogn)

这个算法要求被搜索的数据结构已排序。以下是该算法遵循的步骤。

(1) 选择数组的中间值。

(2) 如果选中值是待搜索值,那么算法执行完毕(值找到了)。

(3) 如果待搜索值比选中值要小,则返回步骤1并在选中值左边的子数组中寻找。

(4) 如果待搜索值比选中值要大,则返回步骤1并在选种值右边的子数组中寻找。

技术图片

function Search() {
    this.binarySearch = function (item) {
        //this.quickSort();  //排序代码
        var low = 0,
            high = array.length - 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;
    };
}

JS数据结构与算法 - 查找(顺序、二分)

标签:func   sort   quic   asc   item   顺序查找   cti   选中   lse   

原文地址:https://www.cnblogs.com/L-xmin/p/12699555.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!