Чи може обхід двох різних дерев попереднього замовлення бути однаковим, навіть якщо вони різні?


11

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

Також зазначається, що обхід по порядку двох різних дерев може бути однаковим, хоча вони структурно відрізняються. Чи є приклад цього?


2
Це дуже вступний рівень. Що ви пробували і де застрягли?
Рафаель

1
Навіть якщо у вас є доручення, окрім попереднього замовлення, обходу, ви все одно можете отримати різні дерева. Чому дерево не є однозначно можливим із заданим проходженням попереднього замовлення та після замовлення? Ви можете знайти приклад замовлення в представленні від порядку до бінарного дерева . Також пов'язані / дублікати: Які комбінації попередньої, після та після замовлення секвенціалізації є унікальними?
Герцогство

Відповіді:


28

Приклади дерев (зображення) :

     A:                 B:
     ‾‾                 ‾‾
     1                  1
    /                  / \
   2                  2   3
  /  
 3   

Це приклад, який відповідає вашому сценарію. Дерево. Корінне значення 1 - ліва дитина зі значенням 2, а його ліва дитина - також ліва дитина зі значенням 3.

Значення кореня дерева B має 1, у якого ліва дитина зі значенням 2 та права дитина із значенням 3.

В обох випадках проїзд попереднього замовлення становить 1-> 2-> 3.


11
Це насправді специфічний випадок загального правила, згідно з яким для будь-якого дерева певного порядку існує лінійне дерево лише лівих (або лише правих) дітей, яке має однаковий порядок.
Dancrumb

5
@Dancrumb Це, в свою чергу, специфічний випадок загального правила, що для будь-якого дерева з N вузлами, а також для будь-якої форми дерева (= необмечене дерево) з N вузлами, існує спосіб маркування останнього, щоб він поділяв перехід з колишній. Це стосується будь-якого обходу (відвідування до / після замовлення).
чі

8

нн1,2,,н

Це означає, що ми можемо назвати вузли будь-якої бінарної структури дерева, щоб вона генерувала ту саму послідовність попереднього замовлення, що і для іншого заданого дерева.

Це не спрацює, якщо нам доведеться припустити інші властивості дерева. Наприклад, якщо дерево повинно бути двійковим деревом пошуку, з різними клавішами, його послідовність попереднього замовлення однозначно визначатиме дерево.


8

Аргумент підрахунку

ннгоСн=(2н)!/(н!(н+1)!).

    o         o         o         o         o
   /         /         / \         \         \
  o         o         o   o         o         o      .
 /           \                     /           \
o             o                   o             o

н!

(2н)!(н+1)!=2н(2н-1)(н+2).

н!нн!Сн>1н>1.н


1

Що стосується вашого другого питання, так, два структурно різних дерева можуть мати однаковий внутрішній обхід. Один з таких прикладів:

     A:                 B:

     1                  2
    / \                  \
   2   3                  1
                           \
                            3

Поперечний обхід обох дерев однаковий. 2 -> 1 -> 3

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.