![]() |
|
|
![]()
|
|
| phpsuxxx |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 6.8.2014 Репутация: нет Всего: нет |
Почему если случайно выбирать номер элемента, время поиска существенно уменьшается?
Это сообщение отредактировал(а) phpsuxxx - 11.8.2014, 14:20 |
||||
|
|||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
Среднее время поиска... и не n/3, а n/e.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 2 Всего: 85 |
||||
|
||||
| phpsuxxx |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 6.8.2014 Репутация: нет Всего: нет |
Прочитал в одной книге. Написал программу - работает действительно быстрее. |
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 2 Всего: 85 |
phpsuxxx,
В том варианте что у вас, оно работать в среднем не будет быстрее Даже несколько дольше. Проведите несколько сотен экспериментов, с разными случайными числами не забудьде сделать srand от текущео времени и вы убедитетесь Добавлено через 2 минуты и 10 секунд зы
до последнего ретурна здесь вообще никогда не дойдет, так что если в массиве нет искомого числа, цикл будет вычным (но это так, чтоб не пугались, если зависнет |
|||
|
||||
| phpsuxxx |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 6.8.2014 Репутация: нет Всего: нет |
Запустил цикл на тысячу раз. В среднем чуть больше n/3. По видимому n/e как написал Akina. А насчёт зависания в книге сказано, что этот алгоритм для случаев когда нужный элемент заведомо есть в массиве. Кстати, поправил ошибку в коде, сейчас можно собрать программу и убедиться самим. Это сообщение отредактировал(а) phpsuxxx - 11.8.2014, 14:27 |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
Не точно, но близко. Счётная задачка, вполне на уровне 9 или 10 класса. Причём чем больше n, тем ближе знаменатель к е. А это уже 1 курс технического ВУЗа. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |