У меня возникли проблемы с написанием алгоритма для определения высоты дерева дерева. Я понятия не имею, как начать или как я могу это сделать. Извините, если это «нубский» вопрос, но я новичок в попытках, и это единственная часть, отсутствующая в моем задании.
В любом случае, вот структура дерева дерева:
typedef struct RegTrie * ImplTrie;
typedef struct RegTrie {
Boolean IsItAWord; /* true if it is a word, false if it is not a word */
ImplTrie children[ALPHABETsize];
} RegTrie;
Таким образом, в основном, если «a» является одним дочерним элементом, в chidren[0] будет Trie, а если «b» не является дочерним элементом, Children[1] будет NULL. Как видите, символы неявно определяются индексом ссылки, и если символы прошлых узлов образуют слово до текущего узла, 'Boolean IsItAWord' будет истинным.
Не могли бы вы, ребята, дать мне свет в этом? Единственное, что я знаю, это то, что высота может быть определена длиной самого длинного слова + 1. Но я не знаю, как это сделать. Мне просто нужно решение, поэтому любые методы определения высоты этого дерева будут очень признательны.
Спасибо.