I am going to take a course in Combinatorics next semester, my very first one and I am looking for some good book to learn from. The topics that will be covered, as quoted from a syllabus, are:
Counting (basics, double counting, Pigeonhole Principle, recursions, generating functions, Inclusion-Exclusion, inversion, Polya theory)
Discrete Structures (graphs, set systems, designs, posets, matroids)
Graph Theory (trees, matchings, connectivity, planarity, colorings)
Algorithms (asymptotic running time, BFS, DFS, Dijkstra, Greedy, Kruskal, Hungarian, Ford-Fulkerson)
So far I have stumbled upon An Invitation to Discrete Mathematics by Jiří Matoušek and Jaroslav Nešetřil.
I have not yet looked through the book, but I was simply curious if anyone can advise me any resource from his own experience. Thank you very much.