
File:Dijkstra_Animation.gif · Wikimedia Commons · See Wikimedia Commons
Dijkstra's algorithm is a method for finding the shortest path between points in a network or graph by systematically exploring nearby connections and gradually expanding outward. It matters because it's widely used in real-world applications like GPS navigation, network routing, and mapping services where finding efficient routes quickly is important.
AI-generated from the Wikipedia summary — may contain errors.
Key facts
- Class
- Search algorithm , Greedy algorithm , Dynamic programming
- Data structure
- Graph , Usually used with priority queue or heap for optimization
- Worst case performance
- Θ ( | E | + | V | log | V | ) {\displaystyle \Theta (|E|+|V|\log |V|)}
via Wikipedia infobox
Wikidata facts
- Image
- Dijkstra Animation.gif
Show 4 more facts
- Commons category
- Dijkstra's algorithm
- Stack Exchange tag
- stackoverflow.com/tags/dijkstra
- Commons gallery
- Dijkstra's algorithm
- time of discovery or invention
- 1959-00-00
via Wikidata · CC0
Article · 中文
戴克斯特拉算法(英語:Dijkstra's algorithm),又译迪杰斯特拉算法,亦可不音譯而稱爲Dijkstra算法,是由荷兰计算机科学家艾茲赫尔·戴克斯特拉在1956年发现的算法,并于3年后在期刊上发表。戴克斯特拉算法使用类似廣度优先搜索的方法解决赋权图的单源最短路径问题。 该算法存在很多变体:戴克斯特拉的原始版本仅适用于找到两个顶点之间的最短路径,后来更常见的变体固定了一个顶点作为源结点然后找到该顶点到图中所有其它结点的最短路径,产生一个最短路径树。 该算法解决了圖 上带权的单源最短路径问题。具体来说,戴克斯特拉算法设置了一顶点集合,在集合中所有的顶点与源点之间的最终最短路径权值均已确定。算法反复选择最短路径估计最小的点并将加入中。该算法常用于路由算法或者作为其他图算法的一个子模块。举例来说,如果图中的顶点表示城市,而边上的权重表示城市间开车行经的距离,该演算法可以用来找到两个城市之间的最短路径。 应当注意,绝大多数的戴克斯特拉算法不能有效处理带有负权边的图。 戴克斯特拉算法在计算机科学的人工智能等领域也被称为均一开销搜索,并被认为是的一个特例。
Abstract from DBpedia / Wikipedia · CC BY-SA