我们希望实施适用于Android的公共交通指南。 输入将是起点和终点。产出将是 告诉我们如何使用巴士,地铁,以及如何到达目的地的指令...... e.c 这对大城市来说并不容易,我们必须有一个设计良好的数据库来快速回答。 Tranport算法必须为passanger提供最佳线条。 我想看看你珍贵的数据库和算法设计的想法。 非常感谢您的答复。公共交通的数据库设计和算法?
回答
最有可能你需要一个graph来计算最短路径。
您的图表将会是G=(V,E)
,例如V = {all possible stations}
和E = {(u,v) | there is a transport connecting station u to station v}
。
如果你的图形不能适应内存[这可能是一个大城市的情况],你可能想要一个函数successors(u) = { v | (u,v) in E }
,这将允许你在飞行中计算图形。
在this older question有一些讨论如何有效地找到一个动态环境中的两个顶点之间的路径类似于你正在描述的。
我们没有距离或时间,只有路线(例如:32-51-12-65-45,号码是车站号)。我们还应该使用图吗? – fiasco 2012-02-06 20:33:01
@ user1193197:即使没有时间,使用图表可以给你很多信息。例如,您可以在其上运行简单的[BFS](http://en.wikipedia.org/wiki/Breadth-first_search)以查找具有最少开关数的路径。所以:是的,对于这些问题,我会说图表是一个不错的选择。 – amit 2012-02-06 20:35:43
作为@amit建议你应该使用图形,因为你没有任何距离/时间,你可以使用'0'这些值。我要求使用'0'的原因是,将来可能为下一个版本节省大量新的实现。 – 2012-02-06 20:46:10
- 1. 如何设计公共交通时刻表数据库?
- 2. 用于处理公共数据库和非公用数据库的数据库设计
- 3. 跨公司计算机的共享数据库
- 4. 通过公共IP访问计算机
- 5. 公交公交算法
- 6. 数据库设计共享数据
- 7. 云计算和我公司的数据
- 8. 叉公共仓库到私人和接受公共提交
- 9. 公告牌数据库设计
- 10. 如何创建返回计算值的公共计算函数?
- 11. 国家公共交通API
- 12. 数据库设计的通知设置
- 13. 获得平均值的计算和数据库设计
- 14. 带计算字段和过滤的FileMaker数据库设计
- 15. 谷歌静态地图,交通和公共交通叠加
- 16. 公司,产品,配件和协会的数据库设计
- 17. 会计数据库设计问题,“账户”和“交易”
- 18. 数据库设计交钥匙记录
- 19. 数据库设计商店交易
- 20. 数据库设计 - 记录交易
- 21. “通用概念”的数据库设计
- 22. JRuby的公共数据库适配器
- 23. 如何统计数据库中的公共字段?
- 24. 任何方式检索公共交通数据?
- 25. 公共交通中的消息追踪
- 26. 统计共有数据库
- 27. 会计系统设计和数据库
- 28. 设计数据库的正确方法
- 29. 设计数据库 - 更好的方法
- 30. 数据库设计中的外键 - 数据库设计
我们希望看到你的解决问题的宝贵尝试:) – dasblinkenlight 2012-02-06 20:11:30
首先 - 尝试学习一些关于图论的东西,其次 - 尝试解决np-full“推销员任务”8-) – 2012-02-06 20:16:31