分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

js 实现哈夫曼树

发布时间:2023-09-06 02:19责任编辑:林大明关键词: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 实现哈夫曼树

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

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved