
大话数据结构_树森林二叉树转换与遍历 4
树转二叉树 加线 去线 层序调整(第一个孩子是二叉树的左节点,兄弟转化过来的孩子是二叉树的右节点) 森林转为二叉树 把每个树转换为二叉树 第一棵二叉树不动,从第二棵二叉树开始,依次把后一棵二叉树的根结点作为前一棵二叉树的根结点的右孩子,用线连接起来。 当所有的二叉树连接起来后就得...
树转二叉树 加线 去线 层序调整(第一个孩子是二叉树的左节点,兄弟转化过来的孩子是二叉树的右节点) 森林转为二叉树 把每个树转换为二叉树 第一棵二叉树不动,从第二棵二叉树开始,依次把后一棵二叉树的根结点作为前一棵二叉树的根结点的右孩子,用线连接起来。 当所有的二叉树连接起来后就得...
原理 浪费资源 对于一个有n个结点的二叉链表,每个结点有指向左右孩子的指针域 所以一共是2n个指针域 而n个结点的二叉树一共n-1条分支,也就是说,其实存在2n-(n-1) = n+1个空指针域 结点信息知而不全 我们无法得知某个结点的前驱或后继,要想知道,就必须先遍历一遍 办法...
权 树结点间的边相关的数叫权。 路径长度 从树中一个结点到另一个结点之间的分支构成两个结点之间的路径,路径上的分支数目称做路径长度。 树的路径长度就是从根到每一结点的路径长度之和。 考虑到带权的结点: 结点的带权的路径长度为从该结点到树根之间的路径长度与结点上权的乘积。 树的带权...
二叉树顺序存储结构 二叉树的顺序结构就是用一维数组存储二叉树中的结点,并且结点的存储位置,也就是数组的下标要能体现结点直接的逻辑关系 二叉树链式存储结构 二叉树每个结点最多有两个孩子,所以为它设计一个数据域和两个指针域 二叉树的创建 二叉树的遍历 二叉树的遍历是指从根结点出发,按...
概述 图是一种较线性表和树更加复杂的数据结构。 在图形结构中,结点之间的关系可以是任意的,图中任何两个数据元素之间都可能相关。 图是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。 线性表中把数据...
定义 二叉树是n个结点的有限集合,该集合或者为空集(空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树的二叉树组成 特点 每个结点最多有两棵子树,所以,二叉树中不存在度大于2的结点 左子树和右子树是有序的,次序不能任意颠倒 即使树种某一结点只有一棵子树,...
1-邻接矩阵 图的邻接矩阵存储方式是用两个数组来表示图。 一个一维数组存储图中的顶点信息。 一个二维数组(称为邻接矩阵)存储图中的边或弧的信息。 设图G有n个顶点,则邻接矩阵是一个n*n的方阵,定义为: $$ arc[i][j] = \begin{cases} 1, \qquad...
定义 树是有n个结点的有限集n\geq0 n=0,为空树 在任意一颗非空树中: 有且仅有一个特定的称为根(Root)的结点 n>1,其余结点可以分为m(m>0)个互不相交的有限集 T_1,T_2,...,T_m 其中,每个集合本身又是一棵树,且称为根的子树 结点分类 ...
概述 从图中某一顶点出发遍历图中其余顶点,且使每一个顶点仅被访问一次,这一过程就叫做图的遍历。 深度优先遍历 也叫深度优先搜索,简称DFS。 对于连通图,从图中某个顶点v出发,访问此顶点,然后从顶点v的未被访问的邻接点出发深度优先遍历图,直至图中所有和v有路径相通的顶点都被访问到...
定义 队列是只允许在一端进行插入操作,而在另一端进行删除操作的线性表 队列是一种先进先出的线性表,简称FIFO 允许插入的一段称为队尾,允许删除的一头称为队头 首尾相接的顺序存储结构,称为循环队列 队列的顺序存储结构 队列的链式存储结构 队列的链式存储结构,其实就是线性表的单链表...
搜索当前标签