Что я делаю неправильно с обходом дерева по порядку и после заказа

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

Вопрос в том:

Предположим, что в пустое бинарное дерево поиска в указанном порядке добавляются следующие элементы:

Meg, Stewie, Peter, Joe, Lois, Brian, Quagmire, Cleveland

Запишите элементы приведенного выше дерева в том порядке, в котором они будут видны при обходе в предварительном, последовательном и обратном порядке. Введите свои решения, разделив элементы пробелами и/или запятыми, например:

Неясно, как они должны быть добавлены, но я предполагаю, что в алфавитном порядке, потому что именно так я делал звездные войны до этого, и это сработало.

Итак, по крайней мере, как я понимаю, дерево выглядит так:

                            Meg
                         /      \
                      Joe         Stewie
                     /    \        /    \
                  Brian  Lois    Peter   Quagmire
                      \                   
                      Cleveland

Обход предварительного заказа, который говорит, что я правильно понял: Мэг, Джо, Брайан, Кливленд, Лоис, Стьюи, Питер, Куагмайр.

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

по порядку: Брайан, Кливленд, Джо, Лоис, Мэг, Питер, Стьюи, Куагмайр

пост-заказ: Кливленд, Брайан, Лоис, Джо, Питер, Куагмайр, Стьюи, Мэг

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

РЕДАКТИРОВАТЬ: Мое дерево неправильно. Q стоит перед S в алфавите. Так должно быть:

                            Meg
                         /      \
                      Joe         Stewie
                     /    \        /    
                  Brian  Lois    Peter   
                      \               \          
                      Cleveland         Quagmire

Правильные обходы таковы:

предзаказ: Мэг, Джо, Брайан, Кливленд, Лоис, Стьюи, Питер, Куагмайр

по порядку: Брайан, Кливленд, Джо, Лоис, Мэг, Питер, Куагмайр, Стьюи.

пост-заказ: Кливленд, Брайан, Лоис, Джо, Куагмайр, Питер, Стьюи, Мэг


person insomnius1    schedule 03.11.2013    source источник
comment
Какой тип бинарного дерева поиска?   -  person Sotirios Delimanolis    schedule 03.11.2013


Ответы (1)


Ваше дерево неверно, Quagmire должен быть правым потомком Peter, а не Stewie.

В противном случае ваши обходы выглядят хорошо.

person Henry    schedule 03.11.2013
comment
О боже, я должен выучить алфавит, прежде чем пытаться стать программистом. - person insomnius1; 03.11.2013