![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 72
梦想不会灭
把每一件简单的事情做好,就是不简单;把每一件平凡的事情做好,就是不平凡!相信自己,创造奇迹~~
展开
-
什么是二叉树?二叉树的相关性质详解
一、树的存储结构以及相关概念1、树树结构是一种非线性存储结构,存储的是具有“一对多”关系的数据元素的集合。图 1 树的示例图 1(A) 是使用树结构存储的集合 {A,B,C,D,E,F,G,H,I,J,K,L,M} 的示意图。对于数据 A 来说,和数据 B、C、D 有关系;对于数据 B 来说,和 E、F 有关系。这就是“一对多”的关系。将具有“一对多”关系的集合中的数据元素按照图 1(A)的形式进行存储,整个存储形状在逻辑结构上看,类似于实际生活中倒着的树(图 1(B)倒过来),所以称这种存储结原创 2022-05-15 11:20:32 · 1002 阅读 · 0 评论 -
根据二叉树的先序、中序、后序遍历构建二叉树-Java实现
引言:已知一颗二叉树的前序、中序、后序遍历,我们知道如何还原出这颗二叉树,那么我们使用Java代码如何实现?备注:根据二叉树的先序、中序、后序遍历构建二叉树-图文详解 /** * 下文中用到的TreeNode类 */ class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; }根据二叉树的前序、中序遍历还原二叉树 public TreeNode buildTree (int[.原创 2022-05-12 22:41:17 · 581 阅读 · 0 评论 -
根据二叉树的先序、中序、后序遍历构建二叉树-图文详解
引言:根据一颗二叉树,可以得出他的先序、中序、后序三种遍历方式,那么如果我们知道了他的前序、中序遍历,如何绘制出这颗二叉树呢?1、二叉树三种遍历方式的特性特性A,对于前序遍历,第⼀个肯定是根节点;特性B,对于后序遍历,最后⼀个肯定是根节点;特性C,利⽤前序或后序遍历,确定根节点,在中序遍历中,根节点的两边就可以分出左⼦树和右⼦树;特性D,对左⼦树和右⼦树分别做前⾯3点的分析和拆分,相当于做递归,我们就可以重建出完整的⼆叉树;2、根据特性构建二叉树例:已知一颗二叉树的前序遍历和中序遍历.原创 2022-05-11 22:24:17 · 15944 阅读 · 2 评论 -
二叉树的先序、中序、后序遍历以及代码实现
一、二叉树的三种遍历方式二叉树的遍历主要有三种:先(根)序遍历(根左右),中(根)序遍历(左根右),后(根)序遍历(左右根),以下图为例分别说明。1、先(根)序遍历(根左右)先序遍历的原则是:先根、再左、再右。即:ABCDEFGH2、中(根)序遍历(左根右)中序遍历的原则是:先左、再根、再右。即:BDCEAFHG3、后(根)序遍历(左右根)后序遍历的原则是:先左、再右、再根。即:DECBHGFA二、代码实现二叉树的三种遍历方式 /** * 下文中用到的TreeNode类 */原创 2022-05-10 22:37:00 · 5672 阅读 · 0 评论 -
Java数据结构与算法——最小生成树
一、关于图的几个概念定义:连通图:在无向图中,若任意两个顶点vivi与vjvj都有路径相通,则称该无向图为连通图。强连通图:在有向图中,若任意两个顶点vivi与vjvj都有路径相通,则称该有向图为强连通图。连通网:在连通图中,若图的边具有一定的意义,每一条边都对应着一个数,称为权;权代表着连接连个顶点的代价,称这种连通图叫做连通网。生成树:一个连通图的生成树是指一个连通子图,它含有图中全部n个顶点,但只有足以构成一棵树的n-1条边。一颗有n个顶点的生成树有且仅有n-1条边,如果生成树中再添加一条边原创 2022-05-08 22:48:47 · 2130 阅读 · 1 评论 -
有向无环图的拓扑排序
一、图的基本常识1、弧头和弧尾有向图中,无箭头一端的顶点通常被称为"初始点"或"弧尾",箭头直线的顶点被称为"终端点"或"弧头"。2、入度和出度对于有向图中的一个顶点 V 来说,箭头指向 V 的弧的数量为 V 的入度(InDegree,记为 ID(V));箭头远离 V 的弧的数量为 V 的出度(OutDegree,记为OD(V))。3、(V1,V2) 和 <V1,V2> 的区别无向图中描述两顶点(V1 和 V2)之间的关系可以用 (V1,V2) 来表示有向图中描述从 V1 到 V2原创 2022-05-06 22:48:09 · 4379 阅读 · 1 评论