定义 堆是一棵完全二叉树,书中的每一个结点的值都不小于(不大于)其左右孩子结点的值。 可以分为最大堆/最小堆 操作 向下调整:自上而下的调整结点,与子结点比较,如果不满足就交换,直到叶子节点。时间复杂度O(logn);建堆:自下而上的遍历结点,时间复杂度O(n);删除:最后一个元素放到顶点,然后向下调整,整体数量-1,时间复杂度O(logn);增加:放到最后,向上调整,时间复杂度O(logn); 排序 相当于每次删除并记录一个结点(最顶上的结点),最后得到的就是一个排好的序列。