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.

Slides:



Advertisements
Lignende præsentationer
En lille introduktion Angående links til
Advertisements

Cash dispenser VDM++ modellering Test af udvidet cash dispenser Peter Clausen Raghid Kawash Brian Gram Møller.
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal.
Algoritmer og Datastrukturer 2 Del-og-kombiner [CLRS, kapitel , , 28
C#: Udtryk og metoder. Indhold “With regards to programming statements and methods, C# offers what you would come to expect from a modern OOPL…” Udtryk.
Datastrukturer og Collections Oversigt og forskel imellem Jave og.net Collections library Collection interfaces ArrayList IList interface Hashtable Hashtable.
Algoritmer og Datastrukturer 1 Merge-Sort [CLRS, kapitel 2.3] Heaps [CLRS, kapitel 6] Gerth Stølting Brodal.
// Semaphore.java package semaphore; public class Semaphore { int resources = 1; // Constructors Semaphore() {} Semaphore(int i) { resources = i; } synchronized.
CodeIgniter Database Brugerinput Form Validation 20101JFH.
GETTIN DOWN 2 BUSINESS >> INDSÆT SLOGAN HER > INDSÆT SLOGAN HER
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal.
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal.
Rekursion og rekursive algoritmer Rekursion Sorteringsalgoritmer Forklaring af sorteringsalgoritmer Rasmus D. Lehrmann1.
1 Nordjyllands Erhvervakademi Lektion 6 Opsamling på opgaver Mere om rekursion: –Del&Hersk –Sortering –Kompleksitet (effektivitet – ”Store O”) Abstrakte.
”Men hvis aftalen mellem EU og USA kommer i stand, bliver sådan en handel billigere for de danske forbrugere, siger handelsminister Pia Olsen Dyhr. - Jeg.
Datastruktur & Algoritmik1 Datastruktur & Algoritmik 99 Kim Guldstrand Larsen.
Søgning & sortering Intro søgning Lineær søgning Binær søgning
MM4 Algoritmiske grundprincipper. MM1 Lister, stakke og køer. MM2 Hash-tabeller og Træer. MM3 Sortering.MM4 Søgning.MM5.
Induktion og rekursion
Algoritmer og Datastrukturer 1 Binære Søgetræer [CLRS, kapitel 12] Gerth Stølting Brodal.
Begreber og Redskaber 9. Plan for idag I dag: Datastrukturer Tabeller Lister, mængder, maps, grafer Hægtede lister.
Algoritmer og Datastrukturer 1...mere Sortering [CLRS, kapitel 8] Gerth Stølting Brodal.
Datastrukturer og Collections Rasmus D. Lehrmann DM
Begreber og Redskaber 5. Collections i Java 1.2 Framework: samling af datastrukturer og algoritmer som generelt værktøj. En ramme til at arbejde med søgning.
Algoritmer og Datastrukturer 1 Merge-Sort [CLRS, kapitel 2.3] Heaps [CLRS, kapitel 6] Gerth Stølting Brodal.
Ældre Sagen ”Gem som” - et dokument Følg numrene osv.
For at ændre ”Enhedens navn” og ”Sted og dato”: Klik i menulinjen, vælg ”Indsæt” > ”Sidehoved / Sidefod”. Indføj ”Sted og dato” i feltet for dato og ”Enhedens.
1 Søgning I. 2 Plan Sekventiel søgning Binær søgning Binære søgetræer Balancerede binære søgetræer træer.
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal Aarhus Universitet.
SWOT Analyse Styrker Svagheder Muligheder Trusler Potential
Algoritmer og Datastrukturer 1...mere Sortering [CLRS, kapitel 8] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 2 Del-og-kombiner [CLRS, kapitel 2.3, , problem 30.1.c] Gerth Stølting Brodal.
W1b1 PC baseret analyse og simulering. w1b2 Definition Digital Elektronisk beregningsmaskine, der har intern hukommelse til lagring af program og mellem-regninger.
1 PC baseret dataanalyse og simulering Week2 A. 2 SAS input/output filer Inddata -textfil - SAS-program -textfil- SAS datasæt SAS system SAS listing -print.
Lektion 7 Læsestof: Kopier fra Caranno
1 Sortering. 2 Plan Elementære metoder til sortering -sortering ved indsættelse -Shellsort Sorteringsmetoder baseret på rekursion –quicksort –flettesortering.
Algoritmer og Datastrukturer 1 Binære Søgetræer [CLRS, kapitel 12] Gerth Stølting Brodal.
1 Sortering. 2 Sortering ved fletning (merge-sort) 7 2 | 9 4  | 2  2 79 | 4   72  29  94  4.
Algoritmer og Datastrukturer 1 Dynamisk Rang & Interval Træer [CLRS, kapitel 14] Gerth Stølting Brodal.
Begreber og Redskaber 8. Plan for idag Sortering fortsat Comparable Søgning –Lineær søgning –Binær søgning.
Algoritmer og Datastrukturer 1 Binære Søgetræer [CLRS, kapitel 12] Gerth Stølting Brodal Aarhus Universitet.
C#: Udtryk og metoder Kilde: Joe Hummel. 2 Nordjyllands Erhvervakademi – 2008 Indhold “With regards to programming statements and methods, C# offers what.
Algoritmer og Datastrukturer 2 Grådige Algoritmer [CLRS ] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 1 Quicksort [CLRS, kapitel 7] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 2 Grådige Algoritmer [CLRS ] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 1 Quicksort [CLRS, kapitel 7] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 2 Del-og-kombiner [CLRS, kapitel , , 28
9. Interfaces. 2 Nordjyllands Erhvervakademi Objectives “Good class design starts with good application design — how many classes, do they relate.
Algoritmer og Datastrukturer 1 ”Rush Hour” Gerth Stølting Brodal.
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal Analyseværktøjer [CLRS, 1-3.1]
Algoritmer og Datastrukturer 1 Dynamisk Rang & Interval Træer [CLRS, kapitel 14] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 2 Suffix træer og Suffix arrays [GT, kapitel 9.2],[Smyth, kapitel 5.3.2] Gerth Stølting Brodal Aarhus Universitet.
Sortering.  Michael E. Caspersen, 2000Introducerende objektorienteret programmeringSortering.2 Sortering Vi hartidligere set at effektiv søgning forudsætter.
Algoritmer og Datastrukturer 1 Dynamisk Rang & Interval Træer [CLRS, kapitel 14] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 2 Grådige Algoritmer [CLRS, kapitel ] Gerth Stølting Brodal Aarhus Universitet.
Interfaces Afkobling af programkomponenter (eksempel: Comparable)
I o p o DAIMI, AU, December 1999Introducerende objektorienteret programmering14B.1 Sortering.
INDSÆT OVERSKRIFT Realkompetencevurdering Validering Prior Learning
I det efterfølgende vil vi prøve at opnå forbindelse til de knapper som er på boardet. Opgaven er at vi ved at trykke på knapperne kan få lyset til at.
Algoritmer og Datastrukturer 1
Algoritmer og Datastrukturer 1 Amortiseret Analyse [CLRS, kapitel 17]
Algoritmer og Datastrukturer 1
Algoritmer og Datastrukturer 1
Algoritmer og Datastrukturer 1 Amortiseret Analyse [CLRS, kapitel 17]
Algoritmer og Datastrukturer 1
Algoritmer og Datastrukturer 1
Berendsen og FN’s verdensmål
Grundlæggende Algoritmer og Datastrukturer
Hvad finder vi vigtigt for vores elever?
Algoritmer og Datastrukturer 1
Præsentationens transcript:

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

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

Datastruktur & Algoritmik3 Algoritmiske forbedringer afgørende også i fremtiden T(n) n n 5n 2 n 3 /2 2n2n Eksponentiel polynomiel T(n)10 3 s10 4 sForøgFak 100n n n 3 / n

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

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

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

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

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.

Datastruktur & Algoritmik9 Egenskaber

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 i (n+1) 4. do sum:=sum n Antal Gange 1. sum := 0;1 2. for i:=1 to nn+1 3. do for j:=1 to i (n+1) 4. do sum:=sum n NOTATION

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

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

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

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

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

Datastruktur & Algoritmik16 Lette grænser for summer