Swift中的二叉搜索树

从以前的帖子:

在Swift中使用数据结构
因此,基本上我们已经学习了数据结构并在C / C ++中实现。
在这个故事中,您将看到学习一些基本数据的方法。

因此,我也前进到也要在二进制搜索树上进行写操作。

二进制搜索树是满足以下属性的树:

1.左子树中所有节点的值均小于根节点中的值。
2.右子树中所有节点的值都大于根节点中的值。
3.根节点的左和右子树也是BST。

要从这些遍历手动构建树,请遵循以下https://crackinterviewtoday.wordpress.com/2010/03/15/rebuild-a-binary-tree-from-inorder-and-preorder-traversals/

正在搜寻

搜索机制类似于上面提到的具有相同2条规则的插入机制。 仅当节点数据与输入元素匹配时,它才会成功返回, 否则将返回无效消息,如下所示。

func search(element:T){…} :可供用户搜索元素。

private func search(_ rootNode:TreeNode ?, _ element:T){…} :这是将搜索元素的递归函数。 因此,如果element> rootNode.data ,它将递归调用根的右子树节点, 否则调用左子树节点。

由于树中存在E节点,因此返回成功结果NODE FOUND:E 。 由于没有节点包含等于N的数据,因此返回INVALID NODE:N

因此,这是泛型树的概述。 希望您对泛型有更多的了解。

在下一个故事中,我们将讨论最后一种遍历类型:Level Order Traversing😄……敬请期待😜!!!

使用Swift在BST中进行级别订单遍历
让我们先回顾一下, 然后再开始… medium.com

快乐编码😃!