数据结构与算法树与二叉树.PPT

上传人:国*** 文档编号:993718 上传时间:2018-11-11 格式:PPT 页数:49 大小:330.50KB
下载 相关 举报
数据结构与算法树与二叉树.PPT_第1页
第1页 / 共49页
数据结构与算法树与二叉树.PPT_第2页
第2页 / 共49页
数据结构与算法树与二叉树.PPT_第3页
第3页 / 共49页
数据结构与算法树与二叉树.PPT_第4页
第4页 / 共49页
数据结构与算法树与二叉树.PPT_第5页
第5页 / 共49页
点击查看更多>>
资源描述

1、数据结构与算法树与二叉树赵颖 中南大学,赵颖 中南大学 n 在本章前面的内容中,我们首先讲解了树的定义,然后就过渡到对二叉树的讲解,包括二叉树的定义、存储结构、基本操作(遍历)等等问题。n 其实,二叉树是树的特例,对于树,也会有存储和基本操作。n 下面我们就来讲解树的相关问题,包括:树的存储结构、树的基本操作(遍历)、树与二叉树的转化赵颖 中南大学目录n 树的存储结构n 树、森林与二叉树的转化n 树的遍历n 应用举例:哈夫曼树赵颖 中南大学树的存储结构n 双亲表示法 在树中, 每个结点的双亲是唯一的 ,利用这个性质,可以在存储节点信息同时,为每个结点设置一个指向其双亲的指针,这样就能唯

2、一的表示一棵树了。 数据结点表示:数据元素域,双亲结点指针域 物理存储方式:顺序表或者链表n (下面用顺序表为例,使用一组连续的存储单元来存放树中的结点) 注意:双亲表示法(以及后面讲的孩子表示法、双亲孩子表示法)是对树这种结构的一种 逻辑表示法 ,对应于具体的物理存储方式可以使用顺序表也可以使用链表,要注意区分逻辑表示和物理存储的差别。赵颖 中南大学树的存储结构n 双亲表示法 const MAX_TREE_SIZE = 100; typedef struct / 结点结构ElemType data;int parent; / 双亲位置域 PTNode; typedef struct / 树

3、结构PTNode nodesMAX_TREE_SIZE;int r, n; / 根的位置和结点数 PTree;赵颖 中南大学树的存储结构n 双亲表示法 好处:有利用于 “向上 ”查找 (利用结点双亲的唯一性 )。 不利: “向下 ”查找需遍历全部存储结点。AB DCE F GH I JR=0, n=10赵颖 中南大学树的存储结构n 孩子表示法 孩子表示法主要描述的是 结点的孩子关系 。 由于每个结点的孩子个数不定,所以在每个结点上设置多个指向孩子的指针域(称作 多重孩子域 )的方式是不合适的。这种方法不但不能确定要设置多少个指针域,而且会浪费空间。如何表示孩子更好呢?data child1

4、 child2 child3 childd赵颖 中南大学树的存储结构n 孩子表示法 为树中所有结点建立一个线性表,用一个地址连续的存储空间来存储,数组中每个元素 2个域,一个数据域(存放结点的数据),一个指针域(指向该结点的所有孩子组成的单链表的表头) 为每个结点的所有孩子结点都建立一个线性表,且以单链表作它的存储结构,单链表中每个元素 2个域,一个数据域(存放该孩子在结点数组中的下标),一个指针域(指向下一个孩子结点)。赵颖 中南大学树的存储结构n 孩子表示法 typedef struct CTNode / 孩子结点 int child;struct CTNode *next; *ChildPtr; typedef struct ElemType data; / 结点的数据元素ChildPtr firstchild; / 孩子链表头指针 CTBox; typedef struct CTBox nodesMAX_TREE_SIZE;int n, r; / 结点数和根结点的位置 CTree;赵颖 中南大学树的存储结构n 孩子表示法 优点:寻找某个结点的孩子比较容易 缺点:寻找双亲比较麻烦

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 1

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。