深度优先搜索

可以这样理解,向四边延伸搜索,然后遇到不能搜索的时候就回退,也就是回溯思想,然后再去其它可能地方搜索。

题目:

定义一个二维数组:

int maze[5][5] = {
    0, 1, 0, 0, 0,
    0, 1, 0, 1, 0,
    0, 0, 0, 0, 0,
    0, 1, 1, 1, 0,
    0, 0, 0, 1, 0,
};

它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的路线。程序如下:

#include<stdio.h>#define MAX_ROW 5
#define MAX_COL 5int top = 0;struct Node {int row;int col;
} stack[512];int maze[MAX_ROW][MAX_COL] = {0, 1, 0, 0, 0,0, 1, 0, 1, 0,0, 0, 0, 0, 0,0, 1, 1, 1, 0,0, 0, 0, 1, 0,
};void push_stack(struct Node node)
{stack[top++] = node;
}struct Node pop_stack()
{return stack[--top];
}int is_empty() {return top == 0;
}void printf_stack()
{for (int i &

数据结构之深度优先搜索(用栈实现)问题相关推荐

  1. 数据结构 || 图深度优先搜索遍历以及求两点间的简单路径

    本文图的存储结构是基于无向图的邻接多重表实现的 图的深度优先搜索的递归遍历 void DFS(AMLGraph G, int i) {cout << G.adjmulist[i].data ...

  2. 【搜索算法】深度优先搜索遍历

    深度优先,顾名思义是向纵深处遍历树或图,如下图所示: 遍历顺序为1–3–6–9–13–12–5–2–4–8–11–7–10 每次都看向树的右子树,当右子树全部看完后再回到树根向左看(回溯),因此采用堆 ...

  3. 宽度优先搜索与深度优先搜索

    宽度优先搜索算法顺序:1-2-3-4-5-6-7 深度优先搜索算法顺序:1-2-4-5-3-6-7 宽度优先搜索算法(又称广度优先搜索)BFS,属于一种盲目搜寻法,目的是系统地展开并检查图中的所有节点 ...

  4. 迷宫问题:深度优先搜索和广度优先搜索

    迷宫问题:深度优先搜索和广度优先搜索 1.深度优先搜索可以使用栈实现,栈顶元素为当前节点 2.当前节点搜索下一节点,判断节点是否走得通,如果走得通任意方向走一步,走不通一直弹出栈内元素,直到走得通 3 ...

  5. 深度优先搜索(DFS)与广度优先搜索(BFS)

        深度优先搜索(Depth-First Search)和广度优先搜索(Breadth-First Search)都是对图进行搜索的算法,两者都是从起点开始顺着边搜索,直到找到结果为止,区别在于两 ...

  6. 数据结构与算法—图论之dfs、bfs(深度优先搜索、宽度优先搜索)

    文章目录 前言 邻接矩阵和邻接表 深度优先搜索(dfs) 宽度(广度)优先搜索(bfs) 总结与比较 前言 在有向图和无向图中,如果节点之间无权值或者权值相等,那么dfs和bfs时常出现在日常算法中. ...

  7. 数据结构 图 简单入门 最小生成树 深度优先搜索 广度优先搜索

    早上上班路上,看到一则新闻,广州的.新闻说的是一个辅警在路边查过往路人的身份证,其中有一个记者,就询问,根据哪条法律要查询他的身份证.辅警当然不知道(事后据说,就是闲着无聊,查着玩的!),也肯定不会认 ...

  8. 【数据结构与算法】2.深度优先搜索DFS、广度优先搜索BFS

    原文链接:https://blog.csdn.net/qq_41681241/article/details/81432634 总结 一般来说,广搜常用于找单一的最短路线,或者是规模小的路径搜索,它的 ...

  9. 数据结构与算法--图论-深度优先搜索及其应用

    深度优先搜索 深度优先搜索(depth-first search) 是对先序遍历(preorder traversal)的推广,我们从某个顶点v开始处理v,然后递归的遍历所有与v邻接顶点.如果这个过程 ...

最新文章

  1. Android HAL模块的加载过程
  2. 训练集数量对神经网络光谱的影响
  3. 按下什么使物体复位_路医生说丨打哈欠、吃苹果把“下巴”弄脱臼了,自己能复位么?...
  4. iOS开发——高级技术PassBook服务
  5. ecs云服务器 mysql经常自动停止挂掉重启问题分析
  6. vm虚拟机安装gho系统_虚拟机怎么安装gho系统
  7. Delphi已经25岁了,我的公司每天都在使用Delphi开发跨平台的实时视频会议软件APP
  8. 机器学习——鸢尾花数据集
  9. win10操作系统使用IE8浏览器仿真环境
  10. vscode快捷键快速打开终端到当前目录打开的文件位置
  11. 360导航底部的效果html,jQuery仿360导航页图标拖动排序效果代码分享
  12. mysql索引的子部分_Mysql索引数据结构详解及性能调优
  13. “马赛克”真能去除了?老司机狂喜!
  14. 杂记二 · 永远不服输
  15. 如何判断网站SSL证书是否安装成功?
  16. 一文看懂个税2022
  17. WIN7电脑如何共享WiFi
  18. Android系统学习(一)------编译系统Android7.0
  19. 【新能源】从“材料”到“电池组”一文读懂动力电池生产全流程!
  20. bzoj4755: [Jsoi2016]扭动的回文串 manacher+二分+Hash

热门文章

  1. 国内最大.NET平台重金招募中 你竟然还不知道?
  2. 2020年CNCF和开源项目开发速度
  3. 学习笔记 | 传统企业互联网改革之道
  4. 使用 .NET 进行游戏开发
  5. 用C#在STM32上写第一个Hello world
  6. 红帽借“订阅”模式成开源一哥,首创者升任总裁
  7. 网易裁员背后,芸芸众生,相煎何急
  8. 依赖倒置原则(DIP)、控制反转(IoC)、依赖注入(DI)(C#)
  9. 黑科技抢先尝(续2) - Windows terminal中Powershell Tab的美化全攻略
  10. ASP.NET Core 实战:使用 Docker 容器化部署 ASP.NET Core + MySQL + Nginx