js 实现哈夫曼树
Posted 偏灬爱
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 实现哈夫曼树相关的知识,希望对你有一定的参考价值。
;(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 实现哈夫曼树的主要内容,如果未能解决你的问题,请参考以下文章