zoukankan      html  css  js  c++  java
  • 检索算法——顺序查找(最大值、最小值、自组织数据)

        /* function seqSearch(arr, data) {//等价于:arr.indexOf(data),内置indexOf()方法效率较高
            for ( var i = 0; i < arr.length; ++i) {
                if (arr[i] == data) {
                    return i;
                }
            }
            return -1;
        } */
        /* function findMin(arr) {//easy
            var min = arr[0];
            for ( var i = 1; i < arr.length; ++i) {
                if (arr[i] < min) {
                    min = arr[i];
                }
            }
            return min;
        }
        function findMax(arr) {//easy
            var max = arr[0];
            for ( var i = 1; i < arr.length; ++i) {
                if (arr[i] > max) {
                    max = arr[i];
                }
            }
            return max;
        } */
        function swap(arr, index, index1) {
            temp = arr[index];
            arr[index] = arr[index1];
            arr[index1] = temp;
        }
        function seqSearch(arr, data) {
            for ( var i = 0; i < arr.length; ++i) {
                if (arr[i] == data) {
                    if (i > 0) {
                        swap(arr, i, i - 1);//1.自组织数据,优化效果
                    }
                    return true;
                }
            }
            return false;
        }
        var numbers = [ 5, 1, 7, 4, 2, 10, 9, 3, 6, 8 ];
        for ( var i = 1; i <= 3; i++) {
            seqSearch(numbers, 4);
            document.write(numbers + "<br />");
        }
        function seqSearch1(arr, data) {//2.使用自组织数据,优化查找
            for ( var i = 0; i < arr.length; ++i) {
                if (arr[i] == data && i > (arr.length * 0.2)) {
                    //使用“ 80-20 原则” 的概率分布——帕累托( Pareto) 分布
                    swap(arr, i, 0);
                    return true;
                } else if (arr[i] == data) {
                    return true;
                }
            }
            return false;
        }
        for ( var i = 1; i <= 3; i++) {
            seqSearch(numbers, 4);
            document.write(numbers + "<br />");
        }
  • 相关阅读:
    将表单赋予对对象
    sql server 锁
    设置SQL server服务器的dbo架构
    用ILSpy查看Session.SessionID的生成算法
    c#3.0新特性
    解决文件上传插件Uploadify在火狐浏览器下,Session丢失的问题
    VS2012 集成 IL DASM IL微软中间语言查看器
    认识
    操作符重载
    博客搬家了
  • 原文地址:https://www.cnblogs.com/feile/p/5399059.html
Copyright © 2011-2022 走看看