![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
搜索🔍
文章平均质量分 66
桃花涣小鱼干
愿早日成为神犇!
展开
-
小白也能看懂的 DFS 算法本质详解
DFS算法总结DFS 俗称深搜,是一种常见的算法模型我们通过借助函数递归和递归停止条件的运用实现对数据的高级枚举对于DFS算法而言,最重要的是如何去枚举数据,即如何去搜索?这是在运用DFS之前我们就应该思考的问题,只有对其思考清楚,才不妨碍我们下一步去运用代码实现DFS!OK! 让我们开始吧!01.何为搜索?让我们先忘记你学过DFS算法这件事,抛开脑子中具体的代码结构,单纯地以一个自然人地角度去思考,什么是搜索?单独思考一个词汇可能我们不会获得很多,下面我们借助具体例子来说明:假如我说原创 2021-07-17 05:00:52 · 1793 阅读 · 0 评论 -
DFS-选数
选数问题来源:P1036 [NOIP2002 普及组] 选数完整代码:#include<math.h>#include<stdio.h>#include<stdlib.h>int* p, ans = 0;int isPrime(int m){ int isPrime = 1; int k = sqrt(m); for (int i = 2; i <= k; i++) { if (m % i == 0) { isPrime = 0原创 2021-07-06 18:31:14 · 281 阅读 · 1 评论 -
DFS-八皇后问题
八皇后问题题目描述一个如下的 6×6 的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。上面的布局可以用序列 2 4 6 1 3 5来描述,第 i 个数字表示在第 i 行的相应位置有一个棋子,如下:行号 1 2 3 4 5 6列号 2 4 6 1 3 5这只是棋子放置的一个解。请编一个程序找出所有棋子放置的解。并把它们以上面的序列方法输出,解按字典顺序排列。请输出前 3 个解,最后一行是解的总个数。输原创 2021-05-14 09:06:21 · 200 阅读 · 2 评论 -
BFS-马的遍历
马的遍历题目描述有一个n*m的棋盘(1<n,m<=400),在某个点上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步输入格式一行四个数据,棋盘的大小和马的坐标输出格式一个n*m的矩阵,代表马到达某个点最少要走几步(左对齐,宽5格,不能到达则输出-1)输入样例3 3 1 1输出样例0 3 23 -1 12 1 4题目来源P1443 马的遍历完整代码如下#include<stdio.h>#defin原创 2021-05-13 22:30:15 · 370 阅读 · 2 评论 -
DFS+String 单词接龙
单词接龙题目描述单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合部分合为一部分,例如 beast 和 astonish,如果接成一条龙则变为 beastonish,另外相邻的两部分不能存在包含关系,例如 at 和 atide 间不能相连。输入输入的第一行为一个单独的整数 n 表示单词数,以下 n 行每行有一个单词,输入的最后一行为一个单个字符,表示“龙”开头的原创 2021-05-10 01:32:49 · 602 阅读 · 7 评论 -
DFS-全排列问题
全排列核心代码:void dfs(int step){ if(step==n+1){ for(int i=1;i<=n;i++) printf("%d",a[i]); printf("\n"); return; } for(int i=1;i<=n;i++){ if(book[i]==0){ a[step]=i; book[i]=1; dfs(step+1); book[i]=0; } } return; }若要深究DFS内原创 2021-05-04 23:34:25 · 98 阅读 · 0 评论 -
BFS-迷宫最短路径问题
迷宫最短路径问题完整代码如下:#include<stdio.h>struct note{ int x;//横坐标 int y;//纵坐标 int s;//步数};int main(){ struct note que[2501]; int a[51][51] = { 0 }, book[51][51] = {0}; int next[4][2] = { {0,1} ,{1,0} ,{0,-1}, {-1,0} }; int head, tail;//引入队列 int原创 2021-05-06 00:06:16 · 371 阅读 · 0 评论