// Алгоритмизация #6 // Двоичное дерево //

Поделиться
HTML-код
  • Опубликовано: 10 май 2020
  • tree: github.com/Number571/C/blob/m...
  • НаукаНаука

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

  • @magnat3856
    @magnat3856 4 года назад +3

    Вы, в отличие от многих, очень понятно объясняете. Спасибо вам!

  • @visteriuos1860
    @visteriuos1860 4 года назад +3

    Спасибо Вам огромное, очень хорошо объясняете. Особенно мне нравится Ваш подход разделения урока на теорию и практику, продолжайте в том же духе.

  • @user-ij6dr7jz5n
    @user-ij6dr7jz5n 2 года назад

    Классное видео! Спасибо. Сижу, разбираю, что написано. При удалении узла с двумя дочерними элементами (когда мы идем сначала вправо, а потом в лево до конца), нужно обратить внимание, есть ли у этого конечного левого элемента правый потомок. Если его не приписать к родителю левого крайнего элемента, он потеряется.
    И если нет крайнего левого элемента совсем (то есть ptr = node->right), то если у этого ptr будут другие правые потомки, они тоже потеряются.

    • @Kalin_cheetah
      @Kalin_cheetah 10 месяцев назад

      Хм, верное замечание. Сейчас как раз удаление пишу и ваше земечание требует обдумывания... А может ли справа может быть не только 1 элемент, а даже последовательность? (если не сбалансировано дерево?)
      Значит нужно еще в таком случае связать элементы "внизу", а потом вверху уже.

    • @Kalin_cheetah
      @Kalin_cheetah 10 месяцев назад

      Сегодня попытался смоделировать описанную тобой ситуацию и понял, что в сбалансированных деревья не может быть такой ситуации. Т.е мы обязательно придет к узлу-листу.

  • @MedDragon
    @MedDragon Год назад

    И не проверил рабоатет ли интри и прочее всё прекрасно, но можно было в конце больше внимания тестингу всего?

  • @ostrov11
    @ostrov11 4 года назад

    Алгоритмизация Двоичное дерево Алгоритмизация Двоичное дерево Алгоритмизация Двоичное дерево

  • @DanielLenskiy
    @DanielLenskiy 3 года назад

    Объясните пожалуйста, для чего перед struct (или union) используют typedef, ведь если просто определить структуру, она уже будет являться типом, для чего нужно объявление синонима?

    • @DanielLenskiy
      @DanielLenskiy 3 года назад

      @veruyushiy ateist Это не нужно делать. Когда мы делаем struct str1 { ... }; то потом мы можем просто сделать str1 var2; безо всяких typedef. И ничего каждый раз писать не надо. Вопрос остается открытым.

    • @lilfearmuch
      @lilfearmuch 2 года назад

      Без typedef ты не сможешь записать так, как ты сказал, слово struct при объявлении переменной тут ключевое

    • @lilfearmuch
      @lilfearmuch 2 года назад

      Обычно пишут typedef struct{…}str; , где str - имя структуры

  • @user-yx4jh6gi5n
    @user-yx4jh6gi5n 4 года назад +1

    У меня вопрос, почему к интерфейсным функциям применен модификатор extern ? Это сделано, чтобы не писать .h файл? Не понимаю.

    • @CryptoFunIT
      @CryptoFunIT  4 года назад +1

      В данном случае это применино просто для наглядности, как разграничение между static и extern функциями. Определённо это никак не влияет на компиляцию, потому что функции без модификатора по-умолчанию представляют собой extern функции.

    • @user-yx4jh6gi5n
      @user-yx4jh6gi5n 4 года назад

      @@CryptoFunIT спасибо, Вас понял.

  • @MedDragon
    @MedDragon Год назад

    А удалить не по число а по стрингу выходит нельзя?