My friends and I are going to hold a small tournament on Friday and were wondering how we can divide a group of 6 or 7 people. For example, if there were 8 people participating, we would divide it as so:

However, when we tried 6, the diagram showed 3 people left for the second round, which makes it hard to determine who plays who since one person will have an advantage if only the other 2 play.

Is there an algorithm to take care of ‘N’ number of players in an elimination-type tournament? We agreed that we would stick with elimination rather than round-robin. However, I know there’s always going “round robin” with everyone competing against each other the same number of times.

The most common way to solve this is to give some people a “bye” in the first round. The structure you diagram works well for any number of candidates that is an even power of two (4, 8, 16, …). If you have a different number of contestants, (e.g. 6), find the next highest power of 2 (for this example, 8), and the difference between those two values (here, 2). That last number is the number of byes that will be given out. Choose two people (probably, in your case, they would be chosen at random) who will not have to compete in the first round (they get assigned no opponent, and automatically win).

If you have a basis for seeding the tournament, those with the highest seedings would usually be chosen for the byes, but in a friendly competition, random assignment is probably best.