个人理解 BFS是一种最简便的图搜索算法,通过遍历整张图直到找到目标节点; 从算法的角度看,所有因为展开节点而得到的字节点会被存储到一个FIFO的数据结构中,被遍历过的节点存储在一个容器中(一般是一个set),防止重复搜索 图解 如图所示,我们想要获取从S到E节点的最短路径,运用BFS,如何处理?? ...
分类:
编程语言 时间:
2019-12-15 10:44:56
阅读次数:
108
宽度优先搜索,层序遍历各节点,并记录各节点所在层,时间复杂度 O(n)。 1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * TreeNode ...
分类:
其他好文 时间:
2019-11-28 23:06:15
阅读次数:
119
如何遍历一棵树 有两种通用的遍历树的策略: 深度优先搜索(DFS) 在这个策略中,我们采用深度作为优先级,以便从跟开始一直到达某个确定的叶子,然后再返回根到达另一个分支。 深度优先搜索策略又可以根据根节点、左孩子和右孩子的相对顺序被细分为先序遍历,中序遍历和后序遍历。 宽度优先搜索(BFS) 我们按 ...
分类:
其他好文 时间:
2019-11-14 12:32:21
阅读次数:
71
题目: 给定一个二叉树,找出其最小深度。 注意最小深度的定义! 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明: 叶子节点是指没有子节点的节点。 一、递归法 时间复杂度:O(n)。需要遍历每一个节点。 空间复杂度:最差情况下,当一棵树是非平衡树的时候,例如每个节点都只有一个孩子,树的 ...
分类:
其他好文 时间:
2019-10-10 12:55:19
阅读次数:
101
"本题传送门" 本题知识点:~~宽度优先搜索~~ 模拟 + map 本题题意有点懵。就是单纯的把S1像例子那样插到S2里,根本不是什么宽搜题,因为只是一个方向就可以了。说是搜索题倒是有点意思,因为要查重。 不过cin还是慢啊,一个cin就把我卡tle了。 所以最后这就是简单的模拟题,加上一个map( ...
分类:
其他好文 时间:
2019-09-22 19:32:12
阅读次数:
75
"本题传送门" 本题知识点:宽度优先搜索 题意很简单。要找一个质数变到另一个质数的最少步数,两个质数都是4位数,变的时候只能变其中一位,变了的数也仍是质数。 思路也很简单,对每一位数进行修改,如果修改后的数仍是质数则入队。 要注意的是千位数不能是0。 数据很小。 c++ include includ ...
分类:
其他好文 时间:
2019-09-21 10:42:24
阅读次数:
68
"本题传送门" 本题知识点:宽度优先搜索 题意简单。在一个L层高的楼里,去走迷宫,就是问从S走到E的最短路径。每走一格每上或者下一层都算1步。 一开始以为这个“立体迷宫”有点吓到我(题做得太少了),后来发觉,只是一个三维数组以及多了两个操作方向( 原地向上或者原地向下 ),除此之外就是简单的bfs模 ...
分类:
其他好文 时间:
2019-09-19 23:22:50
阅读次数:
112
Description 题目描述 Bessie听说有场史无前例的流星雨即将来临;有谶言:陨星将落,徒留灰烬。为保生机,她誓将找寻安全之所(永避星坠之地)。目前她正在平面坐标系的原点放牧,打算在群星断其生路前转移至安全地点。 此次共有M (1 ≤ M ≤ 50,000)颗流星来袭,流星i将在时间点Ti ...
分类:
其他好文 时间:
2019-08-26 15:17:58
阅读次数:
114
problem:https://leetcode.com/problems/binary-tree-level-order-traversal 二刷此题,现在看起来是基础中的基础题了。 ...
分类:
其他好文 时间:
2019-08-06 22:48:46
阅读次数:
157
主要内容: 1. 二叉树遍历(先序、中序、后序、宽度优先遍历)的迭代实现和递归实现; 2. 二叉树的深度,二叉树到叶子节点的所有路径; 首先,先定义二叉树类(python3),代码如下: 内容1:二叉树的遍历 二叉树的遍历分深度优先遍历(DFS)和宽度优先遍历(BFS)。其中深度优先遍历又分为先序遍 ...
分类:
编程语言 时间:
2019-06-25 16:42:49
阅读次数:
110