数据结构与算法-二叉树的存储结构_第1页
数据结构与算法-二叉树的存储结构_第2页
数据结构与算法-二叉树的存储结构_第3页
数据结构与算法-二叉树的存储结构_第4页
数据结构与算法-二叉树的存储结构_第5页
已阅读5页,还剩10页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

5二叉树5.1二叉树的概念5.2二叉树的周游5.3二叉树的存储结构5.4二叉搜索树5.5堆与优先队列5.6Huffman树及其应用5.7二叉树知识点总结主要内容5.3二叉树的存储结构二叉树的存储结构:链式存储结构顺序存储结构5.3.1二叉树的链式存储结构

所谓链式存储方式,是指二叉树的各结点随机的存储在内存空间中,结点之间的关系用指针表示。二叉树的链表的结点包含三个域:数据域和左、右指针域。用info域存储结点的数据元素,另外再设置两个指针域left和right,分别指向结点的左子结点和右子结点当结点的某个子结点为空时,相应的指针为空指针。其结点结构如图5.7(a)所示。有时候为了便于查找二叉树中某个结点的父结点,还可以在结点结构中加入一个指向其父结点的指针域,如图5.7(b)所示

图5.7二叉树结点的存储结构5.3.1二叉树的链式存储结构利用这两种结点结构所得到的二叉树的存储结构分别称为二叉链表(也称“left-right存储法”)和三叉链表在使用二叉链表存储的二叉树中,如果找某个结点的父结点,那么需要从根结点出发依次巡查在三叉链表表示的二叉树中只需要顺着parent指针就能直接找到该结点的父结点图二叉链存储结构的二叉树root∧A∧BC∧D∧E∧F∧G∧∧∧rootA∧BC∧D∧E∧F∧G∧∧∧(a)不带头结点的二叉树(b)带头结点的二叉树二叉链存储结构的二叉树二叉链存储结构的二叉树ABCDEFGABCDEFG^^^^^^^^在n个结点的二叉链表中,有n+1个空指针域。三叉链存储结构的二叉树ABCDEFG^^^^^^^^^ABCDEFG二叉树的顺序存储结构二叉树的顺序存储是指按照一定次序,用一组地址连续的存储单元存储二叉树上的各个结点元素。完全二叉树的顺序表示法:对于一棵具有n个结点的完全二叉树,可以从根结点起自上而下,从左至右地把所有的结点编号,得到一个足以反映整个二叉树结构的线性序列。线性序列里存储的结点就是按照层次周游二叉树得到的排列。复习:完全二叉树的主要性质7性质7.对于具有n个结点的完全二叉树,结点按层次由左到右编号,则对任一结点i(0≤i≤n-1)有

(1)如果i=0,则结点i是二叉树的根结点;若i>0,则其父结点编号是[(i-1)/2]。(2)当2i+1≤n-1时,结点i的左子结点是2i+1,否则结点i没有左子结点。当2i+2≤n-1时,结点i的右子结点是2i+2,否则结点i没有右子结点。(3)当i为偶数且0<i<n时,结点i的左兄弟是结点i-1,否则结点i没有左兄弟。当i为奇数且i+1<n时,结点i的右兄弟是结点i+1,否则结点i没有右兄弟。BACEDFGHIJKLMNOBACEDFGHIJABCDONMLKJIHGFE12043576118109121314ABCDJIHGFE1204357689完全二叉树的结点可按从上至下和从左至右的次序存储在一维数组中,其结点之间的关系可由公式计算得到。顺序存储结构

对于一般的非完全二叉树显然不能直接使用二叉树的顺序存储结构。可以首先在非完全二叉树中增添一些并不存在的空结点使之变成完全二叉树的形态,然后再用顺序存储结构存储。

BACDEGFBACDEGF(a)一般二叉树(b)完全二叉树形态(c)在数组中的存储形式

ABC∧G∧∧F∧∧∧ED1204357611810912数组下标高度为4,有7个结点的一般二叉树的顺序存储abcdefggf0000edcba1234567891011浪费4个高度为4,只有4个右孩子的二叉树的顺序存储0000400030002011234123

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论