Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: вхождение числа в диапазон
К примеру есть число 2
2 больше чем 0, но меньше чем 9, тоесть результат 0 (ключ массива)
К примеру есть число 11
11 больше чем 0, и больше чем 9, но меньше чем 18, тоесть оно входит в диапазон от 9 до 17 (включительно), значит результат 1 (ключ массива)
К примеру есть число 27
27 больше чем 0, больше 9 и больше 18, тоесть результат 2 (ключ массива)
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
nepster пишет:
а как вам такой вариант ?
если понятно что и как там работает, то пусть будет он,
о том насколько он не оптимален рассуждать не стоит.
nepster
Отправлено: 28 Февраля, 2013 - 21:36:15
Частый гость
Покинул форум
Сообщений всего: 195
Дата рег-ции: Июль 2012
Помог: 0 раз(а)
вот именно оптимальность интересует.
Очень хочу услышать замечания.
DlTA
Отправлено: 28 Февраля, 2013 - 21:58:33
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
nepster пишет:
Очень хочу услышать замечания.
ок, у вас на каждой итерации 2 ставнения, в то время когда можно обойтись 1м
ну и так по мелочи...
nepster
Отправлено: 28 Февраля, 2013 - 23:12:47
Частый гость
Покинул форум
Сообщений всего: 195
Дата рег-ции: Июль 2012
Помог: 0 раз(а)
это экономия на спичках, или можно серьезно оптимизировать ?
DlTA
Отправлено: 28 Февраля, 2013 - 23:52:43
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
серьезная оптимизация будет иметь смысл если число приделов будет относительно большое
вот тогда линейный прогон по всем значениям будет сильно не эффективен, и надо будет заюзать чет типа бинарного поиска,
для сравнения: при количестве пределов в 100 штук, и допустим искомое значение будет ближе к кону или будет больше максимального предела, надо будет произвесит 100 сравнений
при бинарном поиске можно обойтись 7ю
если же число пределов будет до 20-ти, то можно не заморачиваться
nepster
Отправлено: 01 Марта, 2013 - 00:57:34
Частый гость
Покинул форум
Сообщений всего: 195
Дата рег-ции: Июль 2012
Помог: 0 раз(а)
число приделом будет до 4 или 5 максимум скорее всего.
Это функция вычисления сектора в матрице.
кол -во элементов в массиве это диапазоны сектора.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.