数据结构学习笔记——二叉树的存储结构
来源:互联网 发布:vb cad二次开发源码 编辑:程序博客网 时间:2024/06/05 03:41
二叉树的顺序存储表示
// 二叉树的顺序存储表示 #define MAX_TREE_SIZE 100 // 二叉树的最大结点数 typedef TElemType SqBiTree[MAX_TREE_SIZE]; // 0号单元存储根结点 struct position { int level,order; // 结点的层,本层序号(按满二叉树计算) };
二叉树的顺序存储结构是讲二叉树按照完全二叉树的形式依次存储,常常导致浪费大量存储空间,所以这种存储结构一般不用。
二叉树的链式存储结构
二叉链表
//二叉树的二叉链表存储表示 typedef struct BiTNode { TElemType data; BiTNode *lchild,*rchild; // 左右孩子指针 }BiTNode,
三叉链表
//二叉树的三叉链表存储表示 typedef struct BiTPNode { TElemType data; BiTPNode *parent,*lchild,*rchild; // 双亲、左右孩子指针 }BiTPNode,*BiPTree;
三叉链表在二叉链表的基础上增加了双亲结点的指针域
若一个二叉树含有n个结点,则它的二叉链表中必含有2n个指针域,其中必有n+1个空的链域。
证明:分支数目B=n-1,即非空的链域有n-1个,故空链域有2n-(n-1)=n+1个。
不同的存储结构实现二叉树的操作也不同。如要找某个结点的父节点,在三叉链表中很容易实现,在二叉链表中则需要从根指针出发一一查找。所以,在具体应用中,需要根据二叉树的形态和需要进行的操作来决定二叉树的存储结构。
0 0
- 数据结构学习笔记——二叉树的存储结构
- 数据结构 - 二叉树的存储结构
- 数据结构(8):二叉树的存储结构
- 二叉树的存储结构(数据结构)
- 数据结构—二叉链顺序存储结构
- 【数据结构】二叉树的顺序存储结构--遍历二叉树
- 数据结构学习笔记——顺序存储结构
- 再回首,数据结构——树的常用术语、树和二叉树的存储结构
- C语言数据结构——二叉树的顺序存储结构
- 数据结构学习笔记——二叉树的类型定义
- 数据结构学习笔记——二叉树的遍历
- 数据结构——树的存储结构
- 数据结构:二叉树的遍历和存储结构
- (数据结构第六章)二叉树的顺序存储结构
- 二叉树的存储结构 – 数据结构和算法45
- 数据结构-二叉树的存储结构和遍历算法(四)
- 数据结构-二叉树的存储结构与遍历
- 二叉树的概念,二叉树的数据存储结构,二叉树的性质,二叉树的遍历方法数据结构-树的学习(3)
- iOS: 枚举类型 enum,NS_ENUM,NS_OPTIONS
- how to use github on ubuntu
- adb操作命令详解及大全
- 日志利器=grep
- html5 progress标签样式(各浏览器兼容)
- 数据结构学习笔记——二叉树的存储结构
- android的m、mm、mmm编译命令的使用
- 单线程模型中Message、Handler、Message Queue、Looper之间的关系
- cocos2dx ui::Button 的addClickListener问题
- 最全的Android源码目录结构详解
- hdoj4987Little Pony and Dice【概率dp】
- 排查Java线上服务故障的方法和实例分析
- cocos2d-x学习笔记--创建对象、构造函数及初始化
- android后台任务(一):Handler