堆分类:最大堆、最小堆
堆别名:优先队列
堆应用:求topK,堆排序
-
堆模板
function Heap(_arr, _compareFunc){ // 私有属性 let heap = []; // 对象公有属性 this.size = 0; // 私有方法 // 计算左、右、父节点索引 let left = () => { }; let right = () => { }; let parent = () => { }; // 堆的shiftUp、shiftDown操作 let shiftUp = () => { }; let shiftDown = () => { }; // 建堆函数 let createHeap = () => { }; // 对象公有方法 this.insert = () => { }; // 插入新元素 this.pop = () => { }; // 堆顶出堆 // 初始化操作 console.error('未进行堆初始化'); // 属性初始化 // 建堆 }
-
堆简单实现
function Heap(_arr