1 / 38

Computer Science 112

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

doctor
Download Presentation

Computer Science 112

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computer Science 112 Fundamentals of Programming II Introduction to Trees

  2. Each item has at most one predecessor Each item can have many successors What Is a Tree?

  3. Start with a single node, called the root What Is a Tree? Root node

  4. 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

  5. Successors are also called descendants What Is a Tree? Root node Descendants of root node

  6. 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)

  7. Nodes with at least one successor are called interior nodes What Is a Tree? Root node Interior nodes

  8. Predecessors are also called ancestors The immediate predecessor is called the parent What Is a Tree? Root node X Ancestors of node X

  9. Nodes with the same parent are called siblings What Is a Tree? Root node Siblings

  10. 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

  11. A binary tree allows at most two successors per node What Is a Tree? Root node

  12. A general tree allows any number of successors per node What Is a Tree? Root node

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. 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

  27. 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

  28. 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

  29. 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

  30. 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

  31. 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

  32. 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

  33. 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

  34. 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

  35. 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

  36. 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

  37. Tree Applications • File directories • Processing sentences (computer programs or natural languages) • Searchable data structures • Heaps (implement heap sort, priority queues)

  38. For Wednesday Binary Search Trees

More Related