Самый наглядный пример пользы битовых операций

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 ธ.ค. 2024

ความคิดเห็น • 30

  • @coducation
    @coducation  2 ปีที่แล้ว +3

    Ребят, сори, в видео сделал ошибку. unique.contains(num) дает O(1) в лучшем случае и O(logn) в случае частых коллизий, поэтому в целом оба варианта через HashSet дают O(n) в лучшем и O(n*logn) в среднем случае, но все равно через битовые операции будет быстрее, так как тут гарантировано всегда O(n), плюс не нужно выделять память под лишнюю коллекцию

    • @ПавелК-ю9э
      @ПавелК-ю9э 2 ปีที่แล้ว

      Про память актуально, это точно.
      В тех же стримах важно перед терминальной операцией операцией ставить аккумуляторную промежуточную операцию, а вначале блочную (или вертикальную, забыл как называется).
      В плане кода разницы никакой, зато по производительности может быть космос.
      Смысл сортировать весь "Лист" (условно, пусть в виде стрима), если возможно мы потом отфильтруем, может быть половину или вообще весь "стрим".
      п.с. написал по индийски, но смысл думаю понятен. Скорость решает

    • @普京的手机
      @普京的手机 7 หลายเดือนก่อน

      Судя из названия структуры, HashSet.contains работает за O(1), так как проверяет хэш

  • @TimurBelekov-p6l
    @TimurBelekov-p6l 7 หลายเดือนก่อน

    большое спасибо за видео. Многие вещи стали более понятными

  • @LAZIO14
    @LAZIO14 9 หลายเดือนก่อน

    Саня, ты большой молодец! Спасибо тебе за работу!

  • @brawltalk8469
    @brawltalk8469 2 ปีที่แล้ว

    Розыгрыш уже был?

    • @coducation
      @coducation  2 ปีที่แล้ว

      Еще нет, сегодня-завтра сделаю

    • @coducation
      @coducation  2 ปีที่แล้ว

      поздравляю с победой! отпишитесь в группе в телеграмм

  • @blackteam5273
    @blackteam5273 2 ปีที่แล้ว

    Спасибо за Урок)

  • @ПавелК-ю9э
    @ПавелК-ю9э 2 ปีที่แล้ว

    А второй вариант не О(log n) считается? Вроде даже хэш мапа ни разу не гарантирует О(1), так как в случае совпадений по хэшам, начинается движение по ноде, а это уже не О(1)

    • @coducation
      @coducation  2 ปีที่แล้ว

      кстати, хороший вопрос, в видео сделал ошибку. unique.contains(num) дает O(1), поэтому в целом оба варианта через HashSet дают O(n), но все равно через битовые операции будет быстрее, так как не нужно выделять память под лишнюю коллекцию. O(log n) - это если бы было дерево, тут хэш таблица

    • @coducation
      @coducation  2 ปีที่แล้ว +1

      O(n*logn) может быть, если в HashSet будет много коллизий

    • @ПавелК-ю9э
      @ПавелК-ю9э 2 ปีที่แล้ว +1

      @@coducation Спасибо, завтра обмозгую. Уже засыпаю, четвертый час))) Я тоже что-то мог напутать)))

  • @elnar_1206
    @elnar_1206 2 ปีที่แล้ว

    Как всегда топ 🙌🙌🙌Спасибо за обзор

  • @ЭльвирАхметов-т4п
    @ЭльвирАхметов-т4п 2 ปีที่แล้ว

    Большое спасибо за урок! Очень полезное видео!

  • @АлександрМышляев-щ5и
    @АлександрМышляев-щ5и 2 ปีที่แล้ว

    Спасибо большое за подробный гайд.

  • @ПавелК-ю9э
    @ПавелК-ю9э 2 ปีที่แล้ว

    Побитовые операции я часто применяю для определения четности и нечетности, помогает даже при отрицательных числах.

    • @coducation
      @coducation  2 ปีที่แล้ว +1

      хороший пример

  • @Лучшиефильмы-р4у
    @Лучшиефильмы-р4у ปีที่แล้ว

    Привет. Суть понятна про битовые операции но посмотреть бы конкретно в программе в рабочем коде - как это все прописываться.

    • @coducation
      @coducation  ปีที่แล้ว

      при расширении размера ArrayList, вроде, используется сдвиг влево

  • @emmlife2531
    @emmlife2531 2 ปีที่แล้ว

    почему так мало подписчиков, хорошо объясняете

    • @coducation
      @coducation  2 ปีที่แล้ว

      нет рекламы )

  • @emmlife2531
    @emmlife2531 2 ปีที่แล้ว

    хочу победить

  • @india23061974
    @india23061974 2 ปีที่แล้ว +1

    Уфф, вот это я понимаю - нормальный пример на побитовые операции! А не то, что у некоторых в фиолетовой рубашке - непонятно, что, куда, зачем... Что можно посмотреть или почитать не заумного по этой теме? Может, кто знает, порекомендуйте. Александр, спасибо за урок!

  • @moriartynw6076
    @moriartynw6076 2 ปีที่แล้ว

    расскажите про свой путь в it

  • @androidmaster318
    @androidmaster318 2 ปีที่แล้ว

    полезное видео, надеюсь победить в конкурсе)

  • @hunterz4976
    @hunterz4976 ปีที่แล้ว

    а зачем они вообще нужны? так и не понял:(

  • @УмарКаригов
    @УмарКаригов 2 ปีที่แล้ว

    Я даже не заморачивался над ними а они так сокращают код. Интересно однако 👍

  • @mileytop1994
    @mileytop1994 2 ปีที่แล้ว

    Klass

  • @Вирус-о9ю
    @Вирус-о9ю 2 ปีที่แล้ว

    😁наконец новое видео, интересные видео уроки