Book contents
- Frontmatter
- Contents
- INTRODUCTION
- GETTING STARTED WITH JAVA
- MIGRATING TO JAVA
- TECHNIQUES 101
- JAVA PERMUTATIONS AND COMBINATIONS
- PREVENTION IS BETTER THAN A CURE
- INTERNATIONAL TEXT IN JDK 1.2
- MODELING AND PATTERNS
- JAVA IN A DISTRIBUTED WORLD
- THREADS
- USER INTERFACES
- SECURITY
- TESTING
- PERFORMANCE
- REALITY CHECK
- INDEX
JAVA PERMUTATIONS AND COMBINATIONS
Published online by Cambridge University Press: 06 July 2010
- Frontmatter
- Contents
- INTRODUCTION
- GETTING STARTED WITH JAVA
- MIGRATING TO JAVA
- TECHNIQUES 101
- JAVA PERMUTATIONS AND COMBINATIONS
- PREVENTION IS BETTER THAN A CURE
- INTERNATIONAL TEXT IN JDK 1.2
- MODELING AND PATTERNS
- JAVA IN A DISTRIBUTED WORLD
- THREADS
- USER INTERFACES
- SECURITY
- TESTING
- PERFORMANCE
- REALITY CHECK
- INDEX
Summary
Permutations and combinations appear in problems that have more than one answer, where we want to know what all the possibilities are or just how many possibilities there are. For example, a basketball coach may need to select a team of 5 players from the 10 boys on his squad. How many possible teams is that? Is it more than we can reasonably put in a list? If the coach has statistics on the five starting players from a competing team, can he match up his players with them based on height, speed, and experience? You can address these questions with a handful of algorithms for permutations and combinations that are an important part of a Java developer's toolbox.
COUNTING PERMUTATIONS
A permutation is an ordering of items. For example, we might have three errands to do, with a choice about what order to do them in. If we have to buy groceries, mail a package, and get an oil change, one possible ordering or permutation is {groceries, mail, oil}. Altogether, there are six possible orderings:
groceries, mail, oil
groceries, oil, mail
mail, groceries, oil
mail, oil, groceries
oil, groceries, mail
oil, mail, groceries
We can count these choices algorithmically, without necessarily listing them. Notice that once the errand runner completes one of the three errands, there are always two left. After the errand runner completes two errands, there is always one left.
- Type
- Chapter
- Information
- More Java Gems , pp. 51 - 68Publisher: Cambridge University PressPrint publication year: 2000