Lecture overview - PowerPoint PPT Presentation

About This Presentation
Title:

Lecture overview

Description:

IUF(k)-trees. Properties and ... IUF(k) trees - balanced ... At each moment, the trees have the same height, and the roots have the same number of sons. ... – PowerPoint PPT presentation

Number of Views:37
Avg rating:3.0/5.0
Slides: 42
Provided by: mathT
Category:

less

Transcript and Presenter's Notes

Title: Lecture overview


1
Lecture overview
  • Single operation time complexity
  • Previous results
  • Optimality proof
  • UF(k)-trees
  • Operations and complexity
  • IUF(k)-trees
  • Properties and complexity

2
Single operation complexity
A data structure in which each UNION operation
can be performed in O(k), and each FIND operation
can be performed in time O(logkn). k is a
parameter, 2 ? k ? n .
Previous algorithms had operation complexity
?(log n). If we choose k log n / log log n,
UNION O(k) O(log n / log log n) FIND
O(logkn) O(log n / log log n)
3
Single operation complexity
Union O(k) Find O(logkn)
4
Optimal data structure
Theorem (Blum) Suppose that every UNION
operation can be performed in O(k). Then there is
a FIND operation that needs time
Corollary There is always either a UNION or a
FIND operation that takes
5
Optimal data structure
6
Optimal data structure
7
UF(k)-trees
Let k be an integer, 2 ? k ? n. A tree T is
called a UF(k)-tree , if
The root of T has at most k sons.
Each node in T has either 0 or more than k
grandsons.
All leaves of T have the same depth.
8
UF(k)-tree structure
9
UK(k)-tree structure
Elements are stored at the leaves
a
b
c
d
e
f
g
h
10
UK(k)-tree structure
Initially all trees are of size 2.
a
b
c
d
e
f
11
UF(k)-trees - balanced
If level i contains any nodes, it contains at
least ki/2 nodes.
The tree has at most n leaves
Height ? 2logkn
FIND O(logkn)
12
UF(k)-trees - linear
13
UF(k)-trees - linear
14
UF(k) - case 1
Total number of sons ? k
15
UF(k) - case 1
Total number of sons ? k
16
UF(k) - case 2
Total number of sons k
17
UF(k) - case 2
Total number of sons k
18
UF(k) - case 3
19
UF(k) - case 3
20
UF(2)-trees - example
a
b
c
d
e
f
21
UF(2)-trees - example
a
b
c
d
e
f
22
UF(2)-trees - example
a
b
c
d
e
f
23
UF(2)-trees - example
a
b
c
d
e
f
24
UF(k) - case 1
Total number of sons ? k
25
UF(k) - case 2
Total number of sons k
26
UF(k) - case 3
Complexity O(k)
27
IUF(k)-trees
Let k be an integer, 2 ? k ? n. A tree T is
called a IUF(k)-tree , if
  • The root of T has at most k sons.
  • Each node in T has either 0 or more than k
    grandsons.

28
IUF(k) trees - unbalanced
29
IUF(k) - linear size
30
IUF(k) - linear size
L - depth 0 (leaves) M - depth 1 R - depth 1
M ? L
nodes ? (k1)R
LMR ? (k1)R R ? (LM)/K ? (LM)/2 ? L
31
IUF(k) - case 1
Total number of sons ? k
32
IUF(k) - case 1
Total number of sons ? k
33
IUF(k) - case 2
Total number of sons k
34
IUF(k) - case 2
Total number of sons k
35
IUF(k) - case 3
36
IUF(k) - case 3
37
IUF(k) trees - balanced
It suffices to show than an IUF(k) tree has the
same height as the corresponding UK(k) tree that
stores the same set.
We perform the sequence of UNION operations on
the two data structures in parallel.
  • At each moment, the trees have the same height,
    and the roots have the same number of sons.
  • If we are in case j for the UF structure, we are
    in case j for the IUF structure.

38
Case 3
39
Case 3
40
Summary
  • Union O(k) , Find O(logkn)
  • Optimality
  • UF(k)-trees balanced, linear.
  • Three cases. Complexity O(klogkn)
  • IUF(k)-trees. Linear, potentially unbalanced
  • Similarity between data structures

41
References
  • A Data Structure for the Union-Find Problem
    Having Good Single-Operation Complexity / Michiel
    H.M. Smid , 1989.
  • Presentation http//www.math.tau.ac.il/ysh/semin
    ar/uf.ppt
Write a Comment
User Comments (0)
About PowerShow.com