大话数据结构 树2

Posted expedition

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大话数据结构 树2相关的知识,希望对你有一定的参考价值。

二叉树

技术图片

技术图片

特点

  • 每个结点最多有两棵子树
  • 左子树和右子树是有顺序的,不能颠倒
  • 即使树中某结点只有一棵子树,也要区分左还是右

技术图片

 

 五种基本形态

技术图片

技术图片

 特殊二叉树

 

——斜树

技术图片

 

——满二叉树

技术图片

技术图片

特点:

技术图片

 

——完全二叉树

技术图片

技术图片

判断:

技术图片

 

理解:

  • 满二叉树一定是完全二叉树,完全二叉树不一定满
  • 完全二叉树所有结点与同样深度的满二叉树,它们按层次编号相同的结点,是一一对应

 完全二叉树的特点:

技术图片

 

二叉树的性质

技术图片

技术图片

技术图片技术图片

技术图片

技术图片

 

二叉树的顺序存储结构

1.顺序存储结构

技术图片

 

完全二叉树的顺序存储:

技术图片

技术图片

 

一般的二叉树:

【尽管层序编号不能反应其逻辑关系,但可以按完全二叉树编号,把不存在的结点设置为“^”】

技术图片

但是,如果是深度为k的右斜树,只有k个结点,却需要分配2k-1个存储单元空间——> 浪费空间

 技术图片

 

即,顺序存储结构一般只用于完全二叉树 

 

2.二叉链表

 技术图片

技术图片

data是数据域

lchild 存放指向左孩子的指针

rchild 存放指向右孩子的指针

 

结点结构定义:

技术图片

技术图片

 

 如果有需要,还可以再增加一个指向其双亲的指针域——> 称为“三叉链表”

 

以上是关于大话数据结构 树2的主要内容,如果未能解决你的问题,请参考以下文章

大话数据结构C语言58 多路查找树(B树)之2-3树

大话数据结构C语言59 2-3-4树

大话数据结构C语言60 B树

《大话数据结构》笔记(6-1)--树:树

Java 大话数据结构(11) 查找算法(二叉排序树/二叉搜索树)

大话数据结构(十三)——树的理论知识