阿畅的博客
首页
JavaScript
JavaScript
js 面试题
js 数据结构与算法
js 算法与数据结构
react
react
taro
Vue
Vue 原理
Vue 项目实战
webpack
TypeScript
nodejs
sequelize
CSS+HTML
http
GitHub
#
堆是什么
堆是一个特殊的“完全二叉树”
所有的节点都大于等于(最大堆)或小于等于(最小堆)它的子节点
#
特点
JS 中通常使用数组表示堆
任意节点的左侧子节点位置是 2 * index + 1
任意节点的右侧子节点位置是 2 * index + 2
父节点位置是(index - 1)/ 2
#
堆的应用
堆能高效、快速地找出最大值和最小值。时间复杂度:O(1)
找出第 K 个最大元素或最小元素
←
图是什么
分而治之是什么
→