2014-02-13 4 views
2

У меня вопрос с интервью. Какое из следующего лучше всего создать зеркальное изображение двоичного дерева? 1.Подробнее 2. Почтовый заказ 3. Предзаказ 4. Порядок порядка.Лучший обход для создания зеркального изображения двоичного дерева?

Может ли кто-нибудь объяснить, какой из них будет использоваться и почему?

+1

Preorder с инвертированным компаратором логикой должны это делать. (по общему признанию, это от манжеты, но, похоже, имеет смысл). Это предполагает, что дерево не самобалансируется. – WhozCraig

ответ

1

Я думаю preorder это лучший способ для создания зеркального изображения: -

node* preorder(node* p) { 

    if(p==null) { 
     return(null); 
    } 

    node* n = create(p->data); 
    n->left = preorder(n->right); 
    n->right = preorder(n->left); 

    return(n); 

} 
+0

Preorder traverse предоставляет последовательность вставки двоичного дерева, поэтому это правильный способ репликации инвертированного ... – albin

Смежные вопросы