Download as pdf or txt
Download as pdf or txt
You are on page 1of 183

Raimund Seidel

Universität des Saarlandes


! "

α !
! "

α !

# $ % & '
( )
( )

* ! α
( )

* ! α

+ % !
α ,

,
- ,
( )

* ! α

+ % !
α ,

,
- ,

Partial sum problem


in the semi-group setting
( )

* ! α

+ % !
α ,

,
- ,

Partial sum problem Union Find with


in the semi-group setting Path Compression
. - -* " / !0 1
. - -* " / !0 1

2 . - -* " )
3 4 56!
7 )
8 3 4 <
8 9
8
. - -* " / !0 1

2 . - -* " )
3 4 56!
7 )
8 3 4 <
8 9
8

: ;6
/ ) < 6
>
= > >6
/ ) < 6
>
= > >6

3 ) > 8
< 6
8 5
6= 8 >6
< 6
8 5
6= 8 >6

8 5 ? @ 6A
< 6
8 5
6= 8 >6

8 5 ? @ 6A

B ) 6 8 5 8 C6
+ D E
8 D E
8 D E
F% 8 )

-6 -6
-+ 9+
- 9
9+ +

8
Partial sum problem in the semi-group setting
) 6! +! ! D3 E ( !=

) !& ) = =6= = &


D E
Partial sum problem in the semi-group setting
) 6! +! ! D3 E ( !=

) !& ) = =6= = &


D E

) 3 D E (
"
Partial sum problem in the semi-group setting
) 6! +! ! D3 E ( !=

) !& ) = =6= = &


D E

) 3 D E (
"
G D=E
Partial sum problem in the semi-group setting
) 6! +! ! D3 E ( !=

) !& ) = =6= = &


D E

) 3 D E (
"
G D=E

3 5G "
D=E
Partial sum problem in the semi-group setting
) 6! +! ! D3 E ( !=

) !& ) = =6= = &


D E

) 3 D E (
"
G D=E

3 5G "
D=E

=6
3< 5
+
F% - ( != )
! %
! - %
!
) 36 5
) 36 5 +
) 36 5 +

D6- - E
56 )

+)
HHHHHHHHHHHHHHHHHHHH
HHHHHHHHHHHHHHHHHHHH - "
+ " $ $$
9+
HHHHHHHHHHHHHHHHHHHH - "
+ " $ $$
9+
$ $$
HHHHHHHHHH@HHHHHHHHHH
HHHHHHHHHHHHHHHHHHHH - "
+ " $ $$
9+
$ $$
HHHHHHHHHH@HHHHHHHHHH
%- $
%- $$
HHHHHHHHHHHHHHHHHHHH - "
+ " $ $$
9+
$ $$
HHHHHHHHHH@HHHHHHHHHH
%- $
%- $$
HHHHHHHHHHHHHHHHHHHH - "
+ " $ $$
9+
$ $$
HHHHHHHHHH@HHHHHHHHHH
%- $
%- $$

6- - $
6- - $$
HHHHHHHHHHHHHHHHHHHH - "
+ " $ $$
9+
$ $$
HHHHHHHHHH@HHHHHHHHHH
%- $
%- $$

6- - $
6- - $$

I )
%- = %-
HHHHHHHHHHHHHHHHHHHH - "
+ " $ $$
9+
$ $$
HHHHHHHHHH@HHHHHHHHHH
%- $
%- $$

6- - $
6- - $$

36 = 36 9+
9+
HHHHHHHHHHHHHHHHHHHH - "
+ " $ $$
9+
$ $$
HHHHHHHHHH@HHHHHHHHHH
%- $
%- $$

6- - $
6- - $$

36 = 36 9+
9+
36 9+ 8 5 +
3J 5
3J 5

DJ- - E
K)

L)
HHHHHHHHHHHHHHHHHHHHHHHHHHHH
HHHHHHHHHHHHHHHHHHHHHHHHHHHH - "
9 "
HHHHHHHHHHHHHHHHHHHHHHHHHHHH - "
9 "

HHHH@HHHH@HHHH@ @HHHH@HHHH
HHHHHHHHHHHHHHHHHHHHHHHHHHHH - "
9 "

HHHH@HHHH@HHHH@ @HHHH@HHHH
%- %-
"
HHHHHHHHHHHHHHHHHHHHHHHHHHHH - "
9 "

HHHH@HHHH@HHHH@ @HHHH@HHHH
%- %-
"
HHHHHHHHHHHHHHHHHHHHHHHHHHHH - "
9 "

HHHH@HHHH@HHHH@ @HHHH@HHHH
%- %-
"

6- -
9 " -
HHHHHHHHHHHHHHHHHHHHHHHHHHHH - "
9 "

HHHH@HHHH@HHHH@ @HHHH@HHHH
%- %-
"

6- -
9 " -

6- -
HHHHHHHHHHHHHHHHHHHHHHHHHHHH - "
9 "

HHHH@HHHH@HHHH@ @HHHH@HHHH
%- %-
"

6- -
9 " -

6- -

J- -

9 "
HHHHHHHHHHHHHHHHHHHHHHHHHHHH - "
9 "

HHHH@HHHH@HHHH@ @HHHH@HHHH
%- %-
"

6- -
9 " -

6- -

J- -

HHHH@HHHH@HHHH@ @HHHH@HHHH 9 "


J- J- J- J- J-
I
HHHH@HHHH@HHHH@ @HHHH@HHHH
%- %-
"

6- -
9 " -

6- -

J- -

HHHH@HHHH@HHHH@ @HHHH@HHHH 9 "


J- J- J- J- J-

I )
J- -
%- = 6- - = %-
I
HHHH@HHHH@HHHH@ @HHHH@HHHH
%- %-
"

6- -
9 " -

6- -

J- -

HHHH@HHHH@HHHH@ @HHHH@HHHH 9 "


J- J- J- J- J-

I )
J- -
%- = 6- - = %-
I
HHHH@HHHH@HHHH@ @HHHH@HHHH
%- %-
"

6- -
9 " -

6- -

J- -

HHHH@HHHH@HHHH@ @HHHH@HHHH 9 "


J- J- J- J- J-

I )
J- -
%- = 6- - = %-
I
HHHH@HHHH@HHHH@ @HHHH@HHHH
%- %-
"

6- -
9 " -

6- -

J- -

HHHH@HHHH@HHHH@ @HHHH@HHHH 9 "


J- J- J- J- J-

I )
J- -
%- = 6- - = %-
HHHH@HHHH@HHHH@ @HHHH@HHHH
%- %-
"

6- -
9 " -

6- -

J- -

HHHH@HHHH@HHHH@ @HHHH@HHHH 9 "


J- J- J- J- J-

3J + = 36 = 3J
HHHH@HHHH@HHHH@ @HHHH@HHHH
%- %-
"

6- -
9 " -

6- -

J- -

HHHH@HHHH@HHHH@ @HHHH@HHHH 9 "


J- J- J- J- J-

3J + = 36 = 3J
HHHH@HHHH@HHHH@ @HHHH@HHHH
%- %-
"

6- -
9 " -

6- -

J- -

HHHH@HHHH@HHHH@ @HHHH@HHHH 9 "


J- J- J- J- J-

3J + = 36 = 3J J = 3J
HHHH@HHHH@HHHH@ @HHHH@HHHH
%- %-
"

6- -
9 " -

6- -

J- -

HHHH@HHHH@HHHH@ @HHHH@HHHH 9 "


J- J- J- J- J-

3J + = 36 = 3J J = 3J

3J J 8
3L 5 3M 5 3N 5
3+ =6 5
3L 5 3M 5 3N 5
3+ =6 5

) 3+ -6 + -6
4 + -6 - -
3L 5 3M 5 3N 5
3+ =6 5

) 3+ -6 + -6
4 + -6 - -

3 ) 3+ + =6 8
=6
D + =6 - - E
+ =+ )

+ =J )
HHHHHHHHHHHHHHHHHHHHHHHHHHHH
HHHHHHHHHHHHHHHHHHHHHHHHHHHH - "
9 "
HHHHHHHHHHHHHHHHHHHHHHHHHHHH - "
9 "

HHHH@HHHH@HHHH@ @HHHH@HHHH
HHHHHHHHHHHHHHHHHHHHHHHHHHHH - "
9 "

HHHH@HHHH@HHHH@ @HHHH@HHHH
%- %-
"
HHHHHHHHHHHHHHHHHHHHHHHHHHHH - "
9 "

HHHH@HHHH@HHHH@ @HHHH@HHHH
%- %-
"
HHHHHHHHHHHHHHHHHHHHHHHHHHHH - "
9 "

HHHH@HHHH@HHHH@ @HHHH@HHHH
%- %-
"

+ -6 - -
9 " -
HHHHHHHHHHHHHHHHHHHHHHHHHHHH - "
9 "

HHHH@HHHH@HHHH@ @HHHH@HHHH
%- %-
"

+ -6 - -
9 " -

+ -6 - -
HHHHHHHHHHHHHHHHHHHHHHHHHHHH - "
9 "

HHHH@HHHH@HHHH@ @HHHH@HHHH
%- %-
"

+ -6 - -
9 " -

+ -6 - -

+ =6 - -

9 "
HHHHHHHHHHHHHHHHHHHHHHHHHHHH - "
9 "

HHHH@HHHH@HHHH@ @HHHH@HHHH
%- %-
"

+ -6 - -
9 " -

+ -6 - -

+ =6 - -

HHHH
+ =6
@HHHH
+ =6
@HHHH
+ =6
@ @HHHH@HHHH
+ =6 + =6 9 "
I

HHHH@HHHH@HHHH@ @HHHH@HHHH
%- %-
"

+ -6 - -
9 " -

+ -6 - -

+ =6 - -

HHHH
+ =6
@HHHH
+ =6
@HHHH
+ =6
@ @HHHH@HHHH
+ =6 + =6 9 "

I )
+ =6 - -
%- = + -6 - - = %-
I

HHHH@HHHH@HHHH@ @HHHH@HHHH
%- %-
"

+ -6 - -
9 " -

+ -6 - -

+ =6 - -

HHHH
+ =6
@HHHH
+ =6
@HHHH
+ =6
@ @HHHH@HHHH
+ =6 + =6 9 "

I )
+ =6 - -
%- = + -6 - - = %-
I

HHHH@HHHH@HHHH@ @HHHH@HHHH
%- %-
"

+ -6 - -
9 " -

+ -6 - -

+ =6 - -

HHHH
+ =6
@HHHH
+ =6
@HHHH
+ =6
@ @HHHH@HHHH
+ =6 + =6 9 "

I )
+ =6 - -
%- = + -6 - - = %-
HHHH@HHHH@HHHH@ @HHHH@HHHH
%- %-
"

+ -6 - -
9 " -

+ -6 - -

+ =6 - -

HHHH
+ =6
@HHHH
+ =6
@HHHH
+ =6
@ @HHHH@HHHH
+ =6 + =6 9 "

3+ =6 + = 3+ -6 = 3+ =6
3+ =6 + = 3+ -6 = 3+ =6

+ -6
3+ =6 + = 3+ -6 = 3+ =6

+ -6
3+ =6 + = 3+ -6 = 3+ =6

+ -6

3+ =6 + =6 = 3+ =6
3+ =6 + = 3+ -6 = 3+ =6

+ -6

3+ =6 + =6 = 3+ =6

3+ + =6 8
=6
56 ) 36

>6 ) 3+ -6 + -6

3+ + =6 8
=6
56 ) 36

>6 ) 3+ -6 + -6

3+ + =6 8
=6

6) 3+ + =6 88 8
=6
6) 3+ + =6 88 8
=6
6) 3+ + =6 88 8
=6

. α 5 ? @ 88 8 +A
6) 3+ + =6 88 8
=6

. α 5 ? @ 88 8 +A

α
5α ) 3+αα =6 α
+α =6 +
=7 α
6) 3+ + =6 88 8
=6

. α 5 ? @ 88 8 +A

α
5α ) 3+αα =6 α
+α =6 +
=7 α

7 α " ! 7 α
7 α " ! 7

O ,* 4 !/
Union Find with Path Compressions
Union Find with Path Compressions
P 3 5 ? 6!+! ! A

J
6 R
M
+

L Q
K

N
Union Find with Path Compressions
P 3 5 ? 6!+! ! A

+!K

J J
6 R 6 R
M M
+ +
Q
L Q L K
K

N N
Union Find with Path Compressions
P 3 5 ? 6!+! ! A

+!K

J J
6 R 6 R
M M
+ +
Q
L Q L K
K

N N

J 5 R
8 3
8
8

+ K R L N

6 Q J

M
8 3
8
8

+ K R L N K R L N

+!K
6 Q J + Q J
D# E
M 6 M
8 3
8
8

+ K R L N K R L N

+!K
6 Q J + Q J
D# E
M 6 M

% % D E
) D E

S % %
S % 5<
S % T7 2 ! %
S %!

!
%
%

%
%
) B
%
D E

J J
K
+ L 6 + L R 66 K 6

M N R M N +N +J 6L

66 +N

+J 6L
"

F% )

5G

2 %! 5 7 6 5 7 %!
2 % 5 7 G
5 7 += %
! -
! -
(

! %!
(

! %! !
(

! %! !

%! 5 G
(
D E
(
D E

!
%!
#

"
(
D E

! # "
%!
#

"
(
D E

! # "
%!
#

"

%! 5 G

5 <
B

>
* "
@*@ 5 G *
%

* 5 (
B

>
* "
@*@ 5 G *
%

* 5 (

U * !
@>@ @*@
. >)
> D E>
D E>
> D E!
% > % >
. >)
> D E>
D E>
> D E!
% > % >
. >)
> D E>
D E>
> D E!
% > % >

T ) >!>
>!>
$
$
"
% &
* " >
>!> !
% &
* " >
>!> !

"
* *

@* @ = @* @ @*@

* * = * = @> @ = @* @
' 6 U * * *)
' 6 U * * *)

6) *
% %
' 6 U * * *)

6) *
% %

+) *
% %
' 6 U * * *)

6) *
% %

+) *
% %

*
J) %$ %$

%
*
%
' @* @ = @* @ @*@

6) *
% %

+) *
% %

*
J) %$ %$

%
*
%
* * = * = @> @ = @* @

) *

) *

) @> @

) @* @
! %
" * @*@5

* ) ! = +
* ) ! = +
* ) ! = +

B )
@>@5
>

* " @*@5
* ) ! = +

B )
@>@5 @> @5@> @5 9+
>
>
>

* " @*@5
* ) ! = +

B )
@>@5 @> @5@> @5 9+
>
>
>

* " @*@5

P # *!* @* @=@* @ @*@


=

* * = * = @> @ = @* @
* ) ! = +

B )
@>@5 @> @5@> @5 9+
>
>
>

* " @*@5

P # *!* @* @=@* @ @*@


=

* * = * = @> @ = @* @

) = 9+ 9+ = = 9+ 9+ = 9+ =
* ) ! = +

B )
@>@5 @> @5@> @5 9+
>
>
>

* " @*@5

P # *!* @* @=@* @ @*@


=

* * = * = @> @ = @* @

) = 9+ 9+ = = 9+ 9+ = 9+ =

= +
* )
" !

7 =
* )
" !

7 =

0 D E
9

7 = m/n =6
B
B

. ) ! %
% 5 %
5<

!
%
< < %!
% 5
B

. ) ! %
% 5 %
5<

!
%
< < %!
% 5

T ) '
B

. ) ! %
% 5 %
5<

!
%
< < %!
% 5

T ) '
# ) %5 % +
# )
% >

) >> 5 ? % > @ %> A >


> 5?% >@ % A
# )
% >

) >> 5 ? % > @ %> A >


> 5?% >@ % A

> ! >>
%

> %
- -6
@>> @ @>@ 9 + =6
# )
% >

) >> 5 ? % > @ %> A >


> 5?% >@ % A

> ! >>
%
- -6

> %
- -6
@>> @ @>@ 9 + =6
! ! 5 %
" *! @*@5 !

%
! ! 5 %
" *! @*@5 !

2 )
! ! -6
! ! -6
- -6 < @>; @ 9+ =6

@> @

P !T!/ T/
- -6 < @>; @ 9+ =6

@> @

P !T!/ T/
* * = * = @> @ = @* @
- -6 < @>; @ 9+ =6

@> @

P !T!/ T/
* * = * = @> @ = @* @

9+ =6
- -6 < @>; @ 9+ =6

@> @

P !T!/ T/
* * = * = @> @ = @* @

9+ =6

5
- -6 < @>; @ 9+ =6

@> @

P !T!/ T/
* * = * = @> @ = @* @

9+ =6

* + = * = @* @
- -6 < @>; @ 9+ =6

@> @

P !T!/ T/
* * = * = @> @ = @* @

9+ =6

5
5@*@

* + = * = @* @ - @* @=@* @
- -6 < @>; @ 9+ =6

@> @

P !T!/ T/
* * = * = @> @ = @* @

9+ =6

5
5@*@

* + = * = @* @ - @* @=@* @

* - @*@ + = * - @* @
- -6 < @>; @ 9+ =6

@> @

P !T!/ T/

5
* - @*@ + = * - @* @
- -6 < @>; @ 9+ =6

@> @

P !T!/ T/

5
* - @*@ + = * - @* @

! ! C + = ! ! C
- -6 < @>; @ 9+ =6

@> @

P !T!/ T/

5
* - @*@ + = * - @* @

! ! C + = ! ! C

! ! C + 8
- -6 < @>; @ 9+ =6

@> @

P !T!/ T/

5
* - @*@ + = * - @* @

! ! C + = ! ! C

! ! C + 8

! ! =+ 8
- -6 < @>; @ 9+ =6

@> @

P !T!/ P = +T 8/
- -6 < @>; @ 9+ =6

@> @

P !T!/ P = +T 8/

* * = * = @> @ = @* @
- -6 < @>; @ 9+ =6

@> @

P !T!/ P = +T 8/

* * = * = @> @ = @* @

@* @ = + 9+ =6 8
- -6 < @>; @ 9+ =6

@> @

P !T!/ P = +T 8/

* * = * = @> @ = @* @

@* @ = + 9+ =6 8

5 8 @* @ =
- -6 < @>; @ 9+ =6

@> @

P !T!/ P = +T 8/

* * = * = @> @ = @* @

@* @ = + 9+ =6 8

5 8 @* @ =

* + = * = +@* @
- -6 < @>; @ 9+ =6

@> @

P !T!/ P = +T 8/

* * = * = @> @ = @* @

@* @ = + 9+ =6 8

5 8 @* @ =
5@*@

* + = * = +@* @ - + @* @=@* @
- -6 < @>; @ 9+ =6

@> @

P !T!/ P = +T 8/

* * = * = @> @ = @* @

@* @ = + 9+ =6 8

5 8 @* @ =
5@*@

* + = * = +@* @ - + @* @=@* @

* - +@*@ + = * - +@* @
- -6 < @>; @ 9+ =6

@> @

P !T!/ P = +T 8/

5 8

* - +@*@ + = * - +@* @
- -6 < @>; @ 9+ =6

@> @

P !T!/ P = +T 8/

5 8

* - +@*@ + = * - +@* @

! ! C+ + = ! ! 8 C+
- -6 < @>; @ 9+ =6

@> @

P !T!/ P = +T 8/

5 8

* - +@*@ + = * - +@* @

! ! C+ + = ! ! 8 C+

! ! C+ + 8 8
- -6 < @>; @ 9+ =6

@> @

P !T!/ P = +T 8/

5 8

* - +@*@ + = * - +@* @

! ! C+ + = ! ! 8 C+

! ! C+ + 8 8

! ! + =+ 8 8
- -6 < @>; @ 9+ =6

@> @

P !T!/ P = +T /

5
* C =6 @*@ + = * - =6 @* @

! ! C =6 + = ! ! C =6

! ! C =6 + 8

! ! =6 =+ 8
. ) ) D E

< 6
5
6= + >6

T ) 5 8
+
3 # )
<! ) !D E! - ! :
;<
3 # )
<! ) !D E! - ! :
;<

! ! =+ ! !
3 # )
<! ) !D E! - ! :
;<

! ! =+ ! !

! ! =6 =+ ! !
. ) V< 5 -6 9+
V 5V -6 ;<
. ) V< 5 -6 9+
V 5V -6 ;<

# )
! ! =+ V
. ) V< 5 -6 9+
V 5V -6 ;<

# )
! ! =+ V

. ) α ! 5 ? @ V + 6= 9 A

T ) +
. ) V< 5 -6 9+
V 5V -6 ;<

# )
! ! =+ V

. ) α ! 5 ? @ V + 6= 9 A

α ! 5 ? @ V< + 6= 9 A
. ) V< 5 -6 9+
V 5V -6 ;<

# )
! ! =+ V

. ) α ! 5 ? @ V + 6= 9 A

α ! 5 ? @ V< + 6= 9 A

* ) ! ! α ! =+ =+
* )
" !

7 α ! =

U C !2 & ! # !W 4 !
U -/ ,
3
RL) V6 +
V+ 6

! ! ? =K ! + =+ A :+RR
RL) V6 +
V+ 6

! ! ? =K ! + =+ A :+RR

)
! ! =+ 6 :+RR
+ +KR6L
! ! + = :+
3 7 α ! =

4
$) B
%
D E D E

Q
$) B
%
D E D E

Q
$) B
%
D E D E

Q
$) B
%
D E D E

Q
$) B
%
D E D E

Q
$) B
%
D E D E

Q
$) B
%
D E D E

Q
$) B
%
D E D E

Q
$) B
%
D E D E

6
6
+

J + J L

K
K Q
L

R R M

You might also like