《数据结构》知识点Day_04
树和二叉树
树:是N(N≥0)个结点的有限集合,N=0时,称为空树,这是一种特殊情况。
树的定义是递归的,是一种递归的数据结构。树作为一种逻辑结构,同时也是一种分层结构,具有以下两个特点:
- 树的根结点没有前驱结点,除根结点之外的所有结点有且仅有一个前驱结点。
- 树中所有结点可以有零个或者多个后继结点。
先(前)序遍历: 对访问到的每个结点,先访问根结点,然后是左结点,然后是右结点。
中序遍历: 对访问到的每个结点,先访问左结点,然后是根结点,然后是右结点。
后序遍历: 对访问到的每个结点,先访问左结点,然后是右结点,然后是根结点。
树转二叉树
1.兄弟+横线
树中的每一个结点,如果该结点有兄弟结点,那么就在这几个兄弟结点之间进行连线。
2.保存长子线
对于树中的每一个结点,如果其有多个子节点,保存其第一个子节点的连线,去除其他子节点的连线。
3.调整位置
对每个结点调整一定的位置,使其符合二叉树的标准。
森林转二叉树
1.将每课树转换成二叉树
2.将每课树的根结点连接起来,把每棵树的根当做兄弟结点处理,兄弟加横线
3.旋转调整位置
二叉树转化树
1.若某结点的左孩子结点存在,将左孩子结点的右孩子结点、右孩子结点的右孩子结点……都作为该结点的孩子结点,将该结点与这些右孩子结点用线连接起来;
2.删除原二叉树中所有结点与其右孩子结点的连线;
3.调整位置
二叉树转化森林
1.先把每个结点与右孩子结点的连线删除,得到分离的二叉树;
2.把分离后的每棵二叉树转换为树;
3.调整位置
《数据结构》知识点Day_04相关推荐
- 计算机队列概念,2020计算机专业考研数据结构知识点:栈、队列和数组
2020计算机专业考研数据结构知识点:栈.队列和数组 1.栈.队列的定义及其相关数据结构的概念,包括:顺序栈.链栈.循环队列.链队列等.栈与队列存取数据(请注意包括:存和取两部分)的特点. 2. 掌握 ...
- 数据结构知识点总结整理
数据结构知识点总结整理 0.常考基础必知必会 A. 排序:排序有几种,各种排序的比较,哪些排序是稳定的,快排的算法: B. 查找:哈希查找.二叉树查找.折半查找的对比,哈希映射和哈希表的区别? C. ...
- 数据结构总结(数据结构框架+数据结构知识点+试题总结)
数据结构框架 引用链接 数据结构知识点 绪论 线性表 树 图 查找 排序 整体总结 试题总结
- c++使用单向链表存储一组有序数据_初试攻略丨计算机考研中数据结构知识点总结,硬核!...
点击蓝字的小伙伴奖励酥鸡哦 苏世计算机考研,程序猿专属的学习分享社区 [声明:本文为原创文章,未经同意,严禁转载和抄袭,违者将追究其法律责任] 正文字2607,预计阅读7分钟 / 写在前面的话 / 初 ...
- 数据结构知识点思维导图(绪论)
数据结构思维导图,文章内容为xmind导出的markdown文件,理论上可以自行转成导图 因为使用ocr识别,所以造成部分内容有错误,但是不影响知识点理解 绪论 数据结构的基本概念 基本概念和术语 数 ...
- 408 数据结构 知识点总结
我在准备21年408考研的过程中,根据王道考研书的内容.linjiafengyang的总结和其它相关资料,将数据结构的知识点总结如下.大家复制后可以根据自身需求增删知识点.打印成册以方便学习.其中一些 ...
- sqlyong 删除数据能否撤回_数据结构知识点总结
some quoted by Fundebug:代码面试需要知道的8种数据结构(附面试题及答案链接)zhuanlan.zhihu.com added with other sources 8 种常用 ...
- 数据结构知识点总结_大牛带你学 | 考研数据结构中线性表中顺序结构的知识点总结...
前言 我们都知道,数据结构中逻辑结构可以划分为线性结构(线性表)与非线性结构两大类. 而存储结构指的是数据元素在计算机中的存储及其逻辑关系的表现,也就是在计算机当中对逻辑结构的表示. 线性表的存储结构 ...
- 数据结构知识点大汇总(六)
六.图 图的概念 图是一种较线性表和树更为复杂的数据结构,在图形结构中,结点之间关系可以是任意的,图中任意两个数据元素之间都可能相关. 有向图和无向图 若无向图中的每两个顶点之间都存在着一条边,则称该 ...
最新文章
- HIDL示例-JAVA服务创建-Client验证-Android10.0 HwBinder通信原理(四)
- Android开发--Service开启,关闭,绑定,解除
- Unity -----一些可能存在的错误
- 调用外部文件(ShellExecute)
- 【高数+AI】中山大学的学霸小哥开源了一个能帮你做高数题的AI
- python中filter用法_filter用法--Python
- WiFi密码破解之Aircrack实战演示
- 自动整理html书签,Bookmarks Organizer - Chrome书签整理排序
- 基于Pytorch实现GAT(图注意力网络)
- 计算机选购知识,计算机知识讲座(9):硬盘的选购
- 第二篇:关键点检测的两类方法及区别(短文)
- CF gym Coins(01背包计数)
- 【华为OD机试真题 JAVA】字符统计及重排
- 从零开始写第一个Android应用程序
- 如何获取CPU的主频和使用率?
- 一 MATLAB学习之axis函数总结
- 机器学习(七) 自编码器
- 发送打印命令后打印机没反应,重启打印机之后才能打印
- 最新版chrome浏览器安装Chrome插件时出现“CRX-HEADER-INVALID“解决方法
- 扬州大学c语言上级作业链表,一道关于结构体和单向链表的C语言编程题求助各位大佬!!!...
热门文章
- 验证码的产生 python
- 深度学习数学基础(一)~卷积
- 对比学习系列论文SDCLR(一)-Self-Damaging Contrastive Learning论文的概括
- conda下用prefix创建虚拟环境会怎么样?
- 文巾解题 面试题 01.03. URL化
- 听说你想去大厂看妹子,带你看看美团后端开发实习岗详细面经
- 多面性的打赏功能,由直播行业引发的一点思考
- EM算法(Expectation Maximization Algorithm)详解
- 常用MySQL数据库命令
- np.expand_dims()介绍