Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Wintersemester 2007/08
Algorithm Theory
Chapter 0 and 1a Christian Schindelhauer
Algorithm Theory Chapter 0 and 1a Christian Schindelhauer - - PowerPoint PPT Presentation
Algorithm Theory Chapter 0 and 1a Christian Schindelhauer Albert-Ludwigs-Universitt Freiburg Institut fr Informatik Rechnernetze und Telematik Wintersemester 2007/08 Algorithms Theory Chapter 0 Introduction and Organization
Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Wintersemester 2007/08
Chapter 0 and 1a Christian Schindelhauer
Algorithms Theory Winter 2008/09 Rechnernetze und Telematik Albert-Ludwigs-Universität Freiburg Christian Schindelhauer
2
Algorithms Theory Winter 2008/09 Rechnernetze und Telematik Albert-Ludwigs-Universität Freiburg Christian Schindelhauer
follow the previous lectures
3
Algorithms Theory Winter 2008/09 Rechnernetze und Telematik Albert-Ludwigs-Universität Freiburg Christian Schindelhauer
4
Algorithms Theory Winter 2008/09 Rechnernetze und Telematik Albert-Ludwigs-Universität Freiburg Christian Schindelhauer
5
Algorithms Theory Winter 2008/09 Rechnernetze und Telematik Albert-Ludwigs-Universität Freiburg Christian Schindelhauer
6
Algorithms Theory Winter 2008/09 Rechnernetze und Telematik Albert-Ludwigs-Universität Freiburg Christian Schindelhauer
algorithmentheorie-w08/exercise.html
7
Algorithms Theory Winter 2008/09 Rechnernetze und Telematik Albert-Ludwigs-Universität Freiburg Christian Schindelhauer
8
Algorithms Theory Winter 2008/09 Rechnernetze und Telematik Albert-Ludwigs-Universität Freiburg Christian Schindelhauer
science
9
Algorithms Theory Winter 2008/09 Rechnernetze und Telematik Albert-Ludwigs-Universität Freiburg Christian Schindelhauer
. Widmayer:
4th Edition, Spektrum Akademischer Verlag, Heidelberg, 2002
MIT Press, 2001
10
Algorithms Theory Winter 2008/09 Rechnernetze und Telematik Albert-Ludwigs-Universität Freiburg Christian Schindelhauer
11
Algorithms Theory Winter 2008/09 Rechnernetze und Telematik Albert-Ludwigs-Universität Freiburg Christian Schindelhauer
12
Algorithms Theory Winter 2008/09 Rechnernetze und Telematik Albert-Ludwigs-Universität Freiburg Christian Schindelhauer
13
Algorithms Theory Winter 2008/09 Rechnernetze und Telematik Albert-Ludwigs-Universität Freiburg Christian Schindelhauer
14
Algorithms Theory Winter 2008/09 Rechnernetze und Telematik Albert-Ludwigs-Universität Freiburg Christian Schindelhauer
15
S Sleft < v v Sright ≥ v v
function Quick (F : Folge) : Folge; {returns the sorted sequence S} begin if |S| ≤ 1 then Quick := F else { choose pivot element v in S; partition S in Sleft with all elements < v and Sright with elements ≥ v Quick := } end; Quick(Sleft) v Quick(Sright)
Algorithms Theory Winter 2008/09 Rechnernetze und Telematik Albert-Ludwigs-Universität Freiburg Christian Schindelhauer
16
Divide-and-conquer method for solving a problem of size n
n > c: Divide the problem into k sub-problems of sizes n1,...,nk (k ≥ 2) n ≤ c: Use direct solution
Recursively solve the k sub-problems (using Divide and Conquer)
Combine the k partial solutions to get the
Algorithms Theory Winter 2008/09 Rechnernetze und Telematik Albert-Ludwigs-Universität Freiburg Christian Schindelhauer
17
T(n): maximal number of steps necessary for solving an instance of
size n
T(n) =
special case: k = 2, n1 = n2 = n/2
cost for divide and merge : DM(n) T(1) = a T(n) = 2·T(n/2) + DM(n)
Algorithms Theory Winter 2008/09 Rechnernetze und Telematik Albert-Ludwigs-Universität Freiburg Christian Schindelhauer
18
Closest Pair Problem:
Given a set S of n points, find a pair of points with the smallest distance
Algorithms Theory Winter 2008/09 Rechnernetze und Telematik Albert-Ludwigs-Universität Freiburg Christian Schindelhauer
19
Divide S into two equally sized sets Sleft and Sright
dleft = mindist(Sleft) dright = mindist(Sright)
dleft&right = min {d(pleft ,pright) | pleft ∈ Sleft , pr ∈ Sright } return min {dleft , dright ,dleft&right }
Sright Sleft
S
dleft dleft&right dright
Algorithms Theory Winter 2008/09 Rechnernetze und Telematik Albert-Ludwigs-Universität Freiburg Christian Schindelhauer
20
Divide S into two equally sized sets Sleft and Sright
dleft = mindist(Sleft) dright = mindist(Sright)
dleft&right = min {d(pleft ,pright) | pleft ∈ Sleft , pr ∈ Sright } return min {dleft , dright ,dleft&right } Computation of dleft&right:
Sright Sleft
S
p
d d = min {dleft, dright }
Algorithms Theory Winter 2008/09 Rechnernetze und Telematik Albert-Ludwigs-Universität Freiburg Christian Schindelhauer
21
line vertically ordered
(y-) distance of at most d
points
Algorithms Theory Winter 2008/09 Rechnernetze und Telematik Albert-Ludwigs-Universität Freiburg Christian Schindelhauer
22
d d d d p S Sl Sr p1 p3 p4 p2 d = min {dleft, dright }
Algorithms Theory Winter 2008/09 Rechnernetze und Telematik Albert-Ludwigs-Universität Freiburg Christian Schindelhauer
23
points in S within distance d of the separation line with increasing y-coordinates
Algorithms Theory Winter 2008/09 Rechnernetze und Telematik Albert-Ludwigs-Universität Freiburg Christian Schindelhauer
24
Solution: O(n log n)
Albert-Ludwigs-Universität Freiburg Institut für Informatik Rechnernetze und Telematik Wintersemester 2007/08
end of lecture Christian Schindelhauer