我需要建立路线和方向之间的关系。我不知道哪种数据结构适合我,以及我应该如何进行。目前,我有两个列表/数组。一个数组包含路由,另一个数组包含方向。例如,路线= 11,12,13,14,15,16,17,18,19,20方向=“北”、“南”、“西”、“东”、“入内”、“出站”。其中一些路线(如巴士服务)只朝两个方向,一个方向,等等。例如,11,12,19向北和南。18,20进入入站和出站。17人只能入境。14,15走到各个方向。
那么,在JavaScript或python中实现这一点的更好方法是什么呢?我可以把这看作是一个图DS问题。有谁能帮我或者更好地接近我吗?
发布于 2017-11-16 19:25:50
您可以像Python中的dict
那样构造数据(本质上是一个hashmap)。这样做的想法是,您有键:易于访问的值对。
根据访问数据的方式,可以按如下方式构造数据:
{
11 : ['north', 'south'],
17 : ['inbound'],
...
}
其中,键是路线,值是方向列表。
或
你可以这样构造:
{
'north' : [11, 12, 14, 15, 19],
'inbound' : [17, 18, ...],
...
}
其中键是方向,值是指向该方向的路由列表。
在dict中获取值是O(1),在列表中查找值是O(n)。为了获得更好的速度,您可以使用set
作为值,它的查找速度也是O(1)。
https://stackoverflow.com/questions/47336839
复制相似问题