Метод бинарного анализа на массиве, отсортированный в порядке убывания без точного совпадения [дублировать]C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Метод бинарного анализа на массиве, отсортированный в порядке убывания без точного совпадения [дублировать]

Сообщение Anonymous »

Если у меня есть массив значений в порядке восходящего порядка и использую 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»