使用Python在关系数据库上循环

2024-03-28 23:04:58 发布

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

我试图找出一个python循环,它将在给定的数据集中找到从a点到B点的最小成本。例如,如果有人想用最低的成本从旧金山飞到纽约,用下面的数据。p>

sql.keys
# [u'id', u'departure', u'arrival', u'cost']

for i in sql:
  print i
#(0, u'San Francisco', u'New York', 600)
#(1, u'Denver', u'Chicago', 100)
#(2, u'New York', u'DC', 100)
#(3, u'Chicago', u'New York', 200)
#(4, u'San Francisco', u'Denver', 200)

通过以上示例,我希望结果将返回以下结果:

(u'San Francisco', u'New York', 500)

因为有人可以通过SF->;丹佛->;芝加哥->;纽约500美元,而不是直飞600美元

提前谢谢


Tags: 数据gtidnewsqlkeys成本san
1条回答
网友
1楼 · 发布于 2024-03-28 23:04:58

这是一个在图中寻找最短路径的标准图问题

最著名的算法是Dijkstra

如果数据适合内存,我将构建一个内存图,然后用Dijkstra算法对其应用,起始节点为“sanfrancisco”。 这比查询每个边缘的数据库要快

相关问题 更多 >