二叉树的存储结构——顺序存储结构


二叉树的存储结构

① 顺序存储结构

② 链式存储结构:二叉链表;三叉链表

 

二叉树的顺序存储结构实现:按满二叉树的结点层次编号,依次存放二叉树中的数据元素

 

 

存储的类型定义:

// 二叉树顺序存储表示
#define MAXTSIZE 100
// TElemType 这里表示的类型,比如 int 型,String 型,都可以替换
Typedef TElemType SqBiTree[MAXTSIZE];
// 再用数组的名字“SqBiTree”定义一个变量
SqBiTree bt;

 

补充:SqBiTree bt;相当于 TElemType bt[MAXTSIZE];

 

例:

 

解决思路:

 

 

 

 

 

 

 

 

二叉树顺序存储的缺点:

① 一个数组的大小是固定的,如果元素个数变化极大,则不合适;

② 最坏情况,深度为 k 的且有 k 个结点的单支树需要长度为 2^k - 1 的一维数组

 

 

过于浪费空间。

特点:结点间的关系蕴含在其存储位置中,浪费空间,适于存满二叉树和完全二叉树

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM