码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 图的深度优先遍历


    一 点睛

    深度优先搜索是最常见的图搜索方法之一。深度优先搜索沿着一条路径一直搜索下去,在无法搜索时,回退到刚刚访问过的节点。深度优先遍历是按照深度优先搜索方式对图进行遍历的。

    深度优先遍历的秘籍:后被访问的节点,其邻接点先被访问。

    根据深度优先遍历秘籍,后来者先服务,这可以借助栈实现。递归本身就是使用栈实现的,因此使用递归的方法更方便。

    二 算法步骤

    1 初始化图中的所有节点都未被访问。

    2 从图中的某个节点 v 出发,访问 v 并标记其已被访问。

    3 依次检查 v 的所有邻接点 w,如果 w 未被访问,则从 w 出发进行深度优先遍历(递归调用,重复步骤 2~3)。

    三 图解

    1 初始化所有节点都未被访问,visited[i] = false,i=[1,8]。

    2 从节点1出发,标记其已被访问,visited[1] = true。

    3 从节点1出发访问邻接点2,然后从2节点出发访问节点4,从节点4出发访问节点5,从节点5出发,没有节点再可访问。

    4 回退到刚刚访问过的节点4,节点4也没有未被访问的邻接点,回退到最近访问过的节点2,从节点2出发访问下一个未被访问的邻接点6。

    5 从节点6出发访问没有被访问的邻接点,回退到刚刚访问过的节点2,节点2没有被访问的邻接点,回退到最近访问过的节点1。从节点1出发访问下一个未被访问的邻接点3,从节点3出发访问节点7,从节点7出发访问节点8,从节点8出发再没被访问的邻接点。

    6 回退到刚刚访问过的节点7,节点7没有未被访问的邻接点,回退到最近访问过的节点3,节点3也没有未被访问过的邻接点,回退到最近访问过的节点1,节点1也没有未被访问的邻接点,遍历结束。

    深度优先遍历序列为 1 2 4 5 6 3 7 8

  • 相关阅读:
    Fiddler Everywhere 3.2.1 Crack
    Nginx 文件名逻辑漏洞(CVE-2013-4547)
    电子文档管理对企业至关重要的4个原因
    使用驱动器中的光盘之前需要将其格式化怎么办,使用驱动器中的光盘之前需要将其格式化恢复办法
    Java项目:ssh基于spring+springmvc+hibernate+bootstrap开发小型物业维修管理系统
    数据结构:二叉树的链式结构
    Python DCM转NRRD及NRRD转NII
    PCL-MAL 聚己内酯马来酰亚胺
    【SpringBoot AOP Redis实现延时双删功能实战】
    C++:模板(初级)
  • 原文地址:https://blog.csdn.net/chengqiuming/article/details/125459230
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号