我正努力找到问题的确切答案。我有20乘20格。我正在寻找一个PHP代码示例,公式或正确的算法名称,以找出以下内容:
所以说我的网格水平从A到T,垂直从1到20。我希望计算从我的原点A5到目的地G12的最短路线,同时根据最短的整体路线经过C7,D9,E5或J8。
此外,知道如何扩展它将会很方便,因此它不仅可以通过一个点,而且可能通过2点,然后到达目的地(G12)。
我已经搜索了2天,我的思绪正在与Dijkstra,TSP,BFS和其他人一起旋转!
三江源!
答案 0 :(得分:1)
如果您可以直接跳到忽略整个网格的中间点,那么基本几何图形表明从点override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
super.prepare(for: segue, sender: sender)
if segue.identifier == "category" {
let senderButton = sender as! UIButton
switch senderButton{
case attractionsButton:
let user = attractions
let controller = segue.destination as? CategoryListedViewController
controller?.categoryList = user
case eatingButton:
//editing button scenario
print("editing button scenario")
default:
//default code
print("default scenario")
}
}
}
(tart)到点S
(nd)的最短路径是通过所需的点{{ 1}}只是两个线段E
并且计算它的总距离实际上非常快(它只是标准的欧几里德距离)。因此,除非您有数千个可能的中间点,只需检查所有路径A
,SA + AE
,...并且比较距离将非常快。即使有两个中间点,并且游泳池的大小也只有十几个,但只有几百个组合,所以蛮力仍然会很快起作用。