python 图实现

#coding:utf-8
__author__ = ‘similarface‘

class Graph:
    def __init__(self,label,extra=None):
        #节点是类实例
        self.name=label
        #而图是由类实例链接而成
        self.data=extra
        self.arcs=[]

    def __repr__(self):
        return self.name

    def search(self,goal):
        Graph.solns=[]
        self.generate([self],goal)
        Graph.solns.sort(key=lambda x:len(x))
        return Graph.solns

    def generate(self, path, goal):
        if self == goal:
            Graph.solns.append(path)
        else:
            for arc in self.arcs:
                if arc not in path:
                    arc.generate(path + [arc], goal)
if __name__=="__main__":
    for name in "ABCDEFG":
        exec("%s = Graph(‘%s‘)" % (name, name))
    A.arcs = [B, E, G]
    B.arcs = [C]
    C.arcs = [D, E]
    D.arcs = [F]
    E.arcs = [C, F, G]
    G.arcs = [A]

    A.search(G)
时间: 2024-10-23 14:39:36

python 图实现的相关文章

PySide——Python图形化界面入门教程(六)

PySide——Python图形化界面入门教程(六) ——QListView和QStandardItemModel 翻译自:http://pythoncentral.io/pyside-pyqt-tutorial-qlistview-and-qstandarditemmodel/ 上一个教程中,我们讨论了Qt的QListWidget类,它用来实现简单的单列列表框(list boxes).然而,我们还需要更加灵活的widget来实现列表,Qt为此提供了QListView 来实现多种多样的项.它是一

PySide——Python图形化界面

PySide——Python图形化界面 PySide——Python图形化界面入门教程(四) PySide——Python图形化界面入门教程(四) ——创建自己的信号槽 ——Creating Your Own Signals and Slots 原文链接:http://pythoncentral.io/pysidepyqt-tutorial-creating-your-own-signals-and-slots/ 你不必局限于Qt widget提供的信号,你可以使用Signal类来创建自己的信号

PySide——Python图形化界面入门教程(一)

PySide——Python图形化界面入门教程(一) ——基本部件和HelloWorld 原文链接:http://pythoncentral.io/intro-to-pysidepyqt-basic-widgets-and-hello-world/ 本教程第一部分将给出PySide的最基本知识点,包含使用的对象,和一些能帮助你了解Python/Qt应用是如何构建的小例子. 首先来看一下基本的Qt对象.Qt包含了许多类去处理XML.多媒体.数据库和网络等等事物,但我们现在重点关注可视化的元素——窗

PySide——Python图形化界面入门教程(二)

PySide——Python图形化界面入门教程(二) ——交互Widget和布局容器 ——Interactive Widgets and Layout Containers 原文链接:http://pythoncentral.io/pyside-pyqt-tutorial-interactive-widgets-and-layout-containers/ 上一个教程中,我们了解了一些QWidget提供的功能,还有一个特殊的子类QLabel.更进一步的,我们完成了一个用来说明简单Python/Q

PySide——Python图形化界面入门教程(三)

PySide——Python图形化界面入门教程(三) ——使用内建新号和槽 ——Using Built-In Signals and Slots 上一个教程中,我们学习了如何创建和建立交互widgets,以及将他们布局的两种不同的方法.今天我们继续讨论Python/Qt应用响应用户触发的事件:信号和槽. 当用户执行一个动作——点击按钮,选择组合框的值,在文本框中打字——这个widget就会发出一个信号.这个信号自己什么都不做,它必须和槽连接起来才行.槽是一个接受信号的执行动作的对象. 连接内建P

python 图形化(Tkinter)

python提供了多个图形开发界面的库,几个常用Python GUI库如下: Tkinter: Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口.Tk和Tkinter可以在大多数的Unix平台下使用,同样可以应用在Windows和Macintosh系统里.,Tk8.0的后续版本可以实现本地窗口风格,并良好地运行在绝大多数平台中. wxPython:wxPython 是一款开源软件,是 Python 语言的一套优秀的 GUI 图形库,允许 Python 程

安装Python图型处理库Python Imaging Library(PIL)

方法1: 在Debian/Ubuntu Linux下直接通过apt安装: $sudo apt-get install python-imaging Mac和其他版本的Linux可以直接使用easy_install或pip安装,安装前需要把编译环境装好: $sudo easy_intall PIL 或者 $sudo pip install PIL 方法2: 1.下载PIL的Source Kit(因为这个包支持全部平台) Imaging--1.1.6.tar.gz URL: http://www.p

python图工具中基于随机块模型动态网络社团检测

原文链接:http://tecdat.cn/?p=7602 这是“政治博客圈和2004年美国大选”中的政治博客网络图,但是边缘束是使用随机块模型确定的(注:下图与图相同(即,布局和数据相同)). Tiago论文中的5-我只是在上面放了一个黑色背景 . 边缘配色方案与Adamic和Glance的原始论文中的相同,即每个节点对应一个博客URL,颜色反映政治取向,红色代表保守派,蓝色代表自由派.橙色边从自由派博客到保守派博客,紫色边从保守派到自由派(参见Adamic和Glance中的图1). 颜色方案

《利用Python进行数据分析》.(Wes McKinney).[PDF].pdf

下载地址:网盘下载 内容简介  · · · · · · [名人推荐] "科学计算和数据分析社区已经等待这本书很多年了:大量具体的实践建议,以及大量综合应用方法.本书在未来几年里肯定会成为Python领域中技术计算的权威指南." --Fernando Pérez 加州大学伯克利分校 研究科学家, IPython的创始人之一 [内容简介] 还在苦苦寻觅用python控制.处理.整理.分析结构化数据的完整课程?本书含有大量的实践案例,你将学会如何利用各种Python库(包括NumPy.pan