树和二叉树-中南大学
6.1 树的定义和基本术语 树是一类重要的非线性数据结构,是以分支关系定义的层次结构。 一、树的定义(递归定义) 1.树(Tree)是n(n≥0)个结点的有限集T, 如果n = 0,称为空树;否则: 有且仅有一个称为树的根(root)的结点。 其余结点可分为m(m0)个互不相交的有限集T1,T2,……Tm,其中每一个集合本身又是一棵树,称为根的子树(subtree)。 2、树的表示形式-—是一棵倒立的树 树的其它表示方式 二、树的基本术语 二、树的基本术语 利用结点总数与分支总数求解问题 思考题: 有n个结点的树,仅有度为0的叶子结点和 度为k的结点,问该树含有多少叶子结点? 二叉树的链式存贮结构---二叉链表 考虑: 二叉树的数据元素之间的关系 任一个结点,最多有两个孩子(直接后继元素) 二叉链表: 将一个结点分成三部分,一部分存放结点本身信息,另外两部分为指针,分别存放左、右孩子的地址。 链式存储结构--二叉链表存储示意图 分析:二叉树的递归定义: 二叉树的遍历过程(先根,中根,后根) 算法分析 3种遍历算法不同之处仅在于访问根结点、遍历左子树、遍历右子树的先后关系。若不考虑Visit()语句,则三种遍历方法完全相同(访问路径是相同的,只是访问结点的时机不同) 。 中序遍历的非递归算法思路: 设待遍历的二叉树的根结点指针为T(算法开始时,令p=T
原创力文档

文档评论(0)