答案 0 :(得分:2)
Max-heap。你有一个例子,是的,你的树是最大堆。
此外,对于它是一个完整的树,每个级别都要填充节点,如this示例中所示。你的树是一棵完整的树,但不是一棵完整的树。希望这会有所帮助。
要成为binary search tree,必须遵守一些规则。 例如,您有根,左和右孩子。
2
1 3
左侧树(由此处的单个节点构成)必须具有比根更低的值,而右侧树(此处由1个单节点构成)必须具有大于根的所有值。所以不,你的树不是二叉搜索树。
关于第二个问题(你应该发布1个问题/帖子)...如果树不是二叉搜索树,最坏的情况是O(n)。如果它是二进制搜索树,在最坏的情况下会得到O(log n),如果你有一个平衡树!。
如果您有二叉树,最坏的情况是O(n),因为这是有效的binary search tree。
balanced binary search tree针对不同类型的操作进行了优化。在一般树中,根据它的构建方式,最坏的情况是O(n)!
答案 1 :(得分:0)
“二进制堆是使用二叉树创建的堆数据结构。” - Wikipedia
二叉树表示每个节点有2个子引用。
如果二叉树中的每个节点没有两个子节点,则它不是完整树。
O(logn)
用于搜索,因为在每个节点上,您将数据集分成两半(因为最多有2个子节点),向左或向右搜索,直到您到达叶子或您要搜索的数据。