Python 如何检查字典是否为;“连接”吗;?

Python 如何检查字典是否为;“连接”吗;?,python,python-3.x,dictionary,Python,Python 3.x,Dictionary,马上,这是学校作业。然而,我们被告知,如果我们不能用循环自己找到一个解决方案,我们可以在线找到一个或在线找到一个算法,但我们应该引用它。所以问题是,给定一个连接字典d={'f1':['f2'],'f2':['f3'],'f3':['f1'],我如何检查它是否连接?字典也可以断开连接,由我来判断它是否连接,并分别返回true或false。我们不允许任何导入。我不要求代码,可能只是列出步骤或伪代码。此外,值可以包含多个项,因此可以是“f1”:[“f2”,“f6”] 有向图的矩阵表示是完全连通的,当

马上,这是学校作业。然而,我们被告知,如果我们不能用循环自己找到一个解决方案,我们可以在线找到一个或在线找到一个算法,但我们应该引用它。所以问题是,给定一个连接字典d={'f1':['f2'],'f2':['f3'],'f3':['f1'],我如何检查它是否连接?字典也可以断开连接,由我来判断它是否连接,并分别返回true或false。我们不允许任何导入。我不要求代码,可能只是列出步骤或伪代码。此外,值可以包含多个项,因此可以是“f1”:[“f2”,“f6”]

有向图的矩阵表示是完全连通的,当 如果主对角线包含零,因为主对角线 表示每个顶点与自身的连接。 与此不同的任何内容都表示未完全连接的图形


这应该是解决方案的起点。

您可以逐步列出连接到字典中任何其他项的字典项的键

  • 第一个阶段如下:从 仅原始字典第一项的键。检查 此项的值或键与另一项的值或键相似 项。将这些键添加到此列表。这是 连接到第一个项目的项目

  • 第二阶段:创建另一个列表,这次从 字典中的第二项。类似于第一阶段,添加到此 在字典的其余部分列出连接项的键,
    包括第一个

  • 第三阶段:进入下一个项目,按照第三阶段中的步骤进行操作
    第二,如您所见,您将有一个项目键列表
    链接到与列表中所有其他项目进行比较的项目
    然后,你计算你拥有的组(阶段)的数量,
    它应该等于字典中的项目数

  • 最后,您必须检查组是否连续链接
    一组到下一组,每次至少有一个项目(由 钥匙)

  • 如果此系列链接连接所有键组,则
    我想整本字典都是连在一起的。你可能得试一个数字 排列的顺序(更改链接组的顺序)


请定义“已连接”我不确定仅仅询问是否算作找到一个……为什么不自己尝试一下呢?您要求的是图形连接,即:如何确定是否存在连接每个顶点的路径。您的字典数据结构具有键(顶点)和值(各个键的邻居)。在线上有许多算法:)