python 邻接表实现有向图

本文介绍了如何使用Python简洁地实现有向图的邻接表结构,并且包含了BFS和DFS的实现。文章指出,相比于C++中用链表实现邻接表,Python的字典操作更为简便。给出了输入格式,包括顶点数量、边的数量,以及如何输入顶点和边的信息,强调输入保证无自环。
摘要由CSDN通过智能技术生成

python 邻接表实现有向图

事实上,用c++实现邻接表实在是太烦了,用链表实现,不同类的指针。索性用python随手写一个,用的是字典。
顺便加了bfs与dfs

看一下输入

【输入形式】
每一组第一行有两个数n、m表示n个顶点,m条有向边。
输入顶点信息,并用空格隔开,顶点信息以大写字母表示
接下来有m行,每行三个数u、v、w代表权值为w的一条由u到v的有向边
注意: 2<=n<=10,n<m<=10,w为正整数,输入保证没有自环

class graph():
    def __init__(self):
        self.g={
   } #字典

    def realize_matrix(self,edge):
        for i in edge:
            start, end, weight = i[0], i[1], int(i[2])
            if start not in self.g.keys():
                self.g[start] &#
  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值