06 - Trees
-
Upload
tudor-girba -
Category
Technology
-
view
1.052 -
download
1
description
Transcript of 06 - Trees
n5
n2
n6
n10
n1
n7
n4
n9n3
n8
n5
n2
n6
n10
n1
n7
n4
n9n3
n8
n5
n2
n6
n10
n1
n7
n4
n9
n3
n8
n5
n2
n6
n10
n1
n7
n4
n9
n3
n8
edge
node
n5
n2
n6
n10
n1
n7
n4
n9
n3
n8
leaf
root
n5
n2
n6
n10
n1
n7
n4
n9
n3
n8
parent
child
n5
n2
n6
n10
n1
n7
n4
n9
n3
n8
subtree
n5
n2
n6
n10
n1
n7
n4
n9
n3
n8
path
n5
n2
n6
n10
n1
n7
n4
n9
n3
n8
height = 1
depth = level = 2
degree = 1
n5
n2
n6
n10
n1
n7
n4
n9
n3
n8
height = 1
depth = level = 1
degree = 3
n5
n2
n6
n10
n1
n7
n4
n9
n3
n8
0
1
2
3
n5
n2
n6
n10
n1
n7
n4
n9
n3
n8
ordered tree
leftmost rightmost
n5
n2
n6
n10
n1
n7
n4
n9
n3
n8 n7
n4
n9n8
n1
n5
n4
n6
n3
n10
isomorphic trees
n4
n2
n5
n1
n6
n3
n7
left right
left leftright right
n4
n2
n5
n1
n3
n6 n4
n2
n5
n1
n6
n3
not a binary tree binary tree
n4
n2
n5
n1
n6
n3
n7
complete binary tree
breadth-first traversal
n4
n2
n5
n1
n6
n3
breadth-first traversal
n4
n2
n5
n1
n6
n3
1
breadth-first traversal
n4
n2
n5
n1
n6
n3
2
1
breadth-first traversal
n4
n2
n5
n1
n6
n3
2 3
1
breadth-first traversal
n4
n2
n5
n1
n6
n3
2 3
4
1
breadth-first traversal
n4
n2
n5
n1
n6
n3
2 3
4 5
1
breadth-first traversal
n4
n2
n5
n1
n6
n3
2 3
4 65
1
n4
n2
n5
n1
n6
n3
preorder(node)
visit(node).preorder(node.left).preorder(node.right).
n4
n2
n5
n1
n6
n3
1
preorder(node)
visit(node).preorder(node.left).preorder(node.right).
n4
n2
n5
n1
n6
n3
2
1
preorder(node)
visit(node).preorder(node.left).preorder(node.right).
n4
n2
n5
n1
n6
n3
2
3
1
preorder(node)
visit(node).preorder(node.left).preorder(node.right).
n4
n2
n5
n1
n6
n3
2
3 4
1
preorder(node)
visit(node).preorder(node.left).preorder(node.right).
n4
n2
n5
n1
n6
n3
2 5
3 4
1
preorder(node)
visit(node).preorder(node.left).preorder(node.right).
n4
n2
n5
n1
n6
n3
2 5
3 64
1
preorder(node)
visit(node).preorder(node.left).preorder(node.right).
n4
n2
n5
n1
n6
n3
inorder(node)
inorder(node.left).visit(node).inorder(node.right).
n4
n2
n5
n1
n6
n3
1
inorder(node)
inorder(node.left).visit(node).inorder(node.right).
n4
n2
n5
n1
n6
n3
2
1
inorder(node)
inorder(node.left).visit(node).inorder(node.right).
n4
n2
n5
n1
n6
n3
2
1 3
inorder(node)
inorder(node.left).visit(node).inorder(node.right).
n4
n2
n5
n1
n6
n3
2
1 3
4
inorder(node)
inorder(node.left).visit(node).inorder(node.right).
n4
n2
n5
n1
n6
n3
2
1 53
4
inorder(node)
inorder(node.left).visit(node).inorder(node.right).
n4
n2
n5
n1
n6
n3
2 6
1 53
4
inorder(node)
inorder(node.left).visit(node).inorder(node.right).
n4
n2
n5
n1
n6
n3
postorder (node)
postorder(node.left).postorder(node.right).visit(node).
n4
n2
n5
n1
n6
n3
1
postorder (node)
postorder(node.left).postorder(node.right).visit(node).
n4
n2
n5
n1
n6
n3
1 2
postorder (node)
postorder(node.left).postorder(node.right).visit(node).
n4
n2
n5
n1
n6
n3
3
1 2
postorder (node)
postorder(node.left).postorder(node.right).visit(node).
n4
n2
n5
n1
n6
n3
3
1 42
postorder (node)
postorder(node.left).postorder(node.right).visit(node).
n4
n2
n5
n1
n6
n3
3 5
1 42
postorder (node)
postorder(node.left).postorder(node.right).visit(node).
n4
n2
n5
n1
n6
n3
3 5
1 42
6
postorder (node)
postorder(node.left).postorder(node.right).visit(node).
!"#$%&'(")$*
!
"#$#%&'!&$()*+,%&)$!&-!.,--#/!)$!(*)+!0#$#*,%&)$!%)!0#$#*,%&)$1!
Example (group 15)
!"#$%&'(")$*
!
"#$#%&'!&$()*+,%&)$!&-!.,--#/!)$!(*)+!0#$#*,%&)$!%)!0#$#*,%&)$1!
Example (group 15)
Hierarchical structure
Binary search tree
n4
n2
n5
n1
n6
n3
2 6
1 53
4
n4 n2 n5 n1 n6 n3
2 61 53 4
n4 n2 n5 n1 n6 n3
2 61 53 4
n4
n2
n5
n1
n6
n3
2 6
1 53
4
n4
n2
n5
n1
n6
n3
2
6
1
5
3
4
Binary search tree
n4
n2
n5
n1
n6
n3
2 6
1 53
4
a + b - c * d
a + b - c * d
a
+
b
-
c
*
d
a
+
b
-
c
*
d
operator
operand
Infix notation
a
+
b
-
c
*
d
Postfix notation
Prefix notation
Infix notation
a
+
b
-
c
*
d
Postfix notation
Prefix notation -+ab*cd
Infix notation
a
+
b
-
c
*
d
a+b-c*dPostfix notation
Prefix notation -+ab*cd
Infix notation
a
+
b
-
c
*
d
a+b-c*dPostfix notation ab+cd*-
Prefix notation -+ab*cd
Tudor Gîrbawww.tudorgirba.com
creativecommons.org/licenses/by/3.0/