码迷,mamicode.com
首页 > Web开发 > 详细

js 实现哈夫曼树

时间:2018-10-27 11:00:02      阅读:314      评论:0      收藏:0      [点我收藏+]

标签:ons   tor   while   UNC   unshift   col   nbsp   prototype   color   

    ;(function(){
        var hash=function(arr){
            var me=this;
            me.arr=[];
            arr.forEach(i=>{
                me.arr.push({value:i});
            });
            me.createTree();
        };
        hash.prototype={
            constructor:hash,
            createTree:function(){
                var me=this;
                while(me.arr.length!==1){
                    var nodeA=me.findSmall(me.arr);
                    var nodeB=me.findSmall(me.arr);
                    var obj={};
                    obj.value=nodeA.value+nodeB.value;
                    obj.right=nodeB;
                    obj.left=nodeA;
                    me.arr.unshift(obj);
                }
            },
            findSmall:function(arr){
                var me=this;
                var tem=Infinity;
                var index=0;
                arr.forEach((i,ind)=>{
                    if(i.value<tem){
                        tem=i.value;
                        index=ind;
                    }
                });
                return  arr.splice(index,1)[0];
            }
        };
        new hash([9,12,6,3,5,15]);
    })();

 

js 实现哈夫曼树

标签:ons   tor   while   UNC   unshift   col   nbsp   prototype   color   

原文地址:https://www.cnblogs.com/me-data/p/9860389.html

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