Graph Theory with Applications