Swift 数据结构 - 二叉树(Binary Tree)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swift 数据结构 - 二叉树(Binary Tree)相关的知识,希望对你有一定的参考价值。

参考技术A 1、二叉树:在二叉树中,每个节点最多有两个节点,一般被称为左子节点和右子节点,并且二叉树的子数有左右之分,其次序不能任意颠倒

以下是在Swift中实现通用二叉树的方法:

例如,这是一个二叉树,表示一系列算术运算,(5 * (a - 10)) + (-4 * (3 / b)):

添加description属性以便打印树:

另一个有用的属性是计算树中的节点数:

遍历二叉树有三种方法:

前序遍历: 根结点-->左子树-->右子树。
中序遍历: 左子树-->根结点-->右子树。
后序遍历: 左子树-->右子树-->根结点。

以下是 Swift 实现的方法:

题目: 已知前序遍历 ABDGHCEIF 及中序遍历 GDHBAEICF,求出后序遍历顺序?

解答:

题目: 已知后序遍历 GHDBIEFCA 及中序遍历 GDHBAEICF,求出后序遍历顺序?

解答:

以上是关于Swift 数据结构 - 二叉树(Binary Tree)的主要内容,如果未能解决你的问题,请参考以下文章

数据结构与算法-二叉树(Binary Tree)

binary-tree-inorder-traversal——二叉树中序遍历

数据结构 -- 二叉树(Binary Search Tree)

刷题--二叉树(2)

十、二叉树(Binary Tree)

Aizu - ALDS1_7_B Binary Trees(二叉树的表达)