Да, выполните breadth_first_search () начиная с u.
FOR every vertex i meet
IF i==v: BREAK
record predecessor of i as i.p
Чтобы найти кратчайший путь, начните с v:
PRINT_PATH(u, v)
IF v==u
print u
ELSEIF v.p==NIL
print 'no path from u to v exists'
ELSE PRINT_PATH(u, v.p)
print v