• Как построить N-дерево и найти самую длинную ветвь без ветвлений?

    @Mercury13
    Программист на «си с крестами» и не только
    Что-то типа

    максРазмер : целое
    началоМаксВетви: узел
    
    проц максВетвь(узел : Узел, началоВетви: Узел, текРазмер: целое)
      в зависимости от степени узла «узел»
        если 0:
          если текРазмер > максРазмер
            максРазмер = текРазмер
            началоМаксВетви = началоВетви
        если 1: максВетвь(единственныйCын, началоВетви, текРазмер + 1)
        если 2+:
          для всех сыновей
            максВетвь(сын, сын, 1)
    
    максВетвь(корень, корень, 1)


    Считает макс. ветвь, кончающуюся листом; если может кончаться и развилкой — оставляю как домашнее задание.
    Ответ написан
    Комментировать