优先队列和堆排
优先队列
定义:可以移除最大或最小的元素。
API:插入,删除,是否为空,大小
应用:数值计算,数据压缩,图搜索,人工智能,统计学,操作系统,离散优化,垃圾过滤
初级实现:数组实现(无序),数组实现(有序),链表实现。
二叉堆
数组实现,实际上并没有显式的连接。
堆有序:当一棵二叉树的每个节点都大于等于它的两个子节点时,它被称为堆有序。
根节点是堆有序的二叉树中的最大节点。
二叉堆是一组能够用堆有序的完全二叉树排序的元素,并在数组中按照层级存储(不使用数组的第一个位置)
主要API在于:swim(),sink();