380 likes | 446 Views
Computer Science 112. Fundamentals of Programming II Introduction to Trees. Each item has at most one predecessor Each item can have many successors. What Is a Tree?. Start with a single node, called the root. What Is a Tree?. Root node. Start with a single node, called the root
E N D
Computer Science 112 Fundamentals of Programming II Introduction to Trees
Each item has at most one predecessor Each item can have many successors What Is a Tree?
Start with a single node, called the root What Is a Tree? Root node
Start with a single node, called the root Eachsuccessor node is a child or daughter node What Is a Tree? Root node Daughters of root node
Successors are also called descendants What Is a Tree? Root node Descendants of root node
Nodes without successors are called leaf nodes The set of leaf nodes is the frontier What Is a Tree? Root node Leaf nodes (the frontier)
Nodes with at least one successor are called interior nodes What Is a Tree? Root node Interior nodes
Predecessors are also called ancestors The immediate predecessor is called the parent What Is a Tree? Root node X Ancestors of node X
Nodes with the same parent are called siblings What Is a Tree? Root node Siblings
Levels in a tree are numbered from 0 What Is a Tree? Root node Level 0 Level 1 Level 2 Level 3 There are three nodes in level 3
A binary tree allows at most two successors per node What Is a Tree? Root node
A general tree allows any number of successors per node What Is a Tree? Root node
Trees as Recursive Data Structures • A tree is either • empty, or • consists of a node containing • a datum • one or more subtrees Each subtree is itself another tree
Tree Traversals • We’d like to visit each data item in a tree • Are the items randomly ordered, as in a bag or set? • Think of visiting the data in a node, and its left and right subtrees, in some order
Preorder Traversal D Order of nodes visited: D B F G A E C Visit the data Visit the left subtree Visit the right subtree
Preorder Traversal D Order of nodes visited: D B B F G A E C Visit the data Visit the left subtree Visit the right subtree
Preorder Traversal D Order of nodes visited: D B A B F G A E C Visit the data Visit the left subtree Visit the right subtree
Preorder Traversal D Order of nodes visited: D B A C B F G A E C Visit the data Visit the left subtree Visit the right subtree
Preorder Traversal D Order of nodes visited: D B A C F B F G A E C Visit the data Visit the left subtree Visit the right subtree
Preorder Traversal D Order of nodes visited: D B A C F E B F G A E C Visit the data Visit the left subtree Visit the right subtree
Preorder Traversal D Order of nodes visited: D B A C F E G B F G A E C Visit the data Visit the left subtree Visit the right subtree
Inorder Traversal D Order of nodes visited: A B F G A E C Visit the left subtree Visit the data Visit the right subtree
Inorder Traversal D Order of nodes visited: A B B F G A E C Visit the left subtree Visit the data Visit the right subtree
Inorder Traversal D Order of nodes visited: A B C B F G A E C Visit the left subtree Visit the data Visit the right subtree
Inorder Traversal D Order of nodes visited: A B C D B F G A E C Visit the left subtree Visit the data Visit the right subtree
Inorder Traversal D Order of nodes visited: A B C D E B F G A E C Visit the left subtree Visit the data Visit the right subtree
Inorder Traversal D Order of nodes visited: A B C D E F B F G A E C Visit the left subtree Visit the data Visit the right subtree
Inorder Traversal D Order of nodes visited: A B C D E F G B F G A E C Visit the left subtree Visit the data Visit the right subtree
Postorder Traversal D Order of nodes visited: A B F G A E C Visit the left subtree Visit the right subtree Visit the data
Postorder Traversal D Order of nodes visited: A C B F G A E C Visit the left subtree Visit the right subtree Visit the data
Postorder Traversal D Order of nodes visited: A C B B F G A E C Visit the left subtree Visit the right subtree Visit the data
Postorder Traversal D Order of nodes visited: A C B E B F G A E C Visit the left subtree Visit the right subtree Visit the data
Postorder Traversal D Order of nodes visited: A C B E G B F G A E C Visit the left subtree Visit the right subtree Visit the data
Postorder Traversal D Order of nodes visited: A C B E G F B F G A E C Visit the left subtree Visit the right subtree Visit the data
Postorder Traversal D Order of nodes visited: A C B E G F D B F G A E C Visit the left subtree Visit the right subtree Visit the data
Level Order Traversal D Order of nodes visited: D B F A C E G B F G A E C For each level Visit data from left to right
Tree Applications • File directories • Processing sentences (computer programs or natural languages) • Searchable data structures • Heaps (implement heap sort, priority queues)
For Wednesday Binary Search Trees