博客说明由于最近开始练习写作,文中所涉及的信息来源于网络和个人总结,意在做为个人学习和经验的总结。如有侵权请联系我删除!大家好,继续今天的数据结构系列。今天的主题是堆。像往常一样,我们不介绍概念性的东西。还有很多其他的文章,主要是从代码实现的层面。首先,实现堆构造器exportdefaultclassHeap{/***@constructsHeap*@param{Function}[comparatorFunction]*/constructor(comparatorFunction){if(new.target===Heap){thrownewTypeError("不能直接构造Heap实例");}//堆的数组表示。this.heapContainer=[];this.compare=newComparator(comparatorFunction);}add添加方法/***@param{*}item*@return{Heap}*/add(item){this.heapContainer.push(item);this.heapifyUp();归还这个;}findFind/***@param{*}item*@param{Comparator}[comparator]*@return{Number[]}*/find(item,comparator=this.compare){constfoundItemIndices=[];for(letitemIndex=0;itemIndex
