Directed Graph Analysis: Algorithms And Applications