0

我有一个构建二叉树的任务如下:

  1. 建立理想的平衡树。
  2. 查找具有指定值的节点数量
  3. 将树转换为二叉搜索树

所以......对我来说奇怪的是:我在任何地方都读到二叉树,它们从不包含具有重复值的节点,但在第二个任务中,我必须找到数学输入值的节点数量......如果它不只是 0 或 1我按规则建树?

或者,也许,我构建的第一棵树必须是无序的并且允许重复?如果我将树重建为二叉搜索树,我只需要删除重复项并通过左少右多规则对节点进行排序?

4

3 回答 3

3

二叉树对重复值没有限制。二叉树是每个节点最多有 2 个子节点的树。就是这样。

于 2012-05-22T08:04:34.420 回答
1

二叉搜索树可能有重复项,例如多重集和多重映射。只需定义是否将具有相同键的元素放在给定节点的右子树或左子树中,并且没有任何实质性变化。

编辑:同样在第二个任务中,你不需要二叉搜索树。如果我做对了,你那里只有一棵二叉树(即它没有排序)

于 2012-05-22T08:05:53.067 回答
1

您可以轻松地将其中一项规则设置为 >= 而不仅仅是 > 从而轻松找到所有元素...

于 2012-05-22T08:06:18.243 回答