New posts
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
Constructing a tree from two traversals
|
||||
=======================================
|
||||
|
||||
inorder : [4, 2, 5, 1, 6, 3]
|
||||
preorder : [1, 2, 4, 5, 3, 6]
|
||||
|
||||
from inorder + preorder, one line per recursive call:
|
||||
root 1 inorder slice [0..5] left size 3, right size 2
|
||||
root 2 inorder slice [0..2] left size 1, right size 1
|
||||
root 4 inorder slice [0..0] left size 0, right size 0
|
||||
root 5 inorder slice [2..2] left size 0, right size 0
|
||||
root 3 inorder slice [4..5] left size 1, right size 0
|
||||
root 6 inorder slice [4..4] left size 0, right size 0
|
||||
result : 1(2(4,5),3(6,-))
|
||||
postorder of the result: [4, 5, 2, 6, 3, 1]
|
||||
|
||||
from inorder + postorder the same tree comes back: 1(2(4,5),3(6,-))
|
||||
|
||||
two different trees with the same preorder AND postorder:
|
||||
1(2,-) preorder [1, 2] postorder [2, 1]
|
||||
1(-,2) preorder [1, 2] postorder [2, 1]
|
||||
Reference in New Issue
Block a user