题目描述 我们从二叉树的根节点 root 开始进行深度优先搜索。 在遍历中的每个节点处,我们输出 D 条短划线(其中 D 是该节点的深度),然后输出该节点的值。(如果节点的深度为 D,则其直接子节点的深度为 D + 1。根节点的深度为 0)。 如果节点只有一个子节点,那么保证该子节点为左子节点。 给 ...
分类:
其他好文 时间:
2020-06-18 23:20:51
阅读次数:
98
给你无向 连通 图中一个节点的引用,请你返回该图的 深拷贝(克隆)。 图中的每个节点都包含它的值 val(int) 和其邻居的列表(list[Node])。 class Node { public int val; public List<Node> neighbors; } 测试用例格式: 简单起 ...
分类:
其他好文 时间:
2020-06-18 21:19:46
阅读次数:
51
1028. 从先序遍历还原二叉树 题目来源:力扣(LeetCode)https://leetcode-cn.com/problems/recover-a-tree-from-preorder-traversal 题目 我们从二叉树的根节点 root 开始进行深度优先搜索。 在遍历中的每个节点处,我们 ...
分类:
编程语言 时间:
2020-06-18 19:42:50
阅读次数:
59
题目描述 我们从二叉树的根节点 root 开始进行深度优先搜索。 在遍历中的每个节点处,我们输出 D 条短划线(其中 D 是该节点的深度),然后输出该节点的值。(如果节点的深度为 D,则其直接子节点的深度为 D + 1。根节点的深度为 0)。 如果节点只有一个子节点,那么保证该子节点为左子节点。 给 ...
分类:
其他好文 时间:
2020-06-18 10:29:35
阅读次数:
52
1,学习内容小结: 图:(1)存储结构: 邻接矩阵 :适用于稀疏图,顶点较多 & 邻接表 :适用于稠密图,顶点较少或无需记录权值 (2)遍历:深度优先搜索(DFS):类似先序遍历 广度优先搜索(BFS) :类似层次遍历 (3)应用:<1>最小生成树(不是唯一的,但权值一定是一样的;若由程序得出则一定 ...
分类:
其他好文 时间:
2020-06-14 23:53:07
阅读次数:
103
图的定义 邻接矩阵 结构简单,操作方便 稀疏图将浪费大量的空间 邻接表 (类比 树 孩子表示法?) 操作复杂 注意邻接链表的结构体定义 不要搞混不要被绕晕啊! 嵌套太多了 有时用指针 还要看清给的int还是char typedef struct ArcNode { int adjvex; struc ...
分类:
其他好文 时间:
2020-06-14 18:36:30
阅读次数:
102
图 逻辑结构 图的定义 图G由顶点集V和边集E组成,记为G=(V,E),其中由V(G)表示图中G中的顶点的有限非空集;E(G)表示图G中顶点之间的关系(边)集合(图不能为空) |V|表示图中顶点个数也称图的阶;|E|表示图中边的条数 相关概念 无向图&有向图 无向边:v-w 无序对(v,w)=(w, ...
分类:
其他好文 时间:
2020-06-14 15:08:51
阅读次数:
68
import java.util.ArrayList;import java.util.HashMap;import java.util.HashSet;import java.util.Stack;/** * 图的深度优先遍历 */public class DepthFirst { public ...
分类:
其他好文 时间:
2020-06-14 10:50:30
阅读次数:
57
图的遍历是指访问图中的每一个顶点,且只访问一次。最经典的遍历图的方法就是深度优先遍历和广度优先遍历,这两种遍历方法都会产生一个生成树。我们用程序来实现这两种遍历算法的时候,一定要认真分析它们的算法思想以及具体细节,因为遍历图的顶点,每个顶点只能访问一次,所以需要专门设置一个访问标记数组用于标记顶点是 ...
分类:
其他好文 时间:
2020-06-14 01:16:13
阅读次数:
82
题目描述: 给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],返回深度为3 深度优先遍历:先序遍历,可递归,可用栈 //C 递归 int maxDepth(st ...
分类:
其他好文 时间:
2020-06-13 10:36:10
阅读次数:
57