Graph Theory In Algorithm Design