Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Datastruktur & Algoritmik1 Sidste gang For j:=2 to len(A) do key:=A[j] (* indsæt key *) i:=j-1 while i>0 and A[i]>key do A[i+1]:=A[i] i-- A[i+1]:=key For.

Lignende præsentationer


Præsentationer af emnet: "Datastruktur & Algoritmik1 Sidste gang For j:=2 to len(A) do key:=A[j] (* indsæt key *) i:=j-1 while i>0 and A[i]>key do A[i+1]:=A[i] i-- A[i+1]:=key For."— Præsentationens transcript:

1 Datastruktur & Algoritmik1 Sidste gang For j:=2 to len(A) do key:=A[j] (* indsæt key *) i:=j-1 while i>0 and A[i]>key do A[i+1]:=A[i] i-- A[i+1]:=key For j:=2 to len(A) do key:=A[j] (* indsæt key *) i:=j-1 while i>0 and A[i]>key do A[i+1]:=A[i] i-- A[i+1]:=key Merge-Sort(A,p,r) (* Sortering A[p],A[p+1],..,A[r] *) if p<r then q:= (p+r)/2 Merge-Sort(A,p,q) Merge-Sort(A,q+1,r) Merge(A,p,q,r) Merge-Sort(A,p,r) (* Sortering A[p],A[p+1],..,A[r] *) if p<r then q:= (p+r)/2 Merge-Sort(A,p,q) Merge-Sort(A,q+1,r) Merge(A,p,q,r) Insertion SortMerge Sort Tidskompleksitet

2 Datastruktur & Algoritmik2 Tidskompleksitet Afhænger af Input til program Kvalitet af kode genereret af kompiler Instruktionshastighed af maskine Kompleksistet af underliggende algoritme. T(n) Køretid (værste) for input af størrelse n. Antal instruktioner på idealiseret maskine. Asymptotisk

3 Datastruktur & Algoritmik3 Algoritmiske forbedringer afgørende også i fremtiden T(n) n 5101520 1000 2000 3000 100n 5n 2 n 3 /2 2n2n Eksponentiel polynomiel T(n)10 3 s10 4 sForøgFak 100n1010010 5n 2 14453.2 n 3 /212272.3 2 n 10131.3

4 Datastruktur & Algoritmik4 I dag!! Præcise notationer til at angive asymptotisk køretid/tidskompleksitet af algoritme Metoder til at bestemme en algoritmes (asymptotiske) køretid –håntering af summer –induktion –Rekurrens/Differens ligninger Næste gang

5 Datastruktur & Algoritmik5 -Notation en mængde af funktioner Vi skriver hvis DEFINITION Asymptotisk tæt grænse

6 Datastruktur & Algoritmik6 -Notation en mængde af funktioner Vi skriver hvis DEFINITION Asymptotisk øvre grænse

7 Datastruktur & Algoritmik7 -Notation en mængde af funktioner Vi skriver hvis DEFINITION Asymptotisk nedre grænse

8 Datastruktur & Algoritmik8 Exponential & Logaritmefunktioner vs polynomier Exponentialfunktion Logaritmefunktion Polynomie ex F(n)=2 n ex log 2 (n) to-tals-logaritmen THM Mere CLR afsnit 2.2.

9 Datastruktur & Algoritmik9 Egenskaber

10 Datastruktur & Algoritmik10 SUMMER Køretid af program Antal Gange 1. sum := 0;1 2. for i:=1 to nn+1 3. do for j:=1 to i2+3+4+...+(n+1) 4. do sum:=sum+1 1+2+3+...+n Antal Gange 1. sum := 0;1 2. for i:=1 to nn+1 3. do for j:=1 to i2+3+4+...+(n+1) 4. do sum:=sum+1 1+2+3+...+n NOTATION

11 Datastruktur & Algoritmik11 Første Induktionsprincip Lad P(n) være udsagn om det naturlige tal n. Hvis 1 (Basis) P(1) sand 2 (Trin) Hvis P(k) er sand da er P(k+1) også sand da er P(n) sand for alle naturlige tal n. Lad P(n) være udsagn om det naturlige tal n. Hvis 1 (Basis) P(1) sand 2 (Trin) Hvis P(k) er sand da er P(k+1) også sand da er P(n) sand for alle naturlige tal n. IH Se Jensen&Skyum eller Rosen

12 Datastruktur & Algoritmik12 Rekursive funktioner f(1) = 1 f(n+1) = (n+1) + f(n) f(1) = 1 f(n+1) = (n+1) + f(n) g(1) = 1 g(n+1)= (n+1)*g(n) g(1) = 1 g(n+1)= (n+1)*g(n) h(1)= 0 h(n+1)= (n+1)*h(n) h(1)= 0 h(n+1)= (n+1)*h(n) k(1)= 1 k(n+1)= 1 + k(n) k(1)= 1 k(n+1)= 1 + k(n) j(1)= 1 j(n+1)= 1 - j(n) j(1)= 1 j(n+1)= 1 - j(n) p(1) = 1 p(n+1) = 2*p(n)+1 p(1) = 1 p(n+1) = 2*p(n)+1

13 Datastruktur & Algoritmik13 Tårnene i Hanoi ABC Skiverne skal flyttes fra A til B under følgende regler - kun 1 skive flyttes ad gangen - ingen skive må anbringes på en mindre skive Hvor mange træk/ hvor lang tid

14 Datastruktur & Algoritmik14 Tårnene i Hanoi Rekursiv løsning ABC Hvis n > 1: - flyt (n-1) øverste skiver fra A til C - flyt største (nederste) skive fra A til B - flyt (n-1) skiver fra C til B Hvis n=1: - flyt (største) skive fra A til B

15 Datastruktur & Algoritmik15 En række summer Andre rækker i CLR

16 Datastruktur & Algoritmik16 Lette grænser for summer


Download ppt "Datastruktur & Algoritmik1 Sidste gang For j:=2 to len(A) do key:=A[j] (* indsæt key *) i:=j-1 while i>0 and A[i]>key do A[i+1]:=A[i] i-- A[i+1]:=key For."

Lignende præsentationer


Annoncer fra Google