词条 | 二叉堆 |
释义 | 二叉堆是一种特殊的堆,二叉堆是完全二元树或者是近似完全二元树。二叉堆满足堆特性:父结点的键值总是大於或等於任何一个子节点的键值。 § 存储 二叉堆一般用数组来表示。例如, § 根节 点在数组中的位置是0,第n个位置的子节点分别在2n+1和 2n+2。因此,第0个位置的子节点在2和3,1的子节点在4和5。以此类推。这种存储方式便於寻找父节点和子节点。 如下图的两个堆: 1 11 / \\ / \\ 2 3 9 10 / \\ / \\ / \\ / \\ 4 5 6 7 5 6 7 8 / \\ / \\ / \\ / \\ 8 9 10 11 1 2 3 4 将这两个堆保存在以1开始的数组中: 位置: 1 2 3 4 5 6 7 8 9 10 11 左图: 1 2 3 4 5 6 7 8 9 10 11 右图: 11 9 10 5 6 7 8 1 2 3 4 § 基本操作 在二叉堆上可以进行插入节点、删除节点、取出值最小的节点、减小节点的值等基本操作。 |
随便看 |
百科全书收录594082条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。