moonman239 said:
Excuse me for asking this, but could you please further explain your example?
There are two different ways to think about your seat assignment problem.
Your OP is thinking about the same way that it happens in real life. The first passenger turns up and chooses a seat and random. Then the second passenger chooses one of the remaining empty seats at random, etc.
The other way to look at it is to see what you have after the plane has been filled up. Now, the first seat contains the passenger who was at some random position in the queue of passengers. The second seat contains the passenger who was at another (different) random position in the queue, etc.
My method uses the second way to think about it, not the first. Imagine you have all the passengers in a queue waiting to board the plane. You give them all lottery tickets with different random numbers on them.
Then you say, "the passenger with the lowest numbered ticket gets to sit in seat 1". In my example, that was the third person waiting in the queue. Then you say, "the passenger with the next lowest numbered ticket ges to sit in seat 2", etc.
The "sorting" step of my procedure is a quick way to do this all at once, rather than picking out the smallest numbers one at a time. But you could pick them one at a time if you want to.
I used real numbers instead of integers for the "lottery tickets numbers", so it is very unlikely you get two "tickets" with the same number. But if two tickets DO have the same number, all it means is that those two people sit in adjacent seat numbers, and which of them sits in which of seat doesn't affect the randomness much, because this situation will be very rare in practice.
Hope that helps.