lecture13 - BST traversals

lecture13 - BST traversals - We Fe 25 d b th e rsals Binary...

Info iconThis preview shows pages 1–9. Sign up to view the full content.

View Full Document Right Arrow Icon
Wed, Feb 25 th Binary Tree Traversals Using Binary Trees to Evaluate Expressions Binary Search Trees Binary Search Tree Operations Searching for an item Inserting a new item Finding the minimum and maximum items Printing out the items in order Deleting the whole tree d d recursion animations to source code of inorder d post order traversals)
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Binary Tree Traversals When we process all the nodes in a tree, it’s called a traversal. There are four common ways to traverse a tree. 1. Pre-order traversal 2. In-order traversal 3. Post-order traversal 4. Level-order traversal Preorder : 1. Process the current node. 2. Process the nodes in the left sub-tree. 3. Process the nodes in the right sub-tree.
Background image of page 2
The Preorder Traversal Preorder : 1. Process the current node. 2. Process the nodes in the left sub-tree. 3. Process the nodes in the right sub-tree. By “ process the current node ” we typically mean one of the following: 1. Print the current node’s value out. 1. Search the current node to see if its value matches the one you’re searching for. 1. Add the current node’s value to a total for the tree 1. Etc…
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
void PreOrder(Node *cur) { if (cur == NULL) // if empty, return… return; cout << cur->value; // Process the current node. PreOrder(cur->left); Process nodes in left sub-tree . PreOrder(cur-> right); . } main() { Node *root; PreOrder(root); } NULL “a” “b” “c” NULL “d” NULL NULL NULL “e” NULL root Output: a Cur points to “a” { . . } Cur points to “b” b The Pre-order Traversal { . . } Cur points to “d” d { . . } Cur points to NULL !
Background image of page 4
main() { Node *root; PreOrder(root); } NULL “a” “b” “c” NULL “d” NULL NULL NULL “e” NULL root Output: The Pre-order Traversal a bd void PreOrder(Node *cur) { if (cur == NULL) // if empty, return… return; cout << cur->value; // Process the current node. PreOrder(cur->left); Process nodes in left sub-tree . PreOrder(cur-> right); . } Cur points to “a” { . . } Cur points to “b” { . . } Cur points to “d” { . . } Cur points to NULL !
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
main() { Node *root; PreOrder(root); } NULL “a” “b” “c” NULL “d” NULL NULL NULL “e” NULL root Output: cur a bd void PreOrder(Node *cur) { if (cur == NULL) // if empty, return… return; cout << cur->value; // Process the current node. PreOrder(cur->left); Process nodes in left sub-tree . PreOrder(cur-> right); . } Cur points to “a” { . . } Cur points to “b” { . . } Cur points to “d” The Pre-order Traversal
Background image of page 6
main() { Node *root; PreOrder(root); } Output: NULL “a” “b” “c” NULL “d” NULL NULL NULL “e” NULL root a bd void PreOrder(Node *cur) { if (cur == NULL) // if empty, return… return; cout << cur->value; // Process the current node. PreOrder(cur->left); Process nodes in left sub-tree . PreOrder(cur-> right); . } Cur points to “a” { . PreOrder(cur->right); . } Cur points to “b” The Pre-order Traversal { . . } Cur points to “e” cur e
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
main() { Node *root; PreOrder(root); } Output: NULL “a” “b” “c” NULL “d” NULL NULL NULL “e” NULL root cur a bd void PreOrder(Node *cur) { if (cur == NULL) // if empty, return… return; cout << cur->value; // Process the current node. PreOrder(cur->left); Process nodes in left sub-tree .
Background image of page 8
Image of page 9
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

Page1 / 46

lecture13 - BST traversals - We Fe 25 d b th e rsals Binary...

This preview shows document pages 1 - 9. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online