首页 > 编程语言 > 详细

数据查找之80-20原则的JavaScript代码实现

时间:2017-01-15 00:23:28      阅读:176      评论:0      收藏:0      [点我收藏+]

  作为前端开发人员,无论在工作还是找工作(笔试/面试),或多或少会涉及一些数据结构的知识。

  数据结构即计算机存储和组织数据的方式。

  常用的结构:数组、栈、队列、链表、树、图、堆和散列表

  关于数据,我们常会用到排序、查找(检索)等操作。常用的排序有冒泡排序、选择排序、插入排序、希尔排序、归并排序和快速排序。常用的查找方式有:顺序查找和二分查找。其中顺序查找中,80/20规则由利于数据的组织与管理,提高数据查找效率。

      80/20原则的前提是待查找数据的存储位置在数组的后80%里,其驱动力是数据的查找次数。即当一个数位于数组的后80%部分时,每对其查找一次,该数据就会向前位移一位。80/20原则的JavaScript实现代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>顺序查找之80-20原则的算法实现</title>
</head>
<body>
    <script type="text/javascript">
    //交换函数
        function swap(arr,a1,a2){
            var temp = arr[a1];
            arr[a1] = arr[a2];
            arr[a2] = temp;
        }
    //主要代码逻辑
        function SquSerch(arr,data){
            var n = arr.length;
            for (var i=0;i<n;i++){
                if(arr[i]==data&&i>(n*0.2)){
                    swap(arr,i,(i-1));
                }
            }
            return -1;
        }
    //实例演示:
        var Num=[23,4,7,8,5,2,9];
        SquSerch(Num,5);
        SquSerch(Num,5);
        SquSerch(Num,5);
        SquSerch(Num,5);
        console.log(Num);
    </script>
</body>
</html>

运行结果:

技术分享

可知,随着数据“5”查找次数的增多,其位置在逐渐往左移:由原来的第5位移到了第2位上。

 

数据查找之80-20原则的JavaScript代码实现

原文:http://www.cnblogs.com/hxuena/p/6286365.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!