You might be interested in Combinatorial Algorithms by Nijenhuis and Wilf. Wilf was gracious enough to put the book up on his website for free.
Also, take a look at Combinatorial Optimization: Algorithms and Complexity by Papadimitriou and Steiglitz. From the top review: "On one hand this book serves as a good introduction to combinatorial optimization algorithms, in that it provides a flawless introduction to the simplex algorithm, linear and integer programming, and search techniques such as Branch-and-Bound and dynamic programming. On another, it serves as a good reference for many graph-theoretic algorithms. But most importantly Papadimitriou and Steiglitz seem to be on a quest to understand why some problems, such as Minimum Path or Matching, have efficient solutions, while others, such as Traveling Salesman, do not. And in doing so they end up providing the reader with a big picture behind algorithms and complexity, and the connection between optimization problems and complexity."