【数据结构】——树及转换
来源:互联网 发布:孕妇食谱软件 编辑:程序博客网 时间:2024/05/14 03:49
是什么
树是n个结点的有限集合,树的定义是递归的,表明了树本身的固有特性,也就是一棵树由若干棵子树构成,而子树又由更小的子树构成......
如:
每棵树有且仅有一个根结点,其它结点又是若干树,但都是根结点的子树。
需了解的概念
结点的度:一个结点的子树的个数
叶子结点:度为0的结点
内部结点:度非0的结点
结点层次:根为一层,根的孩子为第二层,依此类推
树的高度:树中最大的层次
遍历
转换*
树-->二叉树
一句话总结:将树的兄弟结点转为右孩子结点
具体步骤:
(1)加线。就是在所有兄弟结点之间加一条连线;
(2)抹线。就是对树中的每个结点,只保留他与第一个孩子结点之间的连线,删除它与其它孩子结点之间的连线;
(3)旋转。就是以树的根结点为轴心,将整棵树顺时针旋转一定角度,使之结构层次分明。
同理,二叉树-->树,就是将所有右孩子结点转为兄弟结点.
森林-->二叉树
一句话总结:将每棵树转为二叉树,后一棵根结点为前一棵二叉树的右孩子结点.
具体步骤:
(1)先把每棵树转换为二叉树;
(2)第一棵二叉树不动,从第二棵二叉树开始,依次把后一棵二叉树的根结点作为前一棵二叉树的根结点的右孩子结点,用线连接起来。当所有的二叉树连接起来后得到的二叉树就是由森林转换得到的二叉树。
总结:
其递归的思想在算法中很受欢迎.回溯法就利用树存储及其思想阐述的。另外,查找和排序中也利用到了树的存储结构及思想,如:堆排序......
0 0
- 【数据结构】——树及转换
- 数据结构—进制间转换
- 数据结构------树,森林及二叉树的转换方法
- 数据结构实践——数制转换(栈)
- 数据结构实践——数制转换
- 数据结构——进制转换
- python基础数据结构——列表(list), 元祖(tuple), 字典(dict), 字符串(string), 集合(set) 介绍及相互转换
- 数据结构(5)——树及树的遍历
- Python数据结构——解析树及树的遍历
- 数据结构复习——二叉树的表示及遍历
- 数据结构 — 浅析huffman树原理及实现
- 数据结构(六)树----树、森林与二叉树的转换及树的存储结构
- 树、森林及二叉树的相互转换 – 数据结构和算法50
- 数据结构——队列及循环队列
- 数据结构—绪论及时间空间复杂度
- 数据结构—树、森林与二叉树的转换(类C语言描述)
- 数据结构——从中缀向后缀转换表达式
- 数据结构实验五——栈实现数制转换
- [LeetCode] Move Zeroes
- Evaluate Reverse Polish Notation
- Arrays.binarySearch(int[] a, int key)
- mysql免安装的配置
- Android基础入门教程——2.5.4 其他几种常用对话框基本使用
- 【数据结构】——树及转换
- Android内存优化之OOM
- UVA_100_The_3n+1_Problem
- 长按Power键关机从Framework到Kernel
- 95 php php的生命周期
- 【bzoj1641】【奶牛跨栏】【最短路】
- C++ primer 第四版 目录(仅供参考)
- 深入理解Win32结构化异常处理(一)
- TCP/IP详解卷1 读书笔记:第三章 IP网际协议