Я делаю задание по построению двоичного дерева из обходов предварительного и неупорядоченного (символ в каждом узле) и пытаюсь понять, как построить реальное дерево.
Вот мой мыслительный процесс о том, как это сделать:
- сохранить первую запись в предварительном порядке, так как корневой узел
- ищет эту запись в порядке.
- возьмите символы слева от корневого узла и сохраните их как массив символов.
- возьмите символы справа от корневого узла и сохраните их как массив символов.
- создайте новое дерево с корнем в качестве родителя, а его 2 дочерних элемента будут левым и правым массивами символов.
- продолжайте рекурсивно, пока длина предварительного заказа не станет 0.
Я позаботился о шагах 1-4. of, но я не слишком уверен, как правильно построить свое дерево, и мне было интересно, есть ли у кого-нибудь указатели. Спасибо.
задан Gilles 'SO- stop being evil' 12 January 2013 в 16:33
поделиться