Combinations and Permutations



If the order doesn't matter, it is a Combination.
If the order does matter it is a Permutation.
A Permutation is an ordered Combination.
Permutations
  1. Repetition is Allowed: such as the lock above. It could be "333". n × n × ... (r times) = nr
  2. No Repetition: for example the first three people in a running race. You can't be first andsecond.
Permutations without Repetition
if we wanted to select all: then it's n!.
The factorial function (symbol: !) just means to multiply a series of descending natural numbers. 
if we wanted to select just r, then it's 
where n is the number of things to choose from, and we choose r of them
(No repetition, order matters)


Combinations

Combinations without Repetition

The easiest way to explain it is to:
  • assume that the order does matter (ie permutations),
  • then alter it so the order does not matter

where n is the number of things to choose from, and we choose r of them
(No repetition, order doesn't matter)

So remember, do the permutation, then reduce by a further "r!"
This formula is symmetrical:
In other words choosing 3 balls out of 16, or choosing 13 balls out of 16 have the same number of combinations.

Combinations with Repetition

From http://kruel.co/2012/05/06/number-of-combinations-with-repetition/#sthash.8TnqDEyX.dpbs
There are n = 4 sorts of candy to choose from and you want to buy k = 10 candies. How many ways can you do it?
Note that there are 10 symbols ‘C’ and 3 partition walls, represented by a ‘+’ sign. That is, there are n-1+k = 13, equivalently n+k-1, symbols. Further note that each of the 3 partition walls could be in 1 of 13 positions. In other words, to represent various choices of 10 candies from 4 categories, the positions of the partition walls could be rearranged by choosing n-1 = 3 of n+k-1 = 13 positions
C++CCC+CCCCCC
CCCCCCCCCC+++
We have now translated the original problem into choosing 3 of 13 available positions.
(n+k-1)!/k!(n-1)!

where n is the number of things to choose from, and we choose r of them
(Repetition allowed, order doesn't matter)
Interestingly, we could have looked at the arrows instead of the circles, and we would have then been saying "we have r + (n-1) positions and want to choose (n-1) of them to have arrows", and the answer would be the same ...
Read full article from Combinations and Permutations

No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts