Viterbi和Dijkstra算法看起来比较像,两者的区别:
-
Dijkstra算法适应范围更广。Viterbi算法用在特殊的有向无环图中,而Dijkstra算法可以用在大部分图结构中(有向无向、有环无环都可以)。
-
搜索过程类似,但搜索顺序不同。Dijkstra每步选择最短路的结点处进行搜索,而Viterbi按照拓扑顺序逐层搜索。
-
Dijkstra是基于贪心思路的,而Viterbi是一种动态规划思路。
Viterbi和Dijkstra算法看起来比较像,两者的区别:
Dijkstra算法适应范围更广。Viterbi算法用在特殊的有向无环图中,而Dijkstra算法可以用在大部分图结构中(有向无向、有环无环都可以)。
搜索过程类似,但搜索顺序不同。Dijkstra每步选择最短路的结点处进行搜索,而Viterbi按照拓扑顺序逐层搜索。
Dijkstra是基于贪心思路的,而Viterbi是一种动态规划思路。