243
правки
Изменения
→Восстановление дерева по результату обхода preorderTraversal
Разберём алгоритм на примере последовательности <tex>\mathtt{8}</tex> <tex>\mathtt{2}</tex> <tex>\mathtt{1}</tex> <tex>\mathtt{4}</tex> <tex>\mathtt{3}</tex> <tex>\mathtt{5}</tex>.
Выделим жирным то да сё
{| style="background-color:#CCC;margin:0.5px"
|style="background-color:#FFF;padding:2px 10px"| <span style="color:black">'''8'''</span> 2 1 4 3 5
|style="background-color:#FFF;padding:2px 10px"| Делаем вершину корнем.
|style="background-color:#FFF;padding:2px 10px"| ''Первая вершина всегда будет корнем, так как вывод начинался с него.''|-|style="background-color:#FFF;padding:2px 10px"| <span style="color:black">'''8 2 1'''</span> 4 3 5|style="background-color:#FFF;padding:2px 10px"| Находим убывающую подпоследовательность.|style="background-color:#FFF;padding:2px 10px"| ''ычвяыч.''
|-
|style="background-color:#FFF;padding:2px 10px"| 2