图的遍历BFS 广度优先遍历 深度优先遍历 可以进行标记 树的广度优先遍历,我们用了辅助的队列 bool visited[MAX_VERTEX_NUM] //访问标记数组 //广度优先遍历 void BFS(Graph G,int v){ //从顶点v出发,广度优先遍历图G visit(v); // ...
分类:
其他好文 时间:
2020-06-30 14:51:53
阅读次数:
64
最短路径——BFS算法 单源最短路径问题 每对顶点间的最短路径 BFS求无权图的单源最短路径 bool visited[MAX_VERTEX_NUM]; //访问标记数组 //广度优先遍历 void BFS(Graph G,int v){ //从定点出发,广度优先遍历图G visit(v); //访 ...
分类:
编程语言 时间:
2020-06-30 14:37:18
阅读次数:
82
树、森林的遍历 树的先根遍历 //树的先根遍历 void PreOrder(TreeNode *R){ if(R!=NULL){ visit(R);//访问根节点 while(R还有下一个子树T){ PreOrder(T); } } } 将上述的树转换为二叉树 树的先根遍历序列与这棵树相应的二叉树的 ...
分类:
其他好文 时间:
2020-06-28 13:28:31
阅读次数:
75
原文地址 一、什么是“搜索”算法? 算法是作用于具体数据结构之上的,深度优先搜索算法和广度优先搜索算法都是基于“图”这种数据结构的。 因为图这种数据结构的表达能力很强,大部分涉及搜索的场景都可以抽象成“图”。 图上的搜索算法,最直接的理解就是,在图中找出从一个顶点出发,到另一个顶点的路径。 具体方法 ...
分类:
其他好文 时间:
2020-06-26 20:05:16
阅读次数:
45
54:图的深度优先遍历与广度优先遍历 时间限制: 20000ms 内存限制: 131072kB 描述 给出一个无向图顶点和边的信息,输出这个无向图的深度优先遍历序列和广度优先遍历序列。从一个顶点出发如果有2个以上的顶点可以访问时,我们约定先访问编号大的那个顶点。示例输入对应的图如下图所示: 输入 输 ...
分类:
编程语言 时间:
2020-06-25 21:51:03
阅读次数:
80
二叉树广度优先遍历:一层一层 二叉树深度优先遍历:前序(根左右)、中序(左根右)、后序(左右根) class Node(): def __init__(self, item): self.item = item self.left = None self.right = None class Tre ...
分类:
其他好文 时间:
2020-06-24 23:53:15
阅读次数:
105
越是结构化的有规律的数据操作起来越简单,只是我们没有找到规律和工具。 首先贴代码 首先定义了一个树结构,需求是通过任意节点遍历出其所有的子节点。 根据需求的不同,就会有深度遍历和广度遍历两种,getAllChildrenDFSByReduce(),getAllChildrenDFSByStack() ...
分类:
编程语言 时间:
2020-06-24 17:45:31
阅读次数:
92
序 一转眼,最近的项目从制作到上线已经过去了2个多月,用户也突破了20W。虽然体量不是很大,但对一个小型技术团队来说,在用户高速增长的情况下,保证系统稳定的同时确保开发进度,尤其是还要管理团队,对我来说也是有挑战的一件事,为此开启了2个多月的高压模式(日均12H)。期间也被很多问题搞得心态爆炸,不过 ...
分类:
其他好文 时间:
2020-06-22 17:15:08
阅读次数:
55
题目链接:https://www.acwing.com/problem/content/176/ 由于状态数量的限制,我们可以考虑捆绑人与箱子的状态,我们已知每次箱子的移动一定是由人引起的,可以考虑状态是箱子的位置和箱子推动的时候人的方向,用另一个BFS搜索人从当前位置 到达箱子旁边的该方向的位置但 ...
分类:
编程语言 时间:
2020-06-20 15:40:38
阅读次数:
70
题目链接:http://poj.org/problem?id=3322 这题并不难,理解了状态空间的纬度就很容易实现,其中状态是坐标、躺着的起始位置,躺着的形式。 搜索题目比较考验写代码的能力。 代码: #include<iostream> #include<cstdio> #include<que ...
分类:
编程语言 时间:
2020-06-20 10:36:25
阅读次数:
50