二叉树的遍历 所谓遍历是指对树中所有结点的信息的访问,即依次对树中每个结点访问一次且仅访问一次,我们把这种对所有节点的访问称为遍历(traversal)。 树的两种重要的遍历模式是深度优先遍历和广度优先遍历: 深度优先一般用递归 广度优先一般用队列 一般情况下能用递归实现的算法大部分也能用堆栈来实现 ...
分类:
其他好文 时间:
2018-04-14 16:26:53
阅读次数:
184
继承关系图: 广度优先遍历:先找A,再找B、C,最后找D、E。(顺序:A、B、C) 深度优先遍历:先找A,再找B,接着找D、E(把B里面找完);然后找C。(顺序:A、B、D、E、C) MRO-C3 搜索: ...
分类:
编程语言 时间:
2018-04-09 00:32:26
阅读次数:
403
原题链接: "https://leetcode.com/problems/binary tree paths/description/" 直接走一波深度优先遍历: 不过这道题目我的实现还是写复杂了,提交区有的是简洁高效的代码。。。都怪自己基础不好啊!!! ...
分类:
其他好文 时间:
2018-04-06 14:00:24
阅读次数:
145
邻接表存储的图的深度优先遍历: 设X是当前被访问顶点,在对X做过访问标记后,选择一条从x出发的未检测过的边(x,y)。若发现顶点y已访问过,则重新选择另一条从x出发的未检测过的边,否则沿边(x,y)到达未曾访问过的y,对y访问并将其标记为已访问过;然后从y开始搜索,直到搜索完从y出发的所有路径,即访 ...
分类:
其他好文 时间:
2018-03-28 01:35:12
阅读次数:
103
0 题目 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。 1 分析 深度优先遍历+回溯. 出点就是,当target==0,且节点没有子树的时候。 ...
分类:
其他好文 时间:
2018-03-21 11:42:29
阅读次数:
120
先看下前中后序遍历的顺序是怎么样的: 下面通过一个例子来具体的描述前序遍历的流程: 以下都以“节点”代替,比如:“28”指的是 “28这个节点”。 流程顺序是:自、左、右 1.先访问“28”,然后访问“28”左节点即“16”。 2.然后“16”的左节点即“13”。好,这里是关键,“13”没继续访问其 ...
分类:
其他好文 时间:
2018-03-19 13:29:12
阅读次数:
169
二叉树 组成: 1、根节点 BinaryTree:root 2、每一个节点,都有左子节点和右子节点(可以为空) TreeNode:value、left、right 二叉树的遍历: 遍历二叉树:深度优先遍历、广度优先遍历。 广度:先遍历兄弟节点,再遍历子节点 深度:先遍历子节点,再遍历兄弟节点 上图深 ...
分类:
编程语言 时间:
2018-03-11 02:49:29
阅读次数:
248
1. 图是表示物件与物件之间的关系的数学对象,是图论的基本研究对象,这里只是了解点最最基础的东西。如果图的每条边都具有方向性,那么称这种图为有向图,反之为无向图。然后,如果在无向图中,每对顶点之间都有一条边相连,或者在有向图中,每对顶点有两条有向边相连,则称为完全图。 2. 图的遍历有深度优先和广度 ...
分类:
其他好文 时间:
2018-03-04 23:01:35
阅读次数:
198
图的遍历和树的遍历类似,我们希望从图中某一顶点出发访遍图中其余顶点,且使每一个顶点仅被访问一次,这一过程就叫做图的遍历(Traverse Graph)。 图的遍历方法一般有两种,第一种是我们在前面讲过的《深度优先遍历(Depth First Search)》,也有称为深度优先搜索,简称为DFS。第二 ...
分类:
其他好文 时间:
2018-02-26 11:38:06
阅读次数:
185