169 похожих чатов

Есть ли смысл в таком случае использовать Collections.binarySearch?

12 ответов

10 просмотров

Ну тут зависит от условий

Тоесть чтобы использовать бин поиск надо отсортировать сначал, тоесть вопрос где это юзается, например если постоянно добавляются данные по КД в коллекцию и добавляются в не отсортированном порядке, а брать надо прям сча то нврн не самый лучший вар, а если они добавляются сразу отсортированные тогда да, хороший вар, или если данные нужны редко, то тоже класс вар, ты добавляещь данные, они лежат, сортирует фоном и когда надо берешь Бин поиском

Кирюша-Роджер Автор вопроса
Dmitry 🥥
Тоесть чтобы использовать бин поиск надо отсортиро...

вар такой. приходит list<Object> с 1000 неотсортированными объектами. Также есть другой list<Integer> переменных, по которым нужно отсортировать list<Object>. То есть использование поиска может быть много раз. Соответственно в таком случае лучше отсортировать и затем использовать binarySearch?

Ну по идее да, норм, а данные часто приходят, ну всмысле часто приходят два листа?

Кирюша-Роджер Автор вопроса
Dmitry 🥥
Ну по идее да, норм, а данные часто приходят, ну в...

Если по конкретнее, то приходит один раз list<Object>, затем идёт итерация данного листа и из него берётся int поле. Это int поле проверяется: есть ли в list<Integer> данная int переменная.

Dmitry 🥥
Ну по идее да, норм, а данные часто приходят, ну в...

Ну короче в чем прикол, смотри, если ты не сортируешь, а просто ищешь элемент по двум листам это n² сложность, если ты Бин поиск юзаешь, то это n²(шобы отсортировать) logn - шобы найти Тоесть в чем прикол, сортируешь ты один раз при Бин поиске и потом быстро за logn находишь, а вот если без Бин поиска то ты находишь за n² но не надо сортировать, но у тебя любой поиск будет перебором типо, ну по идее, тоесть если у тебя эти два листа приходят часто и те надо из этих листов взять один элемент, то лучше просто, а если тебе приходит эти два листа редко и потом ты в этих двух листах ищешь по КД данные они те часто нужны, то Бин поиск, короче зависит от того что надо

Кирюша Роджер
Если по конкретнее, то приходит один раз list<Obje...

А в листах будешь много раз искать, всмы он пришел один раз и потом много раз в нем ищешь или один раз и все ? Если один раз и все ищешь, а потом выбрасыватешь, то по обычному, если ищешь много раз по одному и тому же, то Бин поиск

Кирюша-Роджер Автор вопроса
Dmitry 🥥
А в листах будешь много раз искать, всмы он пришел...

Приходит один раз list<Object>, приходит один раз list<Integer>

Кирюша Роджер
Приходит один раз list<Object>, приходит один раз ...

А в листы часто залазишь?) Пришел один раз, один раз ты там чета взял и все(больше не лезешь туда) ? Или пришел один раз и весь жизненный цикл приложения лежит и ты им пользуешься пока он лежит, типо один раз залез, второй раз залез, третий ? Если первый случай тогда по обычному Если второй то Бин

Кирюша-Роджер Автор вопроса
Dmitry 🥥
А в листы часто залазишь?) Пришел один раз, один р...

list<Object> и list<Integer> могут часто приходить новые

Кирюша Роджер
list<Object> и list<Integer> могут часто приходить...

Ну так , напиши полностью весь цикл работы с листом Зачем они приходят, что ты делаешь с ними, когда приходят новые Ищешь в листе одно совпадение или много раз ?

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта