1 / 13

Binary Search Trees

Binary Search Trees. A binary tree: No node has more than two child nodes (called child subtrees). Child subtrees must be differentiated, into: Left-child subtree Right-child subtree A search tree: For every node, p: All nodes in the left subtree are < p

Download Presentation

Binary Search 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 Search Trees • A binary tree: • No node has more than two child nodes (called child subtrees). • Child subtrees must be differentiated, into: • Left-child subtree • Right-child subtree • A search tree: • For every node, p: • All nodes in the left subtree are < p • All nodes in the right subtree are > p

  2. Binary Search Tree - Example

  3. Binary Search Trees (cont) • Searching for a value is in a tree of N nodes is: • O(log N) if the tree is “balanced” • O(N) if the tree is “unbalanced”

  4. “Unbalanced” Binary Search Trees • Below is a binary search tree that is NOT “balanced”

  5. Properties of Binary Trees • A binary tree is a full binary tree if and only if: • Each non leaf node has exactly two child nodes • All leaf nodes have identical path length • It is called full since all possible node slots are occupied

  6. A Full Binary Tree - Example

  7. Full Binary Trees • A Full binary tree of height h will have how many leaves? • A Full binary tree of height h will have how many nodes?

  8. Complete Binary Trees • A complete binary tree (of height h) satisfies the following conditions: • Level 0 to h-1 represent a fullbinary tree of height h-1 • One or more nodes in level h-1 may have 0, or 1 child nodes • If j,k are nodes in level h-1, then j has more child nodes than k if and only if j is to the left of k

  9. Complete Binary Trees - Example

  10. Complete Binary Trees (cont) • Given a set of N nodes, a complete binary tree of these nodes provides the maximum number of leaves with the minimal average path length (per node) • The complete binary tree containing n nodes must have at least one path from root to leaf of length log n

  11. Height-balanced Binary Tree • A height-balanced binary tree is a binary tree such that: • The left & right subtrees for any given node differ in height by no more than one • Note: Each complete binary tree is a height-balanced binary tree

  12. Height-balanced Binary Tree - Example

  13. Advantages of Height-balanced Binary Trees • Height-balanced binary trees are “balanced” • Operations that run in time proportional to the height of the tree are O(log n), n the number of nodes with limited performance variance • Variance is a very important concern in real time applications, e.g. connecting calls in a telephone network

More Related