This textbook can serve as a comprehensive manual of discrete mathematics and graph theory for non-Computer Science majors; as a reference and study aid for professionals and researchers who have not taken any discrete math course before. It can also be used as a reference book for a course on Discrete Mathematics in Computer Science or Mathematics curricula.
The study of discrete mathematics is one of the first courses on curricula in various disciplines such as Computer Science, Mathematics and Engineering education practices.
Graphs are key data structures used to represent networks, chemical structures, games etc. and are increasingly used more in various applications such as bioinformatics and the Internet. Graph theory has gone through an unprecedented growth in the last few decades both in terms of theory and implementations; hence it deserves a thorough treatment which is not adequately found in any other contemporary books on discrete mathematics, whereas about 40% of this textbook is devoted to graph theory.
The text follows an algorithmic approach for discrete mathematics and graph problems where applicable, to reinforce learning and to show how to implement the concepts in real-world applications.