1 / 37

Binary Trees

Binary Trees. Overview. Trees. Terminology. Traversal of Binary Trees. Expression Trees. Binary Search Trees. Trees. Family Trees. Organisation Structure Charts. Program Design. Structure of a chapter in a book. Parts of a Tree. Parts of a Tree. nodes. Parts of a Tree. parent node.

lucretia
Télécharger la présentation

Binary Trees

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. Binary Trees

  2. Overview • Trees. • Terminology. • Traversal of Binary Trees. • Expression Trees. • Binary Search Trees.

  3. Trees • Family Trees. • Organisation Structure Charts. • Program Design. • Structure of a chapter in a book.

  4. Parts of a Tree

  5. Parts of a Tree nodes

  6. Parts of a Tree parent node

  7. Parts of a Tree child nodes parent node

  8. Parts of a Tree child nodes parent node

  9. Parts of a Tree root node

  10. Parts of a Tree leaf nodes

  11. Parts of a Tree sub-tree

  12. Parts of a Tree sub-tree

  13. Parts of a Tree sub-tree

  14. Parts of a Tree sub-tree

  15. Binary Tree • Each node can have at most 2 children

  16. Traversal • Systematic way of visiting all the nodes. • Methods: • Preorder, Inorder, and Postorder • They all traverse the left subtree before the right subtree. • The name of the traversal method depends on when the node is visited.

  17. Preorder Traversal • Visit the node. • Traverse the left subtree. • Traverse the right subtree.

  18. 43 31 20 28 40 33 64 56 47 59 89 Example: Preorder 43 31 64 20 40 56 89 28 33 47 59

  19. Inorder Traversal • Traverse the left subtree. • Visit the node. • Traverse the right subtree.

  20. 20 28 31 33 40 43 47 56 59 64 89 Example: Inorder 43 31 64 20 40 56 89 28 33 47 59

  21. Postorder Traversal • Traverse the left subtree. • Traverse the right subtree. • Visit the node.

  22. 28 20 33 40 31 47 59 56 89 64 43 Example: Postorder 43 31 64 20 40 56 89 28 33 47 59

  23. Expression Tree • A Binary Tree built with operands and operators. • Also known as a parse tree. • Used in compilers.

  24. Example: Expression Tree + / / 1 3 * 4 6 7 1/3 + 6*7 / 4

  25. Notation • Preorder • Prefix Notation • Inorder • Infix Notation • Postorder • Postfix Notation

  26. 1 / 3 + 6 * 7 / 4 Example: Infix + / / 1 3 * 4 6 7

  27. + / / 1 3 4 * 6 7 1 3 / 6 7 * 4 / + Example: Postfix + / / 1 3 * 4 6 7 Recall: Reverse Polish Notation

  28. Example: Prefix + / / 1 3 * 4 6 7 + / 1 3 / * 6 7 4

  29. Binary Search Tree A Binary Tree such that: • Every node entry has a unique key. • All the keys in the left subtree of a node are less than the key of the node. • All the keys in the right subtree of a node are greater than the key of the node.

  30. Example 1: key is an integer 43 31 64 20 40 56 89 28 33 47 59

  31. Example 1: key is an integer 43 31 64 20 40 56 89 28 33 47 59

  32. Insert • Create new node for the item. • Find a parent node. • Attach new node as a leaf.

  33. Insert 57 Example: 43 31 64 20 40 56 89 28 33 47 59

  34. 57 Insert 57 Example: 43 31 64 20 40 56 89 28 33 47 59

  35. Search: Checklist • if target key is less than current node’s key, search the left sub-tree. • else, if target key is greater than current node’s key, search the right sub-tree. • returns: • if found, pointer to node containing target key. • otherwise, NULL pointer.

  36. Search Example: 59 43 31 64 20 40 56 89 28 33 47 59 57 found 36

  37. Search Example: 61 43 31 64 20 40 56 89 28 33 47 59 57 failed 37

More Related