n

nitin rathod
的评论 NUI Maynooth

3 几年前

贝斯特大学

贝斯特大学

大学的氛围非常好,是学习最好的大学。一个人可以从事任何领域,并可以在任何领域实现梦想,例如赛车,跳舞,唱歌和最重要的运动

一种 * \
GRAPH = {\
'Arad':{'Sibiu':140,'Zerind':75,'Timisoara':118},\
'Zerind':{'Arad':75,'Oradea':71},\
'Oradea':{'Zerind':71,'Sibiu':151},\
'Sibiu':{'Arad':140,'Oradea':151,'Fagaras':99,'Rimnicu':80},\
'Timisoara':{'Arad':118,'Lugoj':111},\
'Lugoj':{'Timisoara':111,'Mehadia':70},\
'Mehadia':{'Lugoj':70,'Drobeta':75},\
'Drobeta':{'Mehadia':75,'Craiova':120},\
'Craiova':{'Drobeta':120,'Rimnicu':146,'Pitesti':138},\
'Rimnicu':{'Sibiu':80,'Craiova':146,'Pitesti':97},\
'Fagaras':{'Sibiu':99,'Bucharest':211},\
'Pitesti':{'Rimnicu':97,'Craiova':138,'Bucharest':101},\
'布加勒斯特':{'Fagaras':211,'Pitesti':101,'Giurgiu':90,'Urziceni':85},\
'Giurgiu':{'Bucharest':90},\
'Urziceni':{'Bucharest':85,'Vaslui':142,'Hirsova':98},\
'Hirsova':{'Urziceni':98,'Eforie':86},\
'Eforie':{'Hirsova':86},\
'Vaslui':{'Iasi':92,'Urziceni':142},\
'Iasi':{'Vaslui':92,'Neamt':87},\
'Neamt':{'Iasi':87} \
}

def dfs_paths(源,目标,路径=无):
“”“使用深度优先搜索的从源到目的地的所有可能路径
:参数来源:来源城市名称
:参数目的地:目的地城市名称
:参数路径:当前遍历的路径(默认值=无)
:收益:从来源到目的地的所有可能路径
“”“
如果path为None:
路径= [来源]
如果源==目标:
屈服路径
对于集合中的next_node(GRAPH [源] .keys())-集合(路径):
dfs_paths(next_node,目标,路径+ [next_node])的收益

def ucs(源,目标):
“”“使用统一成本搜索从源到目的地的最便宜路径
:参数来源:来源城市名称
:参数目的地:目的地城市名称
:收益:最便宜的遍历的成本和路径
“”“
从队列导入PriorityQueue
priority_queue,已访问= PriorityQueue(),{}
priority_queue.put((0,source,[source]))
造访[来源] = 0
而不是priority_queue.empty():
(成本,顶点,路径)= priority_queue.get()
如果顶点==目的地:
退货成本,路径
对于GRAPH [vertex] .keys()中的next_node:
current_cost =费用+ GRAPH [顶点] [下一个节点]
如果不是next_node已访问或访问过[next_node]> = current_cost:
访问过的[next_node] = current_cost
priority_queue.put((当前成本,next_node,路径+ [next_node]))

def a_star(来源,目标):
“”“使用直线距离启发式方法从源到目标的最佳路径
:param来源:来源城市名称
:参数目的地:目的地城市名称
:回报:启发式价值,成本和最佳遍历路径
“”“
#这里直线距离值参考目的地为布加勒斯特
Straight_line = {\
'阿拉德':366,\
'Zerind':374,\
'Oradea':380,
'锡比乌':253,\
'蒂米什瓦拉':329,\
'Lugs'​​:244,\
'Mehadia':241,\
'Drobeta':242,\
'克拉约瓦':160,\
'Rimnicu':193岁,\
'Fagaras':176,\
'Pitesti':100,\
'布加勒斯特':0,\
'陪审团':77岁,\
'Urziceni':80岁,\
'Hirsova':151,\
'Eforie':161,\
'瓦斯路伊':199,\
'雅西':226,\
'Neamt':234 \
}

已翻译

注释:

暂无评论