使用Swift在BST中进行级别订单遍历

开始之前,让我们先回顾一下…

在Swift中使用数据结构
因此,基本上我们已经学习了数据结构并在C / C ++中实现。
在这个故事中,您将看到学习一些基本数据的方法。 Swift中的二叉搜索树
从以前的帖子开始:https: //medium.com/@abhishekthaplithapliyal/playing-with-data-structure-in-swift-ccd8efca9611 medium.com

从最近的两个故事中,我们可以获得一些信息。 关于堆栈和树木。 让我们将它们放到一个新的水平,并结束本系列的其他内容。

此处节点1的级别为1,节点2和3的级别为2,节点4,5,6和7的级别为3。

现在,在进行级别顺序遍历的情况下,从根节点开始,从左到右逐一遍历每个级别。 如下所示

所以最终的内联输出就像
20、9、49、5、12、23、52、15、50

就像我们从左到右逐行编写。

那么,遍历为何排队的背后的策略是什么?
在这种情况下,队列是遍历的最简单方法。 与在队列中一样,操作以FIFO方式进行,即首先进行优先操作,并且在进行层顺序遍历时,我们需要首先访问根节点及其子节点,依此类推。

队列

让我们简要介绍一下队列。 队列具有类似数组的结构,其中元素是从后面添加的,因此操作称为Enqueue ,元素是从前面删除的,称为Dequeue

这就像售票柜台中的一条线,在该行的最后一行添加了新人,而票证则被卖给该行的第一人。

太好了!

BST就在我这边。 希望你喜欢。 直到那时
快乐—编码😄😄!!!