数据结构-Day_2
Posted 坏坏-5
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构-Day_2相关的知识,希望对你有一定的参考价值。
文章参考郝斌老师的《数据结构》视频
非线性结构
树
- 定义:
- 有且只有一个成为根的节点
- 有若干互不相交的子树,这些子树本身也是一颗树
- 树有由节点和边组成,每个节点只有一个父节点,可以有多个子节点,根节点没有父节点
- 节点
- 父节点
- 子节点
- 深度:从根结点到最底层节点的层数
- 叶子结点:没有子节点的节点
- 度:子节点的个数
- 一般树
- 任意一个节点的子节点数都不受限制
- 二叉树
- 任意一个节点的子节点个数最多两个,且子节点的位置不可更改
- 一般二叉树
- 满二叉树:在不增加二叉树层级的前提下,无法再多添加一个节点
- 完全二叉树:只删除了满二叉树最底层嘴右边的连续若干个节点
- 森林
- n个互不相交的树的集合
树的存储
- 二叉树的存储
- 连续存储:完全二叉树
- 优点:方便查找某个节点的父节点和子节点
- 缺点:好用内存空间大
- 链式存储
- 连续存储:完全二叉树
- 一般树的存储
- 双亲表示法
- 便于求父节点
- 孩子表示法
- 便于求子节点
- 双亲孩子表示法
- 求父节点和子节点都方便
- 二叉树表示法
- 把普通树转换为二叉树来存储
- 保证任意一个节点的左指针域指向它的第一个孩子,右指针域指向它的兄弟
- 双亲表示法
二叉树的操作
- 遍历
- 线序遍历:最先访问根节点
- 先访问根节点
- 再先序访问左子树
- 最后先序访问右子树
- 中序遍历:中间访问根节点
- 中序遍历左子树
- 再访问根节点
- 中序遍历右子树
- 后续遍历:最后访问根节点
- 中序遍历左子树
- 中序遍历右子树
- 再访问根节点
- 线序遍历:最先访问根节点
- 通过先序和中序或者中序和后续才可以唯一确认一个二叉树,通过先序和后序不能确认还原原始二叉树
因为数据结构的考试范围到此,所以之后的没有再学习,以后如果有再学习,会继续补上!
以上内容均属原创,如有不详或错误,敬请指出。
本文链接: https://blog.csdn.net/qq_45668124/article/details/117386462
版权声明: 本博客所有文章除特别声明外,均采用
CC BY-NC-SA 4.0 许可协议。转载请联系作者注明出处并附带本文链接!
以上是关于数据结构-Day_2的主要内容,如果未能解决你的问题,请参考以下文章