美文网首页
五、树与二叉树

五、树与二叉树

作者: 林大飞 | 来源:发表于2018-11-01 11:07 被阅读0次

1.树与二叉树的基本概念,基本特征、名词术语;

1.树的定义

树(Tree)是 n(n≥0)个有限数据元素的集合。当 n=0 时,称这棵树为空树。在一棵非

树T中:

(1)有一个特殊的数据元素称为树的根结点,根结点没有前驱结点;

(2)若 n>1,除根结点之外的其余数据元素被分成 m(m>0)个互不相交的集合 T1,T2,...,

Tm,其中每一个集合 Ti(1≤i≤m)本身又是一棵树。树 T1,T2,...,Tm 称为这个根结点的子 树。

2.相关术语

(1)结点的度:结点所拥有的子树的个数称为该结点的度。

(2)叶结点:度为 0 的结点称为叶结点,或者称为终端结点。 

(3)分支结点:度不为 0 的结点称为分支结点,或者称为非终端结点。一棵树的结点除叶结点外,其余的都是分支结点。 

(4)孩子、双亲、兄弟:树中一个结点的子树的根结点称为这个结点的孩子。这个结点称为它孩子结点的双亲。具有同一个双亲的孩子结点互称为兄弟。 

(5)路径、路径长度:如果一棵树的一串结点 n1,n2,...,nk 有如下关系:结点 ni 是 ni+1 的父结点(1≤i<k),就把 n1,n2,...,nk 称为一条由 n1 至 nk 的路径。这条路径的长度是 k-1。 

(6)祖先、子孙:在树中,如果有一条路径从结点 M 到结点 N,那么 M 就称为 N 的祖先,而N称为M的子孙。

(7)结点的层数:树的根结点的层数为 1,其余结点的层数等于它的双亲结点的层数加1。

(8)树的深度:树中所有结点的最大层数称为树的深度。 

(9)树的度:树中各结点度的最大值称为该树的度。 

(10)有序树和无序树:如果一棵树中结点的各子树从左到右是有次序的,即若交换了某结点各子树的相对位置,则构成不同的树,称这棵树为有序树;反之,则称为无序树。 

(11)森林:零棵或有限棵不相交的树的集合称为森林。自然界中树和森林是不同的概念,但在数据结构中,树和森林只有很小的差别。任何一棵树,删去根结点就变成了森林。

1.二叉树

二叉树(Binary Tree)是 n 个有限元素的集合,该集合或者为空、或者由一个称为根(root)的元素及两个不相交的、被分别称为左子树和右子树的二叉树组成。当集合为空时,称该二 叉树为空二叉树。在二叉树中,一个元素也称作一个结点。二叉树是有序的,即若将其左、右子树颠倒,就成为另一棵不同的二叉树。即使树中结点只有一棵子树,也要区分它是左子树还是右子树。

2.完全二叉树与满二叉树的基本概念,二叉树的基本性质及其应用;

2.满二叉树与完全二叉树

(1)满二叉树

在一棵二叉树中,如果所有分支结点都存在左子树和右子树,并且所有叶子结点都在同 一层上,这样的一棵二叉树称作满二叉树。

(2)完全二叉树

一棵深度为 k 的有 n 个结点的二叉树,对树中的结点按从上至下、从左到右的顺序进行 编号,如果编号为 i(1≤i≤n)的结点与满二叉树中编号为 i 的结点在二叉树中的位置相同,则 这棵二叉树称为完全二叉树。完全二叉树的特点是:叶子结点只能出现在最下层和次下层, 且最下层的叶子结点集中在树的左部。显然,一棵满二叉树必定是一棵完全二叉树,而完全 二叉树未必是满二叉树。

3.二叉树的性质

性质 1 

性质 2 

性质 3   

性质4

3.二叉树的顺序存储结构与二叉链表存储结的基本原理;

4.二叉树的前序遍历、中序遍历、后序遍历和按层次遍历,重点是二叉树在以二叉链表作为存储结构基础上各种遍历算法(包括非递归算法)的设计与应用;

前序遍历

中序遍历

后序遍历

按层次遍历

非递归算法

5.二叉排序树的基本概念、建立(插入)、查找以及平均查找长度ASL的计算。

书中,需整理相关

w

相关文章

  • 数据结构与算法-二叉树02

    二叉树的定义 二叉树的特点 二叉树的五中基本形态 其他二叉树 斜二叉树 满二叉树 完全二叉树图片.png满二叉树一...

  • 树与二叉树

    **树 ** 二叉树 满二叉树 完全二叉树 三种遍历方法 树与二叉树的区别 二叉查找树 平衡二叉树 红黑二叉树

  • 树与二叉树

    树与二叉树

  • 四、树与二叉树

    四、树与二叉树 1. 二叉树的顺序存储结构 二叉树的顺序存储就是用数组存储二叉树。二叉树的每个结点在顺序存储中都有...

  • 数据结构-树

    树,二叉树的定义: 二叉树是N个节点的有效集,二叉树与无序数不同,二叉树每个节点只有两个子树。 二叉树的性质: 二...

  • 数据结构之二叉树与B树

    二叉树与B树 1.1二叉树的操作效率较高,但是也存在问题, 请看下面的二叉树 二叉树需要加载到内存的,如果二叉树的...

  • 数据结构3:二叉树详细介绍

    9.二叉树 9.1 二叉树的定义 9.2 满二叉树与完全二叉树 9.3 二叉查找树(也叫二叉搜索树,二...

  • 二叉树的镜像

    题目描述 操作给定的二叉树,将其变换为源二叉树的镜像。 输入描述 二叉树的镜像定义:源二叉树与镜像二叉树 代码 总...

  • 普通树与二叉树的相互转化及哈夫曼树的了解

    普通树与二叉树的相互转化及哈夫曼树的了解 二叉树与普通树的转化 二叉树的种种特性使得它更便于处理,如果能将普通树转...

  • 数据结构之逻辑结构_树

    满二叉树与完全二叉树 满二叉树:深度为k且含有(2的k方)-1个结点的二叉树。 完成二叉树:在第k层深度被填满之前...

网友评论

      本文标题:五、树与二叉树

      本文链接:https://www.haomeiwen.com/subject/xezpaftx.html