Если у меня есть массив значений в порядке восходящего порядка и использую Array.binarySearch, то если востребованное значение фактически не существует, BinarySearch вернет индекс первого наивысшего значения в массиве (ну, на самом деле побитово его дополнение, но я могу дополнить это, чтобы вернуться к индексу), например. Если я ищу 0,27, а элемент IT составляет 0,20, а элемент I+1 -й - 0,29, то BinarySearch вернется ~ i+1, так что я могу выработать это значение, которое я ищу ложь между элементами I'th и I+1 -й. Отлично! Так что я не могу работать наши два элемента, которые я искал ценность. Не так здорово. < /P>
Я что -то недопонимаю? Это немного странно, что я получаю «полезное» возвращаемое значение, то есть близко к значению, если массив поднимается, но не в том случае, если массив спускается. Я действительно думал о временном изменении массива, но я буду делать много поисков в одном и том же массиве, и я думаю, что у меня каждый раз у меня будет штраф времени. (Я полагаю, я мог бы сохранить обратную копию и работать с этим, так как массив не будет очень большим.)
Любые предложения оценены.
Подробнее здесь: https://stackoverflow.com/questions/796 ... xact-match
Метод бинарного анализа на массиве, отсортированный в порядке убывания без точного совпадения [дублировать] ⇐ C#
Место общения программистов C#
1750939485
Anonymous
Если у меня есть массив значений в порядке восходящего порядка и использую Array.binarySearch, то если востребованное значение фактически не существует, BinarySearch вернет индекс первого наивысшего значения в массиве (ну, на самом деле побитово его дополнение, но я могу дополнить это, чтобы вернуться к индексу), например. Если я ищу 0,27, а элемент IT составляет 0,20, а элемент I+1 -й - 0,29, то BinarySearch вернется ~ i+1, так что я могу выработать это значение, которое я ищу ложь между элементами I'th и I+1 -й. Отлично! Так что я не могу работать наши два элемента, которые я искал ценность. Не так здорово. < /P>
Я что -то недопонимаю? Это немного странно, что я получаю «полезное» возвращаемое значение, то есть близко к значению, если массив поднимается, но не в том случае, если массив спускается. Я действительно думал о временном изменении массива, но я буду делать много поисков в одном и том же массиве, и я думаю, что у меня каждый раз у меня будет штраф времени. (Я полагаю, я мог бы сохранить обратную копию и работать с этим, так как массив не будет очень большим.)
Любые предложения оценены.
Подробнее здесь: [url]https://stackoverflow.com/questions/79680367/binarysearch-method-on-array-sorted-in-descending-order-with-no-exact-match[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия