我见过的大多数 BST 示例都是以下形式
Class Node {
Node left;
Node right;
Key key;
Value value;
}
但是 BSTs 看起来像是具有额外约束的二进制堆的一种特定形式,即左子值应小于父值,父值应小于右节点值。
使用数组很容易实现二进制堆。为什么不使用数组创建 BST 以确保维护这个额外的规则?这样做有什么缺点?
我见过的大多数 BST 示例都是以下形式
Class Node {
Node left;
Node right;
Key key;
Value value;
}
但是 BSTs 看起来像是具有额外约束的二进制堆的一种特定形式,即左子值应小于父值,父值应小于右节点值。
使用数组很容易实现二进制堆。为什么不使用数组创建 BST 以确保维护这个额外的规则?这样做有什么缺点?