Деревья поиска для собеседования в Яндекс за 2 часа и 15 минут

Поделиться
HTML-код
  • Опубликовано: 1 янв 2025

Комментарии • 22

  • @fatin.maksim
    @fatin.maksim  4 месяца назад +1

    Задачи в текcтовом виде и Домашка:
    right-lupin-f79.notion.site/BST-a7f237c4bcdf4898b17a0800017ae720?pvs=4
    Продукт "Хакни алгоритмические собеседования" :
    tskills.ru/algo
    Бесплатный бот, чтобы прокачаться в теме "бинарные деревья":
    t.me/algocode_team_bot
    Личный ТГ канал:
    t.me/maksimfatin

  • @KonstantDev
    @KonstantDev 4 месяца назад +2

    за один час продолжительностью в 2.16)

  • @John_Smith_Java
    @John_Smith_Java 4 месяца назад

    Когда я учился на курсах, там было задание написать BST. Но странное BST. Слева от узла были узлы меньше, а справа - больше либо равные. То есть, BST допускало дубликаты. Плюс нерекурсивные методы обхода в глубину и в ширину. С удалением элемента вообще туши свет.

    • @fatin.maksim
      @fatin.maksim  4 месяца назад

      Обычно BST не допускает дубликатов и хранит их как дополнительный счетчик в вершине. Но то что справа есть дубликаты по значению - просто доп правило построения дерева, но мы в таком увеличиваем число узлов, что не очень для производительности
      На собесах обычно не просят удалять элементы из BST и не рекурсивные обходы так же редко спрашивают, но знание о них точно будет плюсом :)

  • @ПавелКононов-м6б
    @ПавелКононов-м6б 4 месяца назад

    к тебе просьба про Джаву не забывай, нас много

  • @ПавелКононов-м6б
    @ПавелКононов-м6б 4 месяца назад

    меня в сбере про деревья и подавно не спрашивали)

  • @viktor.florinskiy
    @viktor.florinskiy 4 месяца назад

    что то в домашке супер сложное решение, там все намного проще, одним циклом и 2 строчки кода) идея такая же как в задаче 160. Intersection of Two Linked Lists
    public Node lowestCommonAncestor(Node p, Node q) {
    Node p1 = p;
    Node q1 = q;
    while(p1 != q1){
    p1 = p1.parent != null ? p1.parent : q;
    q1 = q1.parent != null ? q1.parent : p;
    }
    return p1;
    }

    • @fatin.maksim
      @fatin.maksim  4 месяца назад

      Можно и так решать, но тут нужно объяснять еще дополнительно почему это работает :) Код простой, но как по мне чуть сложнее, хотя тут скорее вкусовщина
      Но как вариант указать дополнительно и это решение хороший поинт

    • @viktor.florinskiy
      @viktor.florinskiy 4 месяца назад +1

      @@fatin.maksim Согласен, про доп объяснение) поэтому лучше к деревьям после связных списков переходить)

  • @ПавелКононов-м6б
    @ПавелКононов-м6б 4 месяца назад

    мне кажется потски нужно было сначала ообъяснить
    в гдубину и ширину

  • @ivanlyuhtikov3871
    @ivanlyuhtikov3871 Месяц назад

    Привет! пару дней назад по случайности наткнулся на твой видос, подумал:
    «гм, алгосы, сразу флешбеки с коляги вспомнились, все эти манипуляции с красно-чёрными деревьями, сортировки. но все же, зачем мне это, я ведь мобильщик»
    в итоге просмотрел почти все видосы в захлёб 😃
    А ты сам как думаешь, насколько в бигтехах интересуются алгосами у мобильщиков?

    • @fatin.maksim
      @fatin.maksim  Месяц назад

      Не очень сильно. Только в паре компаний спрашивают

  • @АлексейТимохов-м2т
    @АлексейТимохов-м2т 4 месяца назад

    А если задачу про валидацию дерева так решить. Дерево валидно, если при обходе получится отсортированный по возрастанию массив. Сам массив делать не обязательно. Храним предыдущий и текущий элемент при обходе. Если предыдущий больше или равен текущему - дерево не валидно.

    • @fatin.maksim
      @fatin.maksim  4 месяца назад

      Интересный вариант :) Кажется, что можно - единственное, что хранить предыдущий нужно будет как указатель или через замыкание или как class member, а так why not

  • @nicholas92
    @nicholas92 4 месяца назад

    1:27:08 почему по памяти O(h), а не O(N)?

    • @fatin.maksim
      @fatin.maksim  4 месяца назад +2

      O(h) просто более точная оценка. Т е h

    • @nicholas92
      @nicholas92 4 месяца назад

      Спасибо

  • @Ninu-x6m
    @Ninu-x6m 4 месяца назад

    Здравствуйте, на каком планшет пишете, что за стилус?

    • @fatin.maksim
      @fatin.maksim  4 месяца назад

      Привет! Samsung S7, стилус был из коробки :)

  • @rightmelancholy1170
    @rightmelancholy1170 3 месяца назад

    что делать если не получается перейти в notion ((

    • @fatin.maksim
      @fatin.maksim  3 месяца назад

      Хммм, грусненько. В ближайшее время постараюсь обновить ссылочки

    • @rightmelancholy1170
      @rightmelancholy1170 3 месяца назад +1

      @@fatin.maksim заработало, может быть без впна пытался