树和二叉树

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

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

  • 树的根结点没有前驱结点,除根结点之外的所有结点有且仅有一个前驱结点。
  • 树中所有结点可以有零个或者多个后继结点。

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

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

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

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

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

《数据结构》知识点Day_04相关推荐

  1. 计算机队列概念,2020计算机专业考研数据结构知识点:栈、队列和数组

    2020计算机专业考研数据结构知识点:栈.队列和数组 1.栈.队列的定义及其相关数据结构的概念,包括:顺序栈.链栈.循环队列.链队列等.栈与队列存取数据(请注意包括:存和取两部分)的特点. 2. 掌握 ...

  2. 数据结构知识点总结整理

    数据结构知识点总结整理 0.常考基础必知必会 A. 排序:排序有几种,各种排序的比较,哪些排序是稳定的,快排的算法: B. 查找:哈希查找.二叉树查找.折半查找的对比,哈希映射和哈希表的区别? C. ...

  3. 数据结构总结(数据结构框架+数据结构知识点+试题总结)

    数据结构框架 引用链接 数据结构知识点 绪论 线性表 树 图 查找 排序 整体总结 试题总结

  4. c++使用单向链表存储一组有序数据_初试攻略丨计算机考研中数据结构知识点总结,硬核!...

    点击蓝字的小伙伴奖励酥鸡哦 苏世计算机考研,程序猿专属的学习分享社区 [声明:本文为原创文章,未经同意,严禁转载和抄袭,违者将追究其法律责任] 正文字2607,预计阅读7分钟 / 写在前面的话 / 初 ...

  5. 数据结构知识点思维导图(绪论)

    数据结构思维导图,文章内容为xmind导出的markdown文件,理论上可以自行转成导图 因为使用ocr识别,所以造成部分内容有错误,但是不影响知识点理解 绪论 数据结构的基本概念 基本概念和术语 数 ...

  6. 408 数据结构 知识点总结

    我在准备21年408考研的过程中,根据王道考研书的内容.linjiafengyang的总结和其它相关资料,将数据结构的知识点总结如下.大家复制后可以根据自身需求增删知识点.打印成册以方便学习.其中一些 ...

  7. sqlyong 删除数据能否撤回_数据结构知识点总结

    some quoted by Fundebug:代码面试需要知道的8种数据结构(附面试题及答案链接)​zhuanlan.zhihu.com added with other sources 8 种常用 ...

  8. 数据结构知识点总结_大牛带你学 | 考研数据结构中线性表中顺序结构的知识点总结...

    前言 我们都知道,数据结构中逻辑结构可以划分为线性结构(线性表)与非线性结构两大类. 而存储结构指的是数据元素在计算机中的存储及其逻辑关系的表现,也就是在计算机当中对逻辑结构的表示. 线性表的存储结构 ...

  9. 数据结构知识点大汇总(六)

    六.图 图的概念 图是一种较线性表和树更为复杂的数据结构,在图形结构中,结点之间关系可以是任意的,图中任意两个数据元素之间都可能相关. 有向图和无向图 若无向图中的每两个顶点之间都存在着一条边,则称该 ...

最新文章

  1. HIDL示例-JAVA服务创建-Client验证-Android10.0 HwBinder通信原理(四)
  2. Android开发--Service开启,关闭,绑定,解除
  3. Unity -----一些可能存在的错误
  4. 调用外部文件(ShellExecute)
  5. 【高数+AI】中山大学的学霸小哥开源了一个能帮你做高数题的AI
  6. python中filter用法_filter用法--Python
  7. WiFi密码破解之Aircrack实战演示
  8. 自动整理html书签,Bookmarks Organizer - Chrome书签整理排序
  9. 基于Pytorch实现GAT(图注意力网络)
  10. 计算机选购知识,计算机知识讲座(9):硬盘的选购
  11. 第二篇:关键点检测的两类方法及区别(短文)
  12. CF gym Coins(01背包计数)
  13. 【华为OD机试真题 JAVA】字符统计及重排
  14. 从零开始写第一个Android应用程序
  15. 如何获取CPU的主频和使用率?
  16. 一 MATLAB学习之axis函数总结
  17. 机器学习(七) 自编码器
  18. 发送打印命令后打印机没反应,重启打印机之后才能打印
  19. 最新版chrome浏览器安装Chrome插件时出现“CRX-HEADER-INVALID“解决方法
  20. 扬州大学c语言上级作业链表,一道关于结构体和单向链表的C语言编程题求助各位大佬!!!...

热门文章

  1. 验证码的产生 python
  2. 深度学习数学基础(一)~卷积
  3. 对比学习系列论文SDCLR(一)-Self-Damaging Contrastive Learning论文的概括
  4. conda下用prefix创建虚拟环境会怎么样?
  5. 文巾解题 面试题 01.03. URL化
  6. 听说你想去大厂看妹子,带你看看美团后端开发实习岗详细面经
  7. 多面性的打赏功能,由直播行业引发的一点思考
  8. EM算法(Expectation Maximization Algorithm)详解
  9. 常用MySQL数据库命令
  10. np.expand_dims()介绍