数据结构——第三讲、树(上)(2)
来源:互联网 发布:知乎洛基香港代购苹果 编辑:程序博客网 时间:2024/06/05 10:37
3.2 二叉树及存储结构
二叉树有左右先后顺序之分,最下面一层全部为叶节点,倒数第二层没有叶节点的树是完美二叉树(满二叉树),满二叉树最后一层从右往左少几个叶节点叫完全二叉树,完全二叉树的节点序号和满二叉树一样,除了少的那几个元素。
n0=n2 + 1;往上看一共有n0+n1+n2-1条边,往下看有n1+2*n2条边
二叉树的抽象数据类型:
类型名称:二叉树
对象数据集:又穷节点的集合。若不为空,由一个根节点和其左右二叉子树构成。
操作集:
Boolean IsEmpty(Position T);void Traversal(Position T);//按照某种特定的顺序遍历Position CreatTree();//创建一个二叉树
其中遍历操作包括:先序遍历、中序遍历、后序遍历、层序遍历。
void PreOrderTraversal(Position T);void InOrderTraversal(Position T);void PostOrderTraversal(Position T);void LevelOrderTraversal(Position T);
二叉树存储可以使用数组,但是数组只能存储完全二叉树,对于非完全二叉树必须补全成完全二叉树,然后按照从上到下,从左到右的顺序编号存储,第i个节点的父节点是i/2(去掉小数部分),左儿子是2*i,右儿子是2*i+1。
如果用链表,可以用统一的形式存储,比起非完全二叉树数组较为节省空间。
typedef struct TreeNode *BinTreestruct TreeNode{ ElementType Data; BingTree Left; BingTree Right;};
阅读全文
0 0
- 数据结构——第三讲、树(上)(2)
- 数据结构——第三讲、树(上)(1)
- 数据结构——第三讲、树(上)(3)
- 陈越《数据结构》第三讲 树(上)
- 数据结构——第六讲、图(上)(2)
- 数据结构——第六讲、图(上)(1)
- 数据结构——第四讲、树(中)(2)
- 数据结构——第五讲、树(下)(2)
- 陈越《数据结构》第六讲 图(上)
- 数据结构——第四讲、树(中)(1)
- 数据结构——第五讲、树(下)(1)
- 数据结构——第五讲、树(下)(3)
- 数据结构——第一讲、基本概念(2)
- 数据结构——第二讲、线性结构(2)
- 第一讲数据结构(2)
- 数据结构(陈越)PAT练习题 第三周:树(上)
- 【数据结构第三周】树知识点整理(上)
- 孙鑫java无难事视频 日志 ---第三讲(上)
- jcaptcha实现字母验证码
- Java for Web学习笔记(八五):SOAP(2)小例子
- Gym
- Dagger & Konlin
- 每日掌握一个Linux命令 之 显示或设置系统时间与日期 date命令
- 数据结构——第三讲、树(上)(2)
- PHP环境搭建
- 闲下来的程序员能做点什么
- 趣图 | 程序员眼中的 Eclipse
- Reverse digits of an integer.
- C++中构造函数的执行顺序
- HDU5459 Jesus Is Here
- 排序
- Xamarin Android 中修改 TabbedPage 标题字体