Digital Search Trees - PowerPoint PPT Presentation

About This Presentation
Title:

Digital Search Trees

Description:

Digital Search Trees & Binary Tries Analog of radix sort to searching. Keys are binary bit strings. Fixed length 0110, 0010, 1010, 1011. Variable length 01 ... – PowerPoint PPT presentation

Number of Views:215
Avg rating:3.0/5.0
Slides: 26
Provided by: sah19
Learn more at: https://www.cise.ufl.edu
Category:

less

Transcript and Presenter's Notes

Title: Digital Search Trees


1
Digital Search Trees Binary Tries
  • Analog of radix sort to searching.
  • Keys are binary bit strings.
  • Fixed length 0110, 0010, 1010, 1011.
  • Variable length 01, 00, 101, 1011.
  • Application IP routing, packet classification,
    firewalls.
  • IPv4 32 bit IP address key lt 32.
  • IPv6 128 bit IP address key lt 128.

2
Digital Search Tree
  • Assume fixed number of bits.
  • Not empty gt
  • Root contains one dictionary pair (any pair).
  • All remaining pairs whose key begins with a 0 are
    in the left subtree.
  • All remaining pairs whose key begins with a 1 are
    in the right subtree.
  • Left and right subtrees are digital search trees
    on remaining bits.

3
Example
  • Start with an empty digital search tree and
    insert a pair whose key is 0110.
  • Now, insert a pair whose key is 0010.

4
Example
  • Now, insert a pair whose key is 1001.

5
Example
  • Now, insert a pair whose key is 1011.

6
Example
  • Now, insert a pair whose key is 0000.

7
Search/Insert/Delete
  • Complexity of each operation is O(bits in a
    key).
  • key comparisons O(height).
  • Expensive when keys are very long.

8
Binary Trie
  • Information Retrieval.
  • At most one key comparison per operation.
  • Fixed length keys.
  • Branch nodes.
  • Left and right child pointers.
  • No data field(s).
  • Element nodes.
  • No child pointers.
  • Data field to hold dictionary pair.

9
Example
At most one key comparison for a search.
10
Variable Key Length
  • Left and right child fields.
  • Left and right pair fields.
  • Left pair is pair whose key terminates at root of
    left subtree or the single pair that might
    otherwise be in the left subtree.
  • Right pair is pair whose key terminates at root
    of right subtree or the single pair that might
    otherwise be in the right subtree.
  • Field is null otherwise.

11
Example
0
null
1
0
00
01100
10
11111
0
0
0000
001
1000
101
1
00100
001100
At most one key comparison for a search.
12
Fixed Length Insert
Insert 0111.
Zero compares.
13
Fixed Length Insert
Insert 1101.
14
Fixed Length Insert
0
1
Insert 1101.
15
Fixed Length Insert
0
1
Insert 1101.
One compare.
16
Fixed Length Delete
Delete 0111.
17
Fixed Length Delete
Delete 0111.
One compare.
18
Fixed Length Delete
Delete 1100.
19
Fixed Length Delete
0
1
0
1
0
0
0
1
0
1
Delete 1100.
20
Fixed Length Delete
0
1
0
1
0
0
0
1
0
1
Delete 1100.
21
Fixed Length Delete
0
1
0
1
0
0
0
1
0
1
Delete 1100.
22
Fixed Length Delete
0
1
0
1
0
0
0
1
0
1
Delete 1100.
One compare.
23
Fixed Length Join(S,m,B)
  • Convert 3-way join to 2-way join
  • Insert m into B to get B.
  • S empty gt B is answer done.
  • S is element node gt insert S element into B
    done
  • B is element node gt insert B element into S
    done
  • If you get to this step, the roots of S and B
    are branch nodes.

24
Fixed Length Join(S,m,B)
  • S has empty right subtree.



J(X,Y) ajoin X and Y, all keys in X lt all in Y.
25
Fixed Length Join(S,m,B)
  • S has nonempty right subtree.
  • Left subtree of B must be empty, because all
    keys in B gt all keys in S.



Complexity O(height).
Write a Comment
User Comments (0)
About PowerShow.com