首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >寻找帮助确定从一个终端屏幕到另一个终端屏幕的最短路径的算法

寻找帮助确定从一个终端屏幕到另一个终端屏幕的最短路径的算法
EN

Stack Overflow用户
提问于 2011-11-16 14:46:54
回答 2查看 137关注 0票数 0

我使用终端客户端与大型机计算机进行交互。整个界面基于屏幕的概念。工作流示例可能如下所示:

  • 登录屏幕:输入登录凭据,按enter
  • 菜单屏幕:输入您想要的菜单项数量(让您说"6“表示备忘录),按enter
  • 备忘录屏幕:输入帐号,按enter
  • 添加备忘录屏幕:输入备忘录详细信息等,按回车以保存,F3返回

F29

我已经编写了一个python应用程序来通过这个终端接口自动处理记录。我遇到的一个困难是,有很多不同的屏幕,而我的应用程序现在对于如何从一个屏幕转到另一个屏幕非常愚蠢。它可以从登录屏幕,到添加备忘录。但是,如果它发现自己在备忘录屏幕上,并需要取消一个帐户,它必须再次注销和登录,因为它只知道如何从登录屏幕进入停用屏幕,而不是从添加备忘录屏幕。

因此,我想在我的应用程序中创建一个“地图”,将每个屏幕链接到“旁边”的屏幕。然后,我需要一个算法,可以告诉如何从任何屏幕A到任何屏幕B以尽可能最短的方式。

我已经设置了一些屏幕对象,并将它们与它们旁边的屏幕“关联”。因此,我正在寻找某种我可以实现的算法,或者我可以使用的python库来完成从一个屏幕到另一个屏幕的路由计算工作。

编辑:我意识到我在寻找一种最短路径图算法。目前抛给我的是,我没有真正的“距离”,我只是有节点。所以,我真的不想要最短的距离,我想要最少的节点。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-16 15:50:59

由于我使用的是未加权图,看起来最简单的方法是广度优先搜索:

http://en.wikipedia.org/wiki/Breadth-first_search

编辑:,我找到了一个库,它可以完成我需要的一切:

http://networkx.lanl.gov/reference/generated/networkx.algorithms.shortest_paths.generic.shortest_path.html

票数 0
EN

Stack Overflow用户

发布于 2011-11-16 15:38:04

如果您已经创建了屏幕的拓扑结构,则A*算法应该工作得很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8153525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档