For a one- or two-term introductory course in discrete mathematics. This best-selling book provides an accessible introduction to discrete mathematics, using an algorithmic approach that focuses on problem-solving techniques. The new edition weaves techniques of proofs into the text as a running theme. Each chapter has a special section dedicated to showing students how to attack and solve problems.