码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 用Python实现广度优先搜索


    图是一种善于处理关系型数据的数据结构,使用它可以很轻松地表示数据之间是如何关联的

    图的实现形式有很多,最简单的方法之一就是用散列表

    背景

    图有两种经典的遍历方式:广度优先搜索和深度优先搜索。两者是相似的。

    实现

    1广度优先搜索算法需要用队列来记录后续要处理哪些顶点。

    2该队列最初只含有起步的顶点

    3处理顶点。我们将其移出队列,标为“已访问”,并记为当前顶点

    class Bfs:
        def __init__(self,from_v,json):
            # 最初的顶点
            self.from_v = from_v
            # 已访问
            self.visitList = [self.from_v]
            # 需要一个队列来记录后续需要处理哪些顶点
            self.vertexQ = queue.Queue()
            self.json = json

    核心步骤

    (1) 找出当前顶点的所有邻接点。如果有哪个是没访问过的,就把它标为“已访问”,并且将它入队。(尽管该顶点并未作为“当前顶点”被访问过。)

    (2) 如果当前顶点没有未访问的邻接点,且队列不为空,那就再从队列中移出一个顶点作为当前顶点。

    (3) 如果当前顶点没有未访问的邻接点,且队列里也没有其他顶点,那么算法完成。

    图解

    1首先A会作为顶点,A被访问

    2再去寻找A领接点B、D,依次加入队列

  • 相关阅读:
    每日五问(java)
    二、鼎捷T100之MDS(Master Demand Schedule)计算
    Docker: 使用容器化数据库
    企业云成本管控,你真的做对了吗?
    JavaScript 数据结构与刷题基础
    JSP ssm 网上求职管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计
    N32学习笔记2-GPIO使用和关闭JTAG打开SW调试模式
    智乃酱的平方数列(线段树维护2次函数)
    Nginx代理MinIO时出现“Access Denied“错误
    论文解读(DCN)《Towards K-means-friendly Spaces: Simultaneous Deep Learning and Clustering》
  • 原文地址:https://blog.csdn.net/m0_59485658/article/details/126683122
  • 最新文章
  • OpenClaw Dreaming 记忆流水线底层架构:状态分层、证据留痕与检索回流
    .NET 10 桌面 UI 框架的范式演进:Jalium.UI 与 MewUI 架构深度对比
    [对比学习LangChain和MAF-02]基本编程模式的差异(下篇)
    我的编程经历,从天桥地摊Basic到西藏阿里的.Net AOT。(续二)
    House of botcake与IOFILE任意读写
    Markdown锚点跳转失败的解决办法
    "Sample Is Feature: Beyond Item-Level, Toward Sample-Level Tokens for Unified Large Recommender Models" 论文笔记
    拒绝宕机!用 Python 优雅榨干百万级 GIS 点矢量的裁剪极限
    PyTorch KernelAgent 源码解读 ---(5)--- Dispatcher
    PerryTs初探(一): Windows端安装perry.ts
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号