Dijkstra 算法
Dijkstra算法,中文名音译作迪杰斯特拉算法或戴克斯特拉算法,它是一个用来解决赋权图的单源最短路径问题的算法。
之所以这个算法名这么不好读也不好记,是因为 Dijkstra 是一个荷兰语的姓氏,很显然是它的发明者的姓氏。
荷兰科学家Edsger Wybe Dijkstra(艾兹赫尔·戴克斯特拉)在1956年发现了该算法。
赋权图
什么叫赋权图呢?就是每一条边都有一个权值的有向图或无向图。赋权图的权值可大可小,可正可负。
不过 Dijkstra 算法只处理那些所有边的权值都为非负的赋权图。严格讲,Dijkstra 算法解决的是权值非负的赋权图中的单源最短路径问题。
赋权图可以是有向的也可以是无向的,对此Dijkstra算法并不挑剔,都能处理。
单源最短路径问题&n