
搜索如此简单
文章平均质量分 71
深度优先搜索(缩写DFS)有点类似广度优先搜索,也是对一个连通图进行遍历的算法。它的思想是从一个顶点V0开始,沿着一条路一直走到底,如果发现不能到达目标解,那就返回到上一个节点,然后从另一条路开始走到底,这种尽量往深处走的概念即是深度优先的概念
云疏不知数
一个人知道自己为了什么而活,他就能够忍受任何一种生活----尼采
展开
-
广度优先搜索1
二叉树的广度优先搜索BFS员工的重要性N叉树的层序遍历腐烂的橘子单词接龙最小基因变化打开转盘锁二叉树的广度优先搜索BFS(宽度优先搜索,或横向优先搜索)也就是二叉树的层次遍历利用队列结构:初始状态:顶级根节点入队队列不空就循环出队,出队的节点尾插入vector,出一个节点就入出队的节点的左节点和右节点(没有左或者右就不入)循环结束vector就记录了层次遍历的所有节点//层次遍历(利用队列)vector<TreeNode*> levelTraverse(T.原创 2021-06-06 17:41:03 · 380 阅读 · 0 评论 -
深度优先搜索2
图的深度优先搜索1深度优先搜索的核心就是每次都往下走没有走过的节点,如果走到末端就回溯并继续往下走没有走过的节点员工的重要性图像渲染岛屿的周长 解法二(非递归DFS)未过OJ被围绕的区域岛屿数量岛屿的最大面积员工的重要性给定一个保存员工信息的数据结构,它包含了员工 唯一的 id ,重要度 和 直系下属的 id 。比如,员工 1 是员工 2 的领导,员工 2 是员工 3 的领导。他们相应的重要度为 15 , 10 , 5 。那么员工 1 的数据结构是 [1, 15, [2]] ,员工 .原创 2021-06-05 20:52:34 · 485 阅读 · 2 评论 -
深度优先搜索1
深度优先搜索DFS:前序、中序、后续遍历二叉树深度优先搜索DFS(递归、非递归) 前序 中序 后续前序递归void preOrderTraverse1Recursion(TreeNode* des, vector<TreeNode*>& res) { if (des) { res.push_back(des); preOrderTraverse1Recursion(des->left, res); preOrderTraverse1Recu.原创 2021-06-05 20:51:46 · 140 阅读 · 0 评论