最短路径算法Viterbi vs Dijkstra

Viterbi和Dijkstra算法看起来比较像,两者的区别:

  1. Dijkstra算法适应范围更广。Viterbi算法用在特殊的有向无环图中,而Dijkstra算法可以用在大部分图结构中(有向无向、有环无环都可以)。

  2. 搜索过程类似,但搜索顺序不同。Dijkstra每步选择最短路的结点处进行搜索,而Viterbi按照拓扑顺序逐层搜索。

  3. Dijkstra是基于贪心思路的,而Viterbi是一种动态规划思路。

猜你喜欢

转载自my.oschina.net/chunquedong/blog/1630267
今日推荐