Python图 家庭作业帮助服务 - Assignment Help

Python图家庭作业帮助

如果节点之间的边是无向的,则图形称为无向图。如果边缘从一个顶点(节点)指向另一个顶点,则图形称为有向图。有向边被称为圆弧。虽然图可能看起来很理论,许多实际问题可以用图表示。

在我们从Python中实际绘制图形开始之前,在开始介绍处理图形的Python模块之前,我们要致力于图论的起源。

起源让我们及时回到了18世纪的Künigsberg。那时候,科尼斯堡是普鲁士的一个城市。普雷格里河穿过城镇,创造了两个岛屿。城市和岛屿都连接着七座桥梁,如图所示。这个城市的居民被移动了一个问题,如果可以到镇上散步,可以到镇上的每一个地区,穿过这座桥只一次?每个桥梁必须完全穿过,即不允许在桥梁上走一段距离,然后转过身来,然后从另一侧越过另一半。步行不需要在同一个地方开始和结束。 Leonhard Euler在1735年解决了这个问题,证明这是不可能的。他发现,在每个陆地区域内选择一条路线是无关紧要的,唯一重要的是桥梁交叉的顺序(或序列)。他提出了这个问题的抽象,消除了不必要的事实,把重点放在了陆地和连接它们的桥梁上。他创造了图论的基础。如果我们看到一个“土地面积”作为一个顶点,每个桥梁都是一个边缘,那么我们将问题“减少”为一个图形。

在我们开始对可能的Python图形表示进行处理之前,我们要介绍一些图形及其组件的一般定义。

数学和计算机科学中的“图”1由“节点”,也称为“顶点”组成。节点可以彼此连接,也可以不连接。在我们的图示中,它是图形的图示,节点“a”与节点“c”连接,但是“a”与“b”不相关。两个节点之间的连接线称为边。如果节点之间的边是无向的,则图形称为无向图。如果边缘从一个顶点(节点)指向另一个顶点,则图形称为有向图。有向边被称为圆弧。

虽然图可能看起来很理论,许多实际问题可以用图表示。他们常常用来模拟物理,生物学,心理学中的问题或情况,尤其是在计算机科学中。在计算机科学中,图形用于表示通信网络,数据组织,计算设备,计算流程,

在后一种情况下,用于表示数据组织,如操作系统的文件系统或通信网络。网站的链接结构也可以被视为图形,即有向图,因为链接是有向边或圆弧。

Python没有用于图形的内置数据类型或类,但是可以很容易地在Python中实现它们。一种数据类型是在Python中表示图形的理想选择,即字典。我们的图示可以通过以下方式实现:

graph = {“a”:[“c”],

          “b”:[“c”,“e”],

          “c”:[“a”,“b”,“d”,“e”],

          “d”:[“c”],

          “e”:[“c”,“b”],

          “F” : []

        }

上面的字典的键是我们图的节点。相应的值是具有通过边缘连接的节点的列表。没有更简单和更优雅的方式来表示图表。

边缘可以看作是具有节点作为元素的二元组,即(“a”,“b”)

用于生成所有边的列表的功能:

def generate_edges(graph):

    edges = []

    对于图中的节点:

        对于图[node]中的邻居:

            edges.append((node,neighbor))

    返回边

print(generate_edges(graph))

此代码生成以下输出,如果与先前定义的图表字典组合:

$ python3 graph_simple.py

[(’a’,’c’),(’c’,’a’),(’c’,’b’),(’c’,’d’),(’c’,’e’ ,(’b’,’c’),(’b’,’e’),(’e’,’c’),(’e’,’b’), ]

我们可以看到,没有边缘包含节点“f”。 “f”是我们图的一个孤立节点。

以下Python函数计算给定图形的隔离节点:

def find_isolated_nodes(graph):

    “”“返回孤立节点列表。”“”

    孤立= []

    对于图中的节点:

        如果不是图[节点]:

            隔离+ =节点

    返回隔离

如果我们用图表来调用这个函数,那么将返回一个包含“f”的列表:[“f”]

我们现在想找到从一个节点到另一个节点的最短路径。在我们来Python代码解决这个问题之前,我们必须提出一些正式的定义。

相邻顶点:

当它们都入射到公共边缘时,两个顶点相邻。

无向图中的路径:

无向图中的路径是顶点P =(v1,v2,…,vn)∈Vx V x … x V的序列,使得vi对于1≤i而与v {i + 1}相邻<n。这样的路径P被称为从v1到vn的长度为n的路径。

简单路径:

没有重复顶点的路径称为简单路径。

例:

(a,c,e)是我们图中的简单路径,以及(a,c,e,b)。 (a,c,e,b,c,d)是路径,但不是简单路径,因为节点c出现两次。

图中的顶点v的程度是连接它的边的数量,循环计数了两次。顶点v的程度表示为deg(v)。由Δ(G)表示的曲线G的最大程度和由δ(G)表示的曲线图的最小度是其顶点的最大和最小程度。

在右侧的图中,顶点c的最大度数为5,最小度为0,即孤立的顶点f。

如果图中的所有度都相同,则该图是常规图。在常规图中,所有度数都是相同的,所以我们可以说出图的程度。

度数公式(Handshaking lemma):

Σv∈Vdeg(v)= 2 | E |

这意味着所有顶点的度数之和等于乘以2的边数。我们可以得出结论,奇数的顶点数必须是均匀的。这个说法被称为握手引语。 “握手引文”这个名字源自一个流行的数学问题:在任何一群人中,与群体中奇怪的其他人握手的人数甚少。

我们在家庭作业中为Python或Python Graph Homework提供专家帮助。我们的导师是为各级学生提供家庭作业帮助的专家。

Posted on March 31, 2017 in 蟒蛇

Share the Story

Back to Top
Share This