![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构之dfs
wjf1022
It’ll pass
展开
-
DFS--总结以及相应框架
DFS算法总结:1、从图中某个顶点出发,访问v。2、找出刚访问过的顶点的第一个未被访问的邻接点,访问该顶点。以该顶点为新顶点,重复此步骤,直到刚访问的顶点没有未被访问过的邻接点为止。3、返回前一个访问过的且仍有未被访问过的邻接点的顶点,找出该顶点的下一个未被访问的邻接点,访问该顶点。4,重复2、3,直到图中所有顶点都被访问过,搜索结束。dfs结构框架:void df...原创 2019-03-04 22:00:10 · 947 阅读 · 1 评论 -
【递归入门】组合的输出
题目描述排列与组合是常用的数学方法,其中组合就是从n个元素中抽出r个元素(不分顺序且r < = n),我们可以简单地将n个元素理解为自然数1,2,…,n,从中任取r个数。现要求你不用递归的方法输出所有组合。例如n = 5 ,r = 3 ,所有组合为:1 2 31 2 41 2 51 3 41 3 51 4 52 3 42 3 52 4 5...原创 2019-03-04 23:24:10 · 190 阅读 · 0 评论 -
【递归入门】组合+判断素数
题目描述已知 n 个整数b1,b2,…,bn以及一个整数 k(k<n)。从 n 个整数中任选 k 个整数相加,可分别得到一系列的和。例如当 n=4,k=3,4 个整数分别为 3,7,12,19 时,可得全部的组合与它们的和为: 3+7+12=22 3+7+19=29 7+12+19=38 3+12+19=34。 现在,要求你计算出和为素数共有多少种。例如上例...原创 2019-03-05 00:14:22 · 318 阅读 · 0 评论 -
【递归入门】出栈序列统计
题目描述栈是常用的一种数据结构,有n令元素在栈顶端一侧等待进栈,栈顶端另一侧是出栈序列。你已经知道栈的操作有两•种:push和pop,前者是将一个元素进栈,后者是将栈顶元素弹出。现在要使用这两种操作,由一个操作序列可以得到一系列的输出序列。请你编程求出对于给定的n,计算并输出由操作数序列1,2,…,n,经过一系列操作可能得到的输出序列总数。输入一个整数n(1<=n<...原创 2019-03-09 18:31:56 · 299 阅读 · 0 评论 -
【递归入门】走迷宫
题目描述 有一个n*m格的迷宫(表示有n行、m列),其中有可走的也有不可走的,如果用1表示可以走,0表示不可以走,文件读入这n*m个数据和起始点、结束点(起始点和结束点都是用两个数据来描述的,分别表示这个点的行号和列号)。现在要你编程找出所有可行的道路,要求所走的路中没有重复的点,走时只能是上下左右四个方向。如果一条路都不可行,则输出相应信息(用-l表示无路)。 请统一用 左上右下...原创 2019-03-09 20:00:52 · 461 阅读 · 1 评论