trees
play

Trees Chapter 4 1 Objectives Understand the terminology of the - PowerPoint PPT Presentation

Trees Chapter 4 1 Objectives Understand the terminology of the tree data structure Represent a tree structure in a program Understand the importance of the binary trees Use a binary search tree for storing ordered elements 2 Motivation


  1. Trees Chapter 4 1

  2. Objectives Understand the terminology of the tree data structure Represent a tree structure in a program Understand the importance of the binary trees Use a binary search tree for storing ordered elements 2

  3. Motivation Why lists, stacks, and queues are not enough? Not everything can be linearized. We may need to represent hierarchies, for example. Sorted array search: O(log(n)) Sorted array insert: O(n) Linked list search: O(n) Linked list insert: O(1) Can we build a data structure that is fast for both search and insert? 3

  4. Hierarchical Structures UC System … UCR UCI UCSD … BCOE CNAS CSE ECE 4

  5. Hierarchical Structures US … CA AZ MN San Riverside … Bernardino County County Palm Riverside Springs 5

  6. Definition A tree can be defined recursively A tree is a group of nodes Each node contains a value If the tree is not empty, one node is identified as the root node The root node has zero or more subtrees The root of a subtree is connected to the root of the tree 6

  7. Terminology: Basic Definitions Root A is the parent of D A D is the child of A B, C, and D B C D are siblings E and F are E not siblings F G H I J K Subtrees 7

  8. Terminology: Descendants A B C D E F G H I J K Descendants of A 8

  9. Terminology: Ancestors A Ancestors of E B C D E F G H I J K Descendant of E 9

  10. Terminology: Leaves Internal nodes A B C D E F G H I J K Leaf nodes (Leaves) 10

  11. Terminology: Levels, Depth What is the height of Level 0 A the tree? B C D Level 1 Level 2 E F G H I J J is at level 3 K The depth of J is 3 Level 3 What is the relationship between the depth of a node and the number of ancestors? 11

  12. Terminology: Path A Is there a path from B to C? B C D E F G H I J K The path from A to J is (A, B, E, J) What is the path from D The length of the path is three (edges) to K? 12

  13. Tree Representation Node Value (any type) Children * * * * * template < type T> class Tree { class Node { T value; list<Node*> children; }; Node* root; }; 13

  14. Parent Representation A B C D E F G H template < type T> class Tree { class Node { I J K T value; Node* parent; }; list<Node*> nodes; }; 14

  15. Left-child Right-sibling A B C D E F G H I J K 15

  16. Left-child Right-sibling A B C D E F G H template < type T> class Tree { class Node { I J K T value; Node* left_child; Node* right_sibling; }; Node* root; }; 16

  17. Binary Trees A special case where every node has at most two children Has many applications that make it particularly interesting More restricted  Room for optimization template < type T> class Tree { class Node { T value; Node* left; Node* right; }; Node* root; }; 17

  18. Application: Expression Tree 3 × 5 + 4/2 × 2 ⨉ + 2 ⨉ / 2 3 5 4 18

  19. Inorder Tree Traversal (3 × 5) + (4/2 ) × 2 ⨉ + 2 ⨉ / 2 3 5 4 19

  20. Postorder Tree Traversal 35 × 42/+2 × ⨉ + 2 ⨉ / 2 3 5 4 20

  21. Preorder Tree Traversal ×+× 35/422 ⨉ + 2 ⨉ / 2 3 5 4 21

  22. Implementation of Traversals inorder(Node* root) { postorder(Node* root) { if (root == null) if (root == null) return; return; inorder(root->left); postorder(root->left); print(root->value); postorder(root->right); inorder(root->right); print(root->value); } } preorder(Node* root) { if (root == null) return; print(root->value); preorder(root->left); preorder(root->right); } 22

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend