Python数据结构之图的应用示例


Posted in Python onMay 11, 2018

本文实例讲述了Python数据结构之图的应用。分享给大家供大家参考,具体如下:

一、图的结构

Python数据结构之图的应用示例

二、代码

# -*- coding:utf-8 -*-
#! python3
def searchGraph(graph,start,end):
  results =[]
  generatePath(graph,[start],end,results)
  results.sort(key =lambda x:len(x))
  return results
def generatePath(graph,path,end,results):
  state = path[-1]
  if state == end:
    results.append(path)
  else:
    for arc in graph[state]:
      if arc not in path:
        generatePath(graph,path +[arc],end ,results)
if __name__ =='__main__':
  Graph={'A':['B','C','D'],
  'B':['E'],
  'C':['D','F'],
  'D':['B','E','G'],
  'E':[],
  'F':['D','G'],
  'G':['E']}
  r = searchGraph(Graph,'A','E')
  print("******************")
  print(' path A to E')
  print("******************")
  for i in r:
    print(i)

三、运行结果

******************
  path A to E
******************
['A', 'B', 'E']
['A', 'D', 'E']
['A', 'C', 'D', 'E']
['A', 'D', 'B', 'E']
['A', 'D', 'G', 'E']
['A', 'C', 'D', 'B', 'E']
['A', 'C', 'D', 'G', 'E']
['A', 'C', 'F', 'D', 'E']
['A', 'C', 'F', 'G', 'E']
['A', 'C', 'F', 'D', 'B', 'E']
['A', 'C', 'F', 'D', 'G', 'E']

运行效果图如下:

Python数据结构之图的应用示例

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
pymssql ntext字段调用问题解决方法
Dec 17 Python
详解Python中的__new__()方法的使用
Apr 09 Python
Python中Continue语句的用法的举例详解
May 14 Python
Python实现根据IP地址和子网掩码算出网段的方法
Jul 30 Python
python爬虫实现教程转换成 PDF 电子书
Feb 19 Python
Python编程实现蚁群算法详解
Nov 13 Python
python3实现逐字输出的方法
Jan 23 Python
Python实现定时执行任务的三种方式简单示例
Mar 30 Python
python中的数据结构比较
May 13 Python
Django框架反向解析操作详解
Nov 28 Python
简单的命令查看安装的python版本号
Aug 28 Python
python中的垃圾回收(GC)机制
Sep 21 Python
python 重定向获取真实url的方法
May 11 #Python
基于python 爬虫爬到含空格的url的处理方法
May 11 #Python
解决Python 爬虫URL中存在中文或特殊符号无法请求的问题
May 11 #Python
解决Python网页爬虫之中文乱码问题
May 11 #Python
解决python爬虫中有中文的url问题
May 11 #Python
利用Python yagmail三行代码实现发送邮件
May 11 #Python
解决Pandas to_json()中文乱码,转化为json数组的问题
May 10 #Python
You might like
PHP中的正规表达式(一)
2006/10/09 PHP
PHP 获取客户端真实IP地址多种方法小结
2010/05/15 PHP
PHP+ACCESS 文章管理程序代码
2010/06/21 PHP
ThinkPHP3.1.3版本新特性概述
2014/06/19 PHP
Yii使用ajax验证显示错误messagebox的解决方法
2014/12/03 PHP
PHP之正则表达式捕获组与非捕获组(详解)
2015/07/29 PHP
深入php内核之php in array
2015/11/10 PHP
超详细的php用户注册页面填写信息完整实例(附源码)
2015/11/17 PHP
php利用header函数下载各种文件
2016/08/24 PHP
PHP中trait使用方法详细介绍
2017/05/21 PHP
js模拟弹出效果代码修正版
2008/08/07 Javascript
javascript 写类方式之四
2009/07/05 Javascript
js 得到文件后缀(通过正则实现)
2013/07/08 Javascript
整理Javascript基础语法学习笔记
2015/11/29 Javascript
用NODE.JS中的流编写工具是要注意的事项
2016/03/01 Javascript
用图片替换checkbox原始样式并实现同样的功能
2018/11/15 Javascript
vue单页应用的内存泄露定位和修复问题小结
2019/08/02 Javascript
基于layui table返回的值的多级嵌套的解决方法
2019/09/19 Javascript
JavaScript canvas基于数组生成柱状图代码实例
2020/03/06 Javascript
解决js中的setInterval清空定时器不管用问题
2020/11/17 Javascript
[53:03]Optic vs TNC 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
PyQt5每天必学之单行文本框
2018/04/19 Python
python通过paramiko复制远程文件及文件目录到本地
2019/04/30 Python
Python编写通讯录通过数据库存储实现模糊查询功能
2019/07/18 Python
根据tensor的名字获取变量的值方式
2020/01/04 Python
python多线程实现代码(模拟银行服务操作流程)
2020/01/13 Python
基于python检查SSL证书到期情况代码实例
2020/04/04 Python
input元素的url类型和email类型简介
2012/07/11 HTML / CSS
分公司经理岗位职责
2013/11/11 职场文书
乡镇党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
12.4全国法制宣传日活动总结
2014/11/01 职场文书
2015年宣传工作总结
2015/04/08 职场文书
2015年信贷员工作总结
2015/04/28 职场文书
初级职称评定工作总结
2015/08/13 职场文书
七年级作文(600字3篇)
2019/09/24 职场文书
Java死锁的排查
2022/05/11 Java/Android