IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 《数据结构》知识点Day_04 -> 正文阅读

[数据结构与算法]《数据结构》知识点Day_04

树和二叉树

树和二叉树

树:是N(N≥0)个结点的有限集合,N=0时,称为空树,这是一种特殊情况。
基本术语

树的定义是递归的,是一种递归的数据结构。树作为一种逻辑结构,同时也是一种分层结构,具有以下两个特点:

  • 树的根结点没有前驱结点,除根结点之外的所有结点有且仅有一个前驱结点。
  • 树中所有结点可以有零个或者多个后继结点。
    满二叉树和完全二叉树
    区别

先(前)序遍历: 对访问到的每个结点,先访问根结点,然后是左结点,然后是右结点。

中序遍历: 对访问到的每个结点,先访问左结点,然后是根结点,然后是右结点。

后序遍历: 对访问到的每个结点,先访问左结点,然后是右结点,然后是根结点。

树转二叉树
1.兄弟+横线
树中的每一个结点,如果该结点有兄弟结点,那么就在这几个兄弟结点之间进行连线。
2.保存长子线
对于树中的每一个结点,如果其有多个子节点,保存其第一个子节点的连线,去除其他子节点的连线。
3.调整位置
对每个结点调整一定的位置,使其符合二叉树的标准。

森林转二叉树
1.将每课树转换成二叉树
2.将每课树的根结点连接起来,把每棵树的根当做兄弟结点处理,兄弟加横线
3.旋转调整位置
二叉树转化树
1.若某结点的左孩子结点存在,将左孩子结点的右孩子结点、右孩子结点的右孩子结点……都作为该结点的孩子结点,将该结点与这些右孩子结点用线连接起来;
2.删除原二叉树中所有结点与其右孩子结点的连线;
3.调整位置
二叉树转化森林
1.先把每个结点与右孩子结点的连线删除,得到分离的二叉树;
2.把分离后的每棵二叉树转换为树;
3.调整位置

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-08-22 13:45:16  更:2021-08-22 13:45:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 23:50:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码