#arrays #algorithm #search #data-structures #binary-search
Вопрос:
Я относительно новичок в структурах данных и алгоритмах, и, изучая нюансы двоичного поиска, я заметил, что почти каждое решение предполагает массив, отсортированный в порядке возрастания, и, следовательно, их решения не будут работать для тестовых случаев с входным массивом, отсортированным в порядке убывания.
Поэтому мне было интересно, является ли обязательным условием упоминание порядка сортировки в постановке задачи или мне следует использовать обобщенный подход, который работает как в порядке возрастания, так и в порядке убывания?
Любая помощь/предложения будут оценены по достоинству. Спасибо.
Комментарии:
1. Вы должны знать, как сортируется входной массив, чтобы иметь возможность двоичного поиска внутри него. Это ответ на твой вопрос?
Ответ №1:
Вам нужно знать о порядке сортировки (будь то по возрастанию или по убыванию) перед двоичным поиском.
Предполагая, что у вас есть реализация двоичного поиска, которая работает в порядке возрастания, но ваш массив находится в порядке убывания. Вы можете просто перевернуть массив и выполнить двоичный поиск по нему.