您的位置:逆风者 数据结构 正文
原作者:www.upwinder.com 添加时间:2007-09-02 原文发表:2007-08-31 人气:59 来源:未知

教学目的: 掌握树、二叉树的基本概念和术语,二叉树的性质

教学重点: 二叉树的定义、二叉树的性质

教学难点: 二叉树的性质

授课内容:

逆风者

一、树的定义:

树是n(n>=0)个结点的有限集。在任意一棵非空树中:

(1)有且仅有一个特定的称为根的结点;

(2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2,...Tm,其中每一个集合本身又是一棵树,并且称为根的子树.

二、树的基本概念:

树的结点包含一个数据元素及若干指向其子树的分支。

结点拥有的子树数称为结点的

度为0的结点称为叶子终端结点

度不为0的结点称为非终端结点分支结点

树的度是树内各结点的度的最大值。

结点的子树的根称为该结点的孩子,相应地,该结点称为孩子的双亲

同一个双亲的孩子之间互称兄弟

结点的祖先是从根到该结点所经分支上的所有结点。

以某结点为根的子树中的任一结点都称为该结点的子孙

结点的层次从根开始定义起,根为第一层,根的孩子为第二层。其双亲在同一层的结点互为堂兄弟。树中结点的最大层次称为树的深度,或高度。

如果将树中结点的各子树看成从左至右是有次序的,则称该树为有序树,否则称为无序树。

森林是m(m>=0)棵互不相交的树的集合。

三、二叉树的定义

二叉树是另一种树型结构,它的特点是每个结点至多只有二棵子树(即二叉树中不存在度大于2的结点),并且,二叉树的子树有左右之分,其次序不能任意颠倒。

一棵深度为k且有2(k)-1个结点的二叉树称为满二叉树,如图(a),按图示给每个结点编号,如果有深度为k的,有n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树中编号从1至n的结点一一对应时,称之为完全二叉树。

二叉树的定义如下:

ADT BinaryTree{

数据对象D:D是具有相同特性的数据元素的集合。

数据关系R:

基本操作P:

InitBiTree(&T);

DestroyBiTree(&T);

CreateBiTree(&T,definition);

ClearBiTree(&T);

BiTreeEmpty(T);

BiTreeDepth(T);

Root(T);

Value(T,e);

Assign(T,&e,value);

Parent(T,e);

LeftChild(T,e);

RightChild(T,e);

LeftSibling(T,e);

RightSibling(T,e);

InsertChild(T,p,LR,c);

DeleteChild(T,p,LR);

PreOrderTraverse(T,visit());

InOrderTraverse(T,visit());

PostOrderTraverse(T,visit());

LevelOrderTraverse(T,Visit());

}ADT BinaryTree

三、二叉树的性质

性质1: 在二叉树的第i层上至多有2的i-1次方个结点(i>=1)。 性质2: 深度为k的二叉树至多有2的k次方减1个结点(k>=1)。 性质3: 对任何一棵二叉树T,如果其终端结点数为n0,度为2的结点数为n2,则n0=n2 1。 性质4: 具有n个结点的完全二叉树的深度为|log2n| 1 性质5:

如果对一棵有n个结点的完全二叉树的结点按层序编号,则对任一结点i(1=<i=<n)有:
(1)如果i=1,则结点i是二叉树的根,无双亲;如果i>1,则双亲PARENT(i)是结点i/2
(2)如果2i>n,则结点i无左孩子(结点i为叶子结点);否则其左孩子LCHILD(i)是结点2i
(3)如果2i 1>n,则结点i无右孩子;否则其右孩子RCHILD(i)是结点2i 1

相关文章

数据结构教程 第三十八课 文件概念,顺序文
数据结构教程 第十二课 实验二 循环链表实验
数据结构教程 第十一课 栈的应用
数据结构教程 第二十八课 图的存储结构
数据结构教程 第三十七课 实验八 排序实验
二叉树基本操作的程序实现
数据结构教程 第二课 抽象数据类型的表示与
数据结构教程 第七课 实验一 线性表的顺序存
数据结构教程 第十八课 数组的顺序表示与实
数据结构教程 第三十四课 插入排序,快速排
数据结构教程 第二十二课 实验五 数组实验
数据结构教程 第六课 线性表的顺序表示和实
数据结构教程 第二十四课 遍历二叉树
数据结构教程 第三十一课 动态查找表
数据结构教程 第三十二课 哈希表(一)
数据结构教程 第十六课 串操作应用举例
排序及查找方法
数据结构教程 第二十六课 图的定义与术语
数据结构教程 第十课 栈的表示与实现
数据结构--序言

相关评论


本文章所属分类:首页 数据结构

  热门关键字: