Ruby中带排序数组的二进制搜索

这是一篇快速的文章,了解可以遍历二叉树的方式。 在二叉树中,每个节点最多可以有两个孩子。

预购遍历

首先记录根,然后向左移动(遍历)。 最后向右移动。

有序遍历

首先向左移动,直到您击中的节点没有子节点为止。 记录该节点,然后记录根。 然后移动到右边的子树。 通常,对于二叉搜索树,我们可以使用有序遍历以排序的顺序检索所有数据。

后遍历

后顺序遍历是首先遍历左侧子树。 然后遍历右边的子树。 最后,访问根目录。 当您删除树中的节点时,删除过程将处于后期状态。 也就是说,删除节点时,先删除左节点,再删除右节点,然后再删除节点本身。

这是我在Ruby中编写的遍历树的迭代搜索的实现(从排序数组开始):

而且因为为什么不这样做,我还写了一首有趣的诗来帮助记住这三种遍历方法之间的差异。 诗本身也“流逝”:例如。 “ 预订 ”,“订购”,“订购”。CS学生,欢迎您。

预购 您先登录根目录
然后左登录,然后右启动
按顺序完成 左至节点
记录下来,然后root,然后就好玩了
后订单 仍然可以开始登录
正确登录,然后根是最后一部分