Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Oleg I. Khovayko                     2:5020/400     03 Jan 2003  18:03:07
 To : Evgenij Masherov
 Subject : Re: масив чисел
 -------------------------------------------------------------------------------- 
 
 Evgenij Masherov wrote:
 
 > 
 >  EM>> Дешево. Сердито. И неверно. В том смысле, что равновероятность всех
 >  EM>> перестановок не обеспечивается. 
 > 
 > В приведенном алгоритме третий элемент принципиально не может оказаться на
 > третьем месте. Т.е. две перстановки из шести (и одна - со вторым) выпадают...
 > 
 
 Мда, есть такое. Hо клиенту же нужно "гарантированое перемешивание", поэтому
 приведенный ранее алгоритм как раз его и обеспечивает, искусственно исключая
 вырожденые случаи. Кроме того, он чуть-чуть проще "математически верного".
 Поэтому именно его я и рекомендовал для практической реализации.
 
 Если же интересует именно "математически верный" алгоритм, то вот он:
 
 int mas[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
 
 for(int i = 9; i > 0; i--) {
    int j = random() % (i + 1);
    if(i != j) {
      int tmp = mas[j];
      mas[j] = mas[i];
      mas[i] = tmp;
    }
 }
 
 Смысл следуюший:
 Пусть у нас есть колода карт (игральных). Ее надо перемешать.
 Простейший вариант перемешивания такой: 
 
 Пока колода не пуста:
   Извлекаем из колоды 
   случайную карту, и ложим ее в отдельную стопку.
 
 Приведенный выше алгоритм - как раз программная 
 реализация этой идеи, где входная и выходная стопки совмещены.
 
 -- 
 #include <best/regards.hpp>
 Oleg I. KHOVAYKO  
 (301)435-5885 || WEB: http://olegh.spedia.net
 --- ifmail v.2.15dev5
  * Origin: National Center for Biotechnology Information (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 масив чисел   Igor Kasyanchuk   27 Dec 2002 17:23:00 
 масив чисел   Vladimir Vassilevsky   28 Dec 2002 23:35:20 
 Re: масив чисел   Oleg Khovayko   29 Dec 2002 21:16:29 
 Re: масив чисел   Sergey Andrianov   30 Dec 2002 23:52:36 
 масив чисел   Igor Kasyanchuk   31 Dec 2002 20:56:00 
 масив чисел   Evgenij Masherov   01 Jan 2003 14:01:27 
 масив чисел   Sam   01 Jan 2003 19:01:20 
 Re: масив чисел   Eugene Kilachkoff   01 Jan 2003 22:14:24 
 масив чисел   Evgenij Masherov   02 Jan 2003 00:13:58 
 масив чисел   Sam   03 Jan 2003 00:35:31 
 масив чисел   Evgenij Masherov   03 Jan 2003 03:12:13 
 масив чисел   Sam   03 Jan 2003 14:33:28 
 масив чисел   Igor Kasyanchuk   03 Jan 2003 23:50:00 
 масив чисел   Sam   06 Jan 2003 00:02:09 
 масив чисел   Igor Kasyanchuk   01 Jan 2003 21:07:00 
 масив чисел   Evgenij Masherov   02 Jan 2003 10:22:47 
 масив чисел   Sam   03 Jan 2003 00:41:27 
 Re: масив чисел   Eugene Kilachkoff   03 Jan 2003 01:03:01 
 масив чисел   Sam   03 Jan 2003 14:29:25 
 масив чисел   Evgenij Masherov   03 Jan 2003 03:14:59 
 Re: масив чисел   Oleg Khovayko   03 Jan 2003 03:39:51 
 Re: масив чисел   Evgenij Masherov   03 Jan 2003 03:58:20 
 Re: масив чисел   Sergej Tarasov   03 Jan 2003 04:29:11 
 Re: масив чисел   Evgenij Masherov   03 Jan 2003 04:59:16 
 Re: масив чисел   Sergej Tarasov   03 Jan 2003 05:24:40 
 Re: масив чисел   Oleg I. Khovayko   03 Jan 2003 18:03:07 
 Re: масив чисел   Evgenij Masherov   03 Jan 2003 22:57:30 
 масив чисел   Max Alekseyev   29 Jan 2003 18:49:50 
 масив чисел   Evgenij Masherov   30 Jan 2003 11:02:18 
 масив чисел   Max Alekseyev   30 Jan 2003 02:03:18 
 масив чисел   Nickita A Startcev   05 Jan 2003 22:26:44 
 масив чисел   Evgenij Masherov   06 Jan 2003 20:16:24 
 Re: масив чисел   Anatoly Saveliev   08 Jan 2003 08:32:30 
 масив чисел   Oleg Polubasoff   06 Jan 2003 22:12:54 
 Re: масив чисел   Oleg I. Khovayko   08 Jan 2003 00:33:51 
 масив чисел   Max Alekseyev   29 Jan 2003 18:45:26 
 Re: масив чисел   Sergey Andrianov   04 Jan 2003 00:13:42 
 масив чисел   Alexey Burdin   04 Jan 2003 19:45:36 
 масив чисел   Igor Kasyanchuk   04 Jan 2003 21:16:00 
 масив чисел   Ianos Gnatiuc   05 Jan 2003 09:53:22 
 масив чисел   Nickita A Startcev   05 Jan 2003 22:15:12 
 Re: масив чисел   Sergey Andrianov   04 Jan 2003 00:11:36 
 Re: масив чисел   Andrew Starsh   01 Jan 2003 11:50:53 
Архивное /ru.algorithms/1152222328162.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional