博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[算法导论]BFS @ Python
阅读量:6090 次
发布时间:2019-06-20

本文共 1232 字,大约阅读时间需要 4 分钟。

class Graph:    def __init__(self):        self.V = []class Vertex:    def __init__(self, x):        self.key = x        self.color = 'white'        self.d = 10000        self.pi = None        self.adj = []class Solution:    def BFS(self, G, s):        for u in G.V:            if u != s:                u.color = 'white'                u.d = 10000                u.pi = None        s.color = 'gray'        s.d = 0        s.pi = None        Q = []        Q.append(s)        while Q != []:            u = Q.pop(0)            for v in u.adj:                if v.color == 'white':                    v.color = 'gray'                    v.d = u.d + 1                    v.pi = u                    Q.append(v)            u.color = 'black'if __name__ == '__main__':    G = Graph()    r = Vertex('r')    s = Vertex('s')    t = Vertex('t')    u = Vertex('u')    v = Vertex('v')    w = Vertex('w')    x = Vertex('x')    y = Vertex('y')    r.adj = [s, v]    s.adj = [r, w]    t.adj = [u, w, x]    u.adj = [t, x, y]    v.adj = [r]    w.adj = [s, t, x]    x.adj = [t, u, w, y]    y.adj = [u, x]    G.V = [r, s, t, u, v, w, x, y]    m = Solution()    m.BFS(G, s)    for v in G.V:        if v != s:            print v.key, v.color, v.d, v.pi.key

 

转载地址:http://silwa.baihongyu.com/

你可能感兴趣的文章
Project:如何分析项目中的资源分配情况
查看>>
HDU 4803 Poor Warehouse Keeper (贪心+避开精度)
查看>>
小错误汇总
查看>>
Spring源码系列 — Envoriment组件
查看>>
java正则表达式去除html标签,Java中正则表达式去除html标签
查看>>
使用Cobbler批量部署Linux操作系统
查看>>
zabbix企业应用之服务端与客户端的安装
查看>>
实例讲解遗传算法——基于遗传算法的自动组卷系统【理论篇】
查看>>
无法在web服务器上启动调试。调试失败,因为没有启用集成windows身份验证
查看>>
Bat相关的项目应用
查看>>
Django为数据库的ORM写测试例(TestCase)
查看>>
NYOJ-107 A Famous ICPC Team
查看>>
与众不同 windows phone (44) - 8.0 位置和地图
查看>>
Visual Studio Code 使用 ESLint 增强代码风格检查
查看>>
iOS设备中的推送(二):证书
查看>>
敏捷 - #3 原则:经常提供工作软件 ( #3 Agile - Principle)
查看>>
数据结构与算法:二分查找
查看>>
使用思科模拟器Packet Tracer与GNS3配置IPv6隧道
查看>>
iOS开发-NSPredicate
查看>>
Exchange Server 2003 SP2 数据存储大小限制修改
查看>>