Graph Theory With Applications To Algorithms And Computer Science