这是我到达BST的方式,我将在底部出现。
主要的管理规则是必须适用于BST的规则:如果你要去"命令"元素,节点左子树中的每个节点都必须被考虑"之前"在"之后,必须考虑节点和右子树中的每个节点。节点。
由于您列出了数字,并且没有更多关于排序规则的说明,因此假设只是数字排序。
因此,在放置节点时,我们必须按照以下步骤仔细查找每个节点的正确位置:
- 决定我们是否可以在当前级别找到它的位置(如果有更多节点的空间)。为了找到这个,如果我们不关心BST规则,我们会找到我们可以放置的所有地方。然后检查每个这样的位置,看看它是否是合法的位置。应该只有一个。
- 如果我们找到这样的地方,请将其放在那里,如果没有,请转到下一级并将其放在最左边的合法位置。
- 在现有级别放置更多节点时,我们从左向右。
醇>
所以这里是给定数字的粗糙:
- 第一级只包含一个数字,因此这将是99。
- 第二级可以包含1或2个数字,因此65必须在这里,但也许53不在。由于65小于99,它必须从99左下方放置。可以从99下方向右下方放置53个吗?不,所以它必须在第三级。
- 所以53在第三级,它必须从65左下。
- 80岁怎么样?它将位于第三级,从65开始向下,或在第四行。可以在第四行吗?它要么必须小于53,要么大于53,小于65.它大于65,所以它不能在第四级,所以它也必须在第三级,从65下降到右边。
- 接下来是22,它不到65,因为我们现在开始4级很容易放置,它必须从53下方放置。
- 接下来,62,因为它仍然在上面的水平范围内,我们只需找到适合它的地方。由于它大于53,但不大于65,因此必须从53下方放置。
- 98大于80.由于它仍然小于99,它仍然在这个主要的左子树中有一个位置99,所以我们将它从80下方放置。
- 21从22开始左下方。
- 49小于53,但大于22,所以它从22下方放置。
- 82必须从62开始左下或右下放置,从98开始,从左下或右下放置,或者开始换行。该行中唯一合法的位置是从98开始。
- 36大于21,但不大于49,所以它必须从21向下或从49向左下方放置。由于36也大于22,它必须从左下方49。
- 最终的数字51大于51,但不大于53,所以它必须放在53的左子树中的某个位置,然后我们将它从49下方放置。
醇>
最终BST:
99
/
65
/ \
53 80
/ \ \
22 62 98
/ \ /
21 49 82
/ \
36 51