我有一个大小为 10 的整数数组。我需要绘制完整的二叉树。现在我需要使用 siftup 过程插入其他三个元素。显示每次插入后的最大堆。
我不确定每次插入后显示的最大堆是什么。这是否意味着每次插入一个元素时我都需要显示最大堆的大小?
定义(最大堆) HEAP(X) 令 X 是一个完全有序的集合。X 上的堆要么是空的,∅,要么是一棵完全二叉树,t,包含 nt ≥ 1 个节点,每个节点都分配有 X 的值,这样:节点 i 的值 ≤ 节点 i 的父节点的值, 我 = 2,3,...,nt。堆的大小是树中节点的数量。当且仅当它的大小为 0 时,堆是空的。
最大堆的定义是这样的,但对我来说似乎有点模棱两可。