将图形放置在二维阵列上

2024-03-29 08:59:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个由节点和连接组成的图。每个节点都有它所连接到的每个其他节点的列表,如对象:

class Node():
  def __init__(self):
    self.connections = []
  def connect(self, node):
    self.connections.append(node)
    node.connections.append(self)

这是我的节点类的简化版本。这些节点以树状结构连接-无循环连接。我要怎么把图形变成

a-b/f/h
\c-d-e-g公司

变成一个二维数组

^{pr2}$

数组没有大小限制,但生成的数组应该有点精简。如果需要,可以创建额外的节点作为填充。
这与要求将迷宫转换为图形的问题恰恰相反。在


Tags: 对象self版本node图形列表节点init
1条回答
网友
1楼 · 发布于 2024-03-29 08:59:19
  1. 确定方向优先顺序(N、E、S、W)
  2. 对于具有4个以上连接的任何节点:
    1. 添加新的“连接”节点
    2. 溢出节点有4个以上的连接
    3. 如果不解析节点,而不只是创建节点
    4. 从溢出节点断开连接
    5. 连接到新节点
  3. 将起始节点放置在0,0
  4. 将当前节点设置为最后完成的节点
  5. 对于每个连接节点
    1. 如果方向是空的? Y: 将节点放入空间,转到4
    2. 按顺序对所有其他首选项重复此操作
    3. 如果所有连接已满,撤消所有连接并返回bad

相关问题 更多 >