数据结构树_二叉树的定义和二叉树性质与存储本课件.ppt

数据结构树_二叉树的定义和二叉树性质与存储本课件.ppt

ID:57126811

大小:706.00 KB

页数:38页

时间:2020-08-01

数据结构树_二叉树的定义和二叉树性质与存储本课件.ppt_第1页
数据结构树_二叉树的定义和二叉树性质与存储本课件.ppt_第2页
数据结构树_二叉树的定义和二叉树性质与存储本课件.ppt_第3页
数据结构树_二叉树的定义和二叉树性质与存储本课件.ppt_第4页
数据结构树_二叉树的定义和二叉树性质与存储本课件.ppt_第5页
资源描述:

《数据结构树_二叉树的定义和二叉树性质与存储本课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第六章树和二叉树(一)6.1树的类型定义6.2二叉树的类型定义6.3二叉树的存储结构6.4二叉树的遍历6.5线索二叉树6.6树和森林的表示方法6.7树和森林的遍历6.8哈夫曼树与哈夫曼编码数据对象D:D是具有相同特性的数据元素的集合。若D为空集,则称为空树。否则:(1)在D中存在唯一的称为根的数据元素root;(2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2,…,Tm,其中每一棵子集本身又是一棵符合本定义的树,称为根root的子树。数据关系R:树的类型定义基本操作:查找类插入类删除类Root(T)//求树的根结点查找类:Value(T,cur_e)//求

2、当前结点的元素值Parent(T,cur_e)//求当前结点的双亲结点LeftChild(T,cur_e)//求当前结点的最左孩子RightSibling(T,cur_e)//求当前结点的右兄弟TreeEmpty(T)//判定树是否为空树TreeDepth(T)//求树的深度TraverseTree(T,Visit())//遍历InitTree(&T)//初始化置空树插入类:CreateTree(&T,definition)//按定义构造树Assign(&T,cur_e,value)//给当前结点赋值InsertChild(&T,&p,i,c)//将以c为根的树插入为结点p的第

3、i棵子树ClearTree(&T)//将树清空删除类:DestroyTree(&T)//销毁树的结构DeleteChild(&T,&p,i)//删除结点p的第i棵子树基本术语树(Tree):是n个结点的有限集(n>=0)。在任意一棵非空树中,有且仅有一个特定的称为根的结点(root);当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2,…,Tm,其中每个集合Ti本身又是一棵符合本定义的树,并且称为根root的子树。ABCDEFGHIJMKLA(B(E,F(K,L)),C(G),D(H,I,J(M)))T1T3T2树根例如:1、结点:2、结点的度:3、树的度:4、

4、叶子结点:5、分支结点:数据元素+若干指向子树的分支分支的个数树中所有结点的度的最大值度为零的结点度大于零的结点DHIJM(终端结点)(非终端结点)6、(从根到结点的)路径:7、孩子结点、双亲结点兄弟结点、堂兄弟结点祖先结点、子孙结点8、结点的层次:9、树的深度:由从根到该结点所经分支和结点构成ABCDEFGHIJMKL假设根结点的层次为1,依次加1树中叶子结点所在的最大层次树的示意图:根结点叶子结点分支结点子树子树子树Level1Level2Level3Level4结点的层次任何一棵非空树是一个二元组Tree=(root,F)其中:root被称为根结点F被称为子树森林10、森

5、林:是m(m≥0)棵互不相交的树的集合。ArootBCDEFGHIJMKLF(1)有确定的根;(2)树根和子树根之间为有向关系。有向树:有序树:树中结点的各子树之间的先后次序是有意义的,不能互换,否则就成为另一棵树了。子树之间存在确定的次序关系。无序树:树中结点的各子树之间的先后次序无意义,可以互换。子树之间不存在确定的次序关系。二叉树的类型定义二叉树是树的基础,一般的树可以转化为二叉树来处理。1、二叉树的定义:二叉树或为空树,或是由一个根结点加上两棵分别称为左子树和右子树的、互不相交的二叉树组成(即左、右子树次序不能颠倒)。ABCDEFGHK根结点左子树右子树2、二叉树的五种

6、基本形态:N空树只含根结点NNNLRR右子树为空树L左子树为空树左右子树均不为空树二叉树的主要基本操作:查找类插入类删除类Root(T);Value(T,e);Parent(T,e);LeftChild(T,e);RightChild(T,e);LeftSibling(T,e);RightSibling(T,e);BiTreeEmpty(T);BiTreeDepth(T);PreOrderTraverse(T,Visit());InOrderTraverse(T,Visit());PostOrderTraverse(T,Visit());LevelOrderTraverse(T

7、,Visit());InitBiTree(&T);Assign(&T,&e,value);CreateBiTree(&T,definition);InsertChild(&T,p,LR,c);ClearBiTree(&T);DestroyBiTree(&T);DeleteChild(&T,p,LR);二叉树的重要特性性质1:在二叉树的第i层上至多有2i-1个结点。(i≥1)用归纳法证明:归纳基:归纳假设:归纳证明:i=1层时,只有一个根结点:2i-1=20=1;假设对所有的j,1≤ji,命

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。