RankBalanced Trees - PowerPoint PPT Presentation

About This Presentation
Title:

RankBalanced Trees

Description:

Computer science is (still) a young field. We often settle for the first ... elegance: 'a quality of neatness and ingenious simplicity in the solution of a ... – PowerPoint PPT presentation

Number of Views:59
Avg rating:3.0/5.0
Slides: 43
Provided by: vivianfay
Category:

less

Transcript and Presenter's Notes

Title: RankBalanced Trees


1
Rank-Balanced Trees
  • Siddhartha Sen, Princeton University
  • WADS 2009
  • Joint work with Bernhard Haeupler and
  • Robert E. Tarjan

2
Observation
  • Computer science is (still) a young field.
  • We often settle for the first (good) solution.
  • It may not be the best the design space is rich.

3
Research Agenda
  • For fundamental problems, systematically explore
    the design space to find the best solutions,
    seeking
  • elegance a quality of neatness and ingenious
    simplicity in the solution of a problem
    (especially in science or mathematics).
  • ? wordnet.princeton.edu/perl/webwn
  • Keep the design simple, allow complexity in the
    analysis.

4
Searching Dictionary Problem
  • Maintain a set of items, so that
  • Access find a given item
  • Insert add a new item
  • Delete remove an item
  • are efficient.
  • Assumption items are totally ordered, so that
    binary comparison is possible

5
Binary Search Tree
e
gt
lt
c
i
a
g
n
k
  • Symmetric order

Why not hashing?
6
Binary Search Tree
e
gt
c
i
gt
a
g
n
lt
k
  • Access k

7
Binary Search Tree
e
gt
c
i
lt
a
g
n
gt
k
h
  • Insert h

8
Binary Search Tree
Find successor
Swap
e
Delete
c
i
k
k
a
g
n
k
h
i
m
  • Delete i

9
Problem imbalance
  • How to bound the height?
  • Maintain local balance condition, rebalance after
    insert or delete balanced tree
  • Restructure after each access self-adjusting
    tree
  • Store balance information in nodes, guarantee
    O(log n) height
  • After (during) insert/delete, restore balance
    bottom-up (top-down)
  • Update balance information
  • Restructure along access path

a
b
c
d
e
f
10
Restructuring primitive(Single) Rotation
y
x
right left
x
y
C
A
A
B
B
C
Preserves symmetric order Changes heights Takes
O(1) time
11
Known Balanced Trees
  • AVL trees (passé according to one author)
  • weight balanced trees
  • 2,3 trees
  • B trees
  • red-black trees
  • etc.
  • Goal small height, little rebalancing, simple
    algorithms

not binary
12
Ranks
  • Each node has an integer rank, a proxy for height
  • Convention leaves have rank 0, missing nodes
    have rank -1
  • rank of tree rank of root
  • rank difference of a child
  • rank of parent - rank of child
  • i-child node of rank difference i
  • i,j-node children have rank differences i and j

13
Example of a rank-balanced tree
3
e
c
i
2
2
1
1
a
g
n
0
1
1
1
1
1
k
h
1
0
1
0
If all rank differences are positive, rank ?
height
14
Rank Rules
  • AVL trees every node is a 1,1- or 1,2-node
  • Rank-balanced trees every node is a 1,1-, 1,2-,
    or 2,2-node (rank differences are 1 or 2)
  • Red-black trees all rank differences are 0 or 1,
    no 0-child is the parent of another
  • All need one balance bit per node.

15
Height bounds
  • nk minimum n for rank k
  • AVL trees
  • n0 1, n1 2, nk nk-1 nk-2 1, nk Fk3
    - 1
  • nk Fk3 - 1, Fk2 lt ?k ? k ? log? n ? 1.44lg n
  • Rank-balanced trees
  • n0 1, n1 2, nk 2nk-2,
  • nk 2??k/2? ? k ? 2lg n
  • Same bound for red-black trees

16
Insertion example
a
Demote a
Promote a
1
0
gt
b
Rotate left at b
Promote b
0
1
0
1
gt
c
1
0
0
Insert b
Insert c
Insert a
17
Insertion example
b
Promote b
1
2
gt
Promote c
c
a
Demote c
2
1
0
1
0
1
0
gt
Rotate left at d
Promote d
d
0
1
0
1
gt
e
0
1
0
Insert e
Insert d
Insert c
18
Insertion example
b
Demote b
2
gt
d
a
Rotate left at d
Promote d
1
2
1
0
0
2
gt
e
c
Promote e
0
1
2
1
0
0
1
gt
f
1
0
0
Insert e
Insert f
19
Insertion example
d
2
e
b
1
1
1
1
f
a
c
1
0
0
1
1
0
Insert f
20
Rebalancing insertion
  • 0, 1, or 2 rotations
  • O(log n) rank changes
  • No 2,2 nodes AVL trees
  • ? log? n height!

21
Deletion example
e
Swap with successor
d
Double demote e
2
d
e
f
Delete
b
Demote b
1
2
1
0
1
1
f
a
c
1
0
0
1
1
0
Double rotate at c Double promote c
Delete a
Delete f
Delete d
22
Deletion example
c
2
e
b
2
0
2
0
Delete f
23
Rebalancing deletion
  • 0, 1, or 2 rotations
  • O(log n) rank changes

24
Amortized (time-averaged) analysis
  • If ti is the actual time of operation i and ?i is
    the potential of the data structure after
    operation i, the amortized time of operation i is

25
Non-terminal cases
Must decrease potential!
26
  • Insertions 1,1-node ? 1,2-node
  • Deletions 2,2-node ? 1,1- or 1,2-node
  • ? 1,1-nodes 2 ? 2,2-nodes
  • non-terminating steps are free,
  • last insertion step ?? ? 2,
  • last deletion step ?? ? 3
  • If there are m inserts and d deletes (n m - d),
    the number of rebalancing steps is O(m d)

27
  • Rank-Balanced Trees
  • height ? 2lg n
  • 2 rotations per rebalancing
  • O(1) amortized rebalancing time
  • Red-Black Trees
  • height ? 2lg n
  • 3 rotations per rebalancing
  • O(1) amortized rebalancing time

Yes.
No.
Are rank-balanced trees better?
28
Better height bound?
  • Sequential Insertions
  • rank-balanced red-black
  • height lg n (best) height 2lg n (worst)
  • Theorem. The height of a rank-balanced tree is at
    most log? m.
  • Degrades gracefully from AVL trees as d/m ? 1

29
Proof
  • Give a node a count of 1 when it is inserted
  • Total amount of count in tree is m
  • Potential of a node total count in its subtree
  • When a node is deleted, its count is added to its
    parent if it has one
  • Let ?k be the minimum potential of a node of rank
    k
  • Claim ?k satisfies
  • ?0 1, ?1 2, ?k 1 ?k-1 ?k-2 for k gt 1
  • ? m ? Fk3 - 1 ? ?k

30
Proof of Claim
  • ?k 1 ?k-1 ?k-2 for k gt 1
  • Easy for 1,1- and 1,2-nodes
  • Harder for 2,2-nodes (created by deletions)
  • But counts are inherited

31
Rebalancing frequency
  • How high does rebalancing propagate?
  • O(m d) rebalancing steps total, which implies
  • ? O((m d) / k) insertions/deletions at rank k
  • Actually, we can show
  • Theorem. There are O((m d) / 2k/3) rebalancing
    steps at rank k.

32
Proof
  • Use an exponential potential
  • 1,1- and 2,2-nodes of rank i get potential bi
  • 1,2-nodes of rank i get potential bi-2
  • where b 21/3
  • The potential change in the non-terminal steps
    telescopes. Combine this effect with
    initialization and terminal step.

33
Telescoping potential
?? -bi3

bi3
bi2 -
0
1
bi2
bi1 -
0
1
2
1
bi1
bi -
0
0
1
2
1
bi
bi-1 -
0
1
1
2
1
2
1
0

34
  • Fix k. Cut off growth in potential at rank k
  • 1,1- and 2,2-nodes of rank i bmini,k-3
  • 1,2-nodes of rank i bmini-2,k-3
  • Then a rebalancing that propagates to rank k or
    above decreases the potential by bk-3.
  • The same idea works for red-black trees (we
    think).

35
Preliminary evaluation
36
Preliminary evaluation
37
Preliminary evaluation
38
Preliminary evaluation
39
Conclusion
  • Rank-balanced trees are a relaxation of AVL trees
    with behavior at least as good as red-black trees
    and better in important ways.
  • Especially the height bound of min2lg n, log? m
  • Exponential potential functions yield new
    insights into the efficiency of rebalancing. We
    anticipate more applications.

40
Is rebalancing necessary?
  • For insertions, yes. But what about deletions?
  • Deletion rebalancing is complicated, ignored by
    textbooks, and many database systems do not do it
  • So, can we avoid deletion rebalancing?
  • Yes. Relaxation of AVL trees, ravl trees,
    achieves log? m access time using lglg m 1
    balance bits
  • and no rebalancing during deletion!

41
Thank you
42
Extra slides
Write a Comment
User Comments (0)
About PowerShow.com