This is a really nice way to understand, and to implement, dynamic programming in HMMs.
5 minutes 53 seconds
Related post
Reading
Young et al: Token Passing
My favourite way of understanding how the Viterbi algorithm is applied to HMMs. Can also be helpful in understanding search for unit selection speech synthesis.