| Цитата(volatile @ 11.8.2014, 14:18) | phpsuxxx, В том варианте что у вас, оно работать в среднем не будет быстрее Даже несколько дольше.
Проведите несколько сотен экспериментов, с разными случайными числами не забудьде сделать srand от текущео времени и вы убедитетесь
Добавлено @ 14:20 зы
Цитата(phpsuxxx @ 11.8.2014, 11:47 ) | int Search(int A[], int n, int key) { int i=0; while(true) { if (A[rand()%n]==key) return i; ++i; } return -1; } |
до последнего ретурна здесь вообще никогда не дойдет, так что если в массиве нет искомого числа, цикл будет вычным (но это так, чтоб не пугались, если зависнет ) |
Запустил цикл на тысячу раз. В среднем чуть больше n/3. По видимому n/e как написал Akina. А насчёт зависания в книге сказано, что этот алгоритм для случаев когда нужный элемент заведомо есть в массиве. Кстати, поправил ошибку в коде, сейчас можно собрать программу и убедиться самим. |