Discrete Structures with Contemporary Applications by Alexander Stanoyevitch

A nice touch in this textbook is the chapter review crossword puzzles.