首页投稿(暂停使用,暂停投稿)程序员

数据结构学习第四弹 树与二叉树(1)

2016-08-03  本文已影响176人  Richie_ll

树,这是一棵树,这是一种非线性结构。在前面我们所学习的都是线性结构,而他们的特点是表中的元素相互之间都是线性关系,逻辑较为清晰,容易进行查找、插入和删除操作,这种数据结构描述的是一种元素只唯一前驱元素和唯一后继元素的模型。
而树这种非线性结构是相对于线性结构而言的,相比起线性结构中元素之间一对一的关系,树型结构中元素之间是一对多的关系。树是一种十分重要的非线性结构。

树的基本概念

树的定义

树是n(n>=0)个元素的的有限集合,既然被叫做树,那么自然有根有叶子。在任何一颗非空树中:

这真的是个很绕的东西,不过由此可以看出,树的定义是具有递归性的,即树中有树,当一颗树只有一个节点时,该节点被称为根节点。当有多个节点时,除了根节点外,它还有多棵子树,每棵子树都互不相交。

树的相关术语


一般而言,就像图片描述的,图中的圆圈代表节点,线代表边,圈内的东东就是这个节点的信息。

二叉树

树型结构中有一种特殊的树叫做二叉树,二叉树的结构也比较简单,规律性较强,并且可以证明,即使一般的树也能转化成二叉树。而且许多实际问题抽象出来的数据结构往往就是二叉树的形式。

二叉树的定义

二叉树是个有限元素的集合,该集合为空或者由一个根和两个互不相交的左子树和右子树组成。在二叉树中,一个元素也称为一个节点。

二叉树的基本特征:

二叉树有五中基本形态:

在二叉树中有两种特殊的二叉树:满二叉树和完全二叉树

满二叉树

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


满二叉树

完全二叉树

一棵深度为k且具有n个节点的二叉树,对树中节点按从上至下,从左至右的顺序进行编号,当且仅当节点都与深度为k的满二叉树中编号从1至n的节点一一对应
时,才称这棵二叉树为完全二叉树。显然满二叉树也是完全二叉树的一种。
完全二叉树的特点:

上一篇下一篇

猜你喜欢

热点阅读