как построить двоичное дерево из предварительных и неупорядоченных обходов

Я делаю задание по построению двоичного дерева из обходов предварительного и неупорядоченного (символ в каждом узле) и пытаюсь понять, как построить реальное дерево.

Вот мой мыслительный процесс о том, как это сделать:

  1. сохранить первую запись в предварительном порядке, так как корневой узел
  2. ищет эту запись в порядке.
  3. возьмите символы слева от корневого узла и сохраните их как массив символов.
  4. возьмите символы справа от корневого узла и сохраните их как массив символов.
  5. создайте новое дерево с корнем в качестве родителя, а его 2 дочерних элемента будут левым и правым массивами символов.
  6. продолжайте рекурсивно, пока длина предварительного заказа не станет 0.

Я позаботился о шагах 1-4. of, но я не слишком уверен, как правильно построить свое дерево, и мне было интересно, есть ли у кого-нибудь указатели. Спасибо.

7
задан Gilles 'SO- stop being evil' 12 January 2013 в 16:33
поделиться