Реалізовуємо Бінарне Дерево Пошуку - Для чого потрібні дерева?

Поділитися
Вставка
  • Опубліковано 15 чер 2024
  • 👉 Приєднуйся до Bobocode Community: www.bobocode.com/
    ____________________________________________
    GitHub: github.com/bobocode-projects
    Telegram: t.me/bobocode​
    LinkedIn: bit.ly/2RWPQF5
    Twitter: bit.ly/3vaQiOl
    Patreon: / bobocode
    Тарас в LinkedIn: bit.ly/2ElWg8J
    Тарас в Twitter: bit.ly/33Pmuwg
    ____________________________________________
    Продовжуємо покращувати свої знання та навички по структураx даних. Цього разу розбираємо Binary Search Tree. 💪
    00:00 - Intro
    00:42 - Структура Дерева
    02:31 - Вправа
    03:52 - Вузол (Node)
    05:33 - insert(T element)
    11:54 - contains(T element)
    14:41 - depth()
    18:23 - inOrderTraversal()
    20:35 - of(T... elements)
    21:27 - Для чого вправи?
    21:57 - Порівняння швидкості
    28:40 - Для чого воно треба?
    #opensource #java #education

КОМЕНТАРІ • 37

  • @alpha_17x
    @alpha_17x 2 роки тому +17

    Навіть не віриться, що такий якісний контент по такій темі, доступний українською! Величезне дякую!

    • @Bobocode
      @Bobocode  2 роки тому +7

      А ви уявіть, що це тільки початок 😉

  • @anjelomanoranjan
    @anjelomanoranjan 6 місяців тому +1

    Шикарное видео. Спасибо тебе за колоссальный труд. Слава Украине!

  • @user-qb1rw8mz7m
    @user-qb1rw8mz7m 2 роки тому +5

    Такі відчуття, як наприкінці классного фільму - отримав массу задоволення під час перегляду, але трохи жалієш що фільм скінчився))) . Велике дякую!

  • @vladakymov2123
    @vladakymov2123 Місяць тому

    Корисний та інформативний розбір!

  • @Fireflysuper
    @Fireflysuper Рік тому +3

    Величезне дякую! Надзвичайний матеріал і подача чудова!

  • @douiolag9499
    @douiolag9499 6 місяців тому +1

    прекрасний контент, дякую велике за ці чудові уроки)))
    з нетерпінням чекаю відео про hash table

  • @petyatsupryk
    @petyatsupryk Рік тому +2

    Класна подача матеріалу. Ти мотивуєш!!!

  • @jeoparrdy
    @jeoparrdy 3 роки тому +4

    Чітко, ясно і зрозуміло! Дуже дякую!

  • @iryna2126
    @iryna2126 2 роки тому +2

    Клас, дякую за чудово подану інформацію. Якраз готуюсь до співбесід і нагадую собі базову CS

  • @maksymmatlo4327
    @maksymmatlo4327 3 роки тому +4

    Чудово як завжди. Дякую!
    Спочатку навис на реалізації методу depth але потім все зрозумів.
    Здається на задньому фоні хтось активно коментував тебе. Впевнений у того малого коментатора є своя думка щодо реалізації бінарного дерева пошуку.

  • @uayoutube2389
    @uayoutube2389 3 роки тому +4

    Наша сила в цей момент - вподобайка 👍 та комент 💬 ! На підтримку Bobocode

  • @feoktant
    @feoktant 3 роки тому +4

    Дуже класний лайвкодінг по імплементації BST!

  • @pavloantentyk8221
    @pavloantentyk8221 3 роки тому +4

    Дякую! Дуже якісно подано!

  • @kolyagorbunkov4159
    @kolyagorbunkov4159 3 роки тому +3

    Как всегда, выше всех похвал!)

  • @oleksandrkoshmak
    @oleksandrkoshmak 3 роки тому +12

    Чекаємо ХешМапу!)

  • @yehor_ua
    @yehor_ua 2 роки тому +5

    Вау, такий якісний контент та ще й українською. Лайк і підписка)

  • @ivankobyuk8385
    @ivankobyuk8385 17 днів тому

    На глибині дерева заглох, розумів, що треба обирати найбільше серед гілок, але точно не додумався до подвійної рекусрії в такй обгортці, мабуть точніше бінарної рекурсії ))
    Мізки досі киплять))
    П.С. Дякую за такий наочний приклад з життя в кінці відео про БД, індекс. і пошук

    • @Bobocode
      @Bobocode  17 днів тому +1

      Тримайтеся, легше не буде 😅

    • @ivankobyuk8385
      @ivankobyuk8385 17 днів тому

      @@Bobocode 😅🤝😁

  • @ViktorVdovichenko
    @ViktorVdovichenko 3 роки тому +6

    Ещё для полного счастья, нужно написать SimpleHashMap и желательно с имплементацией интерфейса Iterable. Я думаю, что методы разрешения коллизий только усложнят код, а вот динамическое изменение размера хэшь-таблици нужно реализовать. Спасибо за материал! Вот мой SimpleHashMap: github.com/ViktorJava/job4j_design/issues/28

  • @feoktant
    @feoktant 3 роки тому +2

    Я б не називав array простою структурою данних) Це дуже низькорівнева конструкція, властивості котрої обумовлені імплементацією мікросхем. По цій же причині є класичний Linked List, а Array List (Vector) використовує array як оптимізацію, і виграє у всіх сценаріях O-нотації, хоча в теорії так не мало б бути. Так само і з рекурсією.
    Але для імплементації вправи це не потрібно знати)

    • @Bobocode
      @Bobocode  3 роки тому +3

      Good point! Насправді не завжи легко знайти баланс між точністю і простотою 🙂

  • @Vladyslav_Sliusar
    @Vladyslav_Sliusar 10 місяців тому

    Наскільки я зрозумів, в кінці вставляються рандомні елементи в бінарне дерево. Там використовується бінарне дерево J яке надає Java (якщо вона взагалі надає), а не самописне з уроку? Бо в нашій реалізації ж немає балансування, і якщо перший рандомний елемент буде 1, то у нас буде типу, звичайний лінкедлист.

    • @Bobocode
      @Bobocode  10 місяців тому +1

      Дозвольте поясню. В кінці відео ми використовуємо те дерево, яке щойно написали (RecursiveBinarySearchTree). Так, в ньому немає балансування, але це не страшно, для конкретного прикладу. Звʼязний список може утворитися тільки якщо ми додаємо елементи в дерево по-порядку. Оскільки ми додаємо рандомні елементи, то дерево буде більш-менш збалансоване.

  • @ostapmelnychuk3506
    @ostapmelnychuk3506 3 роки тому +1

    Привіт. На рахунок Time Complexity. Наскільки я знаю, System.getNano() та .currentMillies() це не найкращий спосіб вимірювання часу виконання. Чи міг би ти розглянути інші, точніші способи вимірювання часу? Наприклад, я недавно розглядав таку бібліотеку як JHM - Java MicrobenchHarnes, яка дозволяє проганяти методи N-нну кількість разів та отримувати різну часову статистику (середній час виконання методу, кількість операцій на секунду і т.д.). Чи ти з таким стикався? Було б цікаво послухати твою думку.

    • @tarasboychuk7
      @tarasboychuk7 3 роки тому +6

      Привіт, можна розглянути, коли буде потреба. У цьому випадку мені зовсім не треба дуже точних вимірювань, відносного порівняння достатньо, щоб показати, що я маю на увазі.

  • @friedbearsburninhell2022
    @friedbearsburninhell2022 3 роки тому +2

    Оце по сутi!

  • @alexmaksuta9333
    @alexmaksuta9333 9 місяців тому

    Ще би реалізували алгоритм видалення, ціни не було б

    • @Bobocode
      @Bobocode  4 місяці тому

      Я у вас вірю!