Algoritmer og Datastrukturer 2 Grådige Algoritmer [CLRS 16.1-16.3] Gerth Stølting Brodal.

Slides:



Advertisements
Lignende præsentationer
Algoritmer og Datastrukturer 1 Amortiseret Analyse [CLRS, kapitel 17] Gerth Stølting Brodal.
Advertisements

Algoritmer og Datastrukturer 2 Dynamisk Programmering [CLRS 15] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal.
Algoritmer og Datastrukturer 2 Del-og-kombiner [CLRS, kapitel , , 28
Algoritmer og Datastrukturer 1 Merge-Sort [CLRS, kapitel 2.3] Heaps [CLRS, kapitel 6] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 1...mere Sortering [CLRS, kapitel 8] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 2 Grådige Algoritmer [CLRS ] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal Minimum Udspændende Træer (MST) [CLRS, kapitel 23]
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal.
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal.
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal.
Algoritmer og Datastrukturer 2 Dynamisk Programmering [CLRS, kapitel 15] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 1 Union-Find [CLRS, kapitel ] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 1 Binære Søgetræer [CLRS, kapitel 12] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 1...mere Sortering [CLRS, kapitel 8] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 1 Merge-Sort [CLRS, kapitel 2.3] Heaps [CLRS, kapitel 6] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 2 Dynamisk Programmering [CLRS 15] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal Mønstergenkendelse [CLRS, kapitel , 32.4]
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.
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal Maksimale Strømninger [CLRS, kapitel ]
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal.
Algoritmer og Datastrukturer 2 Maksimale Strømninger [CLRS, kapitel ] Gerth Stølting Brodal Aarhus Universitet Ford-Fulkerson.
Algoritmer og Datastrukturer 1 Binære Søgetræer [CLRS, kapitel 12] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 1 Dynamisk Rang & Interval Træer [CLRS, kapitel 14] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal Minimum Udspændende Træer (MST) [CLRS, kapitel 23]
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal Minimum Udspændende Træer (MST) [CLRS, kapitel 23]
Algoritmer og Datastrukturer 1 Binære Søgetræer [CLRS, kapitel 12] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 1 Union-Find [CLRS, kapitel ] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 2 Grådige Algoritmer [CLRS ] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal.
Algoritmer og Datastrukturer 1 Quicksort [CLRS, kapitel 7] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 1 Quicksort [CLRS, kapitel 7] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 2 Graf repræsentationer, BFS og DFS [CLRS, kapitel ] Gerth Stølting Brodal.
Algoritmer og Datastrukturer 2 Del-og-kombiner [CLRS, kapitel , , 28
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal Minimum Udspændende Træer (MST) [CLRS, kapitel 23]
Algoritmer og Datastrukturer 1 Union-Find [CLRS, kapitel ] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal.
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal Suffiks træer [GT, kapitel 9.2], Suffiks arrays [Smyth, kapitel 5.3.2]
Clicker Test a)Ja b)Nej c)Ved ikke. Algoritmer og Datastrukturer 2 Graf repræsentationer, BFS og DFS [CLRS, kapitel ] Gerth Stølting Brodal.
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.
Algoritmer og Datastrukturer 2 Suffix træer og Suffix arrays [Smyth, kapitel 5.3.2], [GT, kapitel 9.2] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal.
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal Suffix træer [GT, kapitel 9.2], Suffix arrays [Smyth, kapitel 5.3.2]
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.
Algoritmer og Datastrukturer 2 Graf repræsentationer, BFS og DFS [CLRS, kapitel ] Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 1 Gerth Stølting Brodal Aarhus Universitet.
Algoritmer og Datastrukturer 2 Gerth Stølting Brodal Minimum Udspændende Træer (MST) [CLRS, kapitel 23]
Algoritmer og Datastrukturer 2 Dynamisk Programmering [CLRS 15]
Dynamisk Rang & Interval Træer [CLRS, kapitel 14]
Algoritmer og Datastrukturer 2
Algoritmer og Datastrukturer 1
Algoritmer og Datastrukturer 2
Algoritmer og Datastrukturer 1
Algoritmer og Datastrukturer 1
Algoritmer og Datastrukturer 2 Grådige Algoritmer [CLRS ]
Algoritmer og Datastrukturer 2
Algoritmer og Datastrukturer 2 Dynamisk Programmering [CLRS 15]
Algoritmer og Datastrukturer 1
Algoritmer og Datastrukturer 2
Dynamisk Rang & Interval Træer [CLRS, kapitel 14]
Algoritmer og Datastrukturer 2
Algoritmer og Datastrukturer Grådige Algoritmer [CLRS ]
Grundlæggende Algoritmer og Datastrukturer
Algoritmer og Datastrukturer Dynamisk Programmering [CLRS 15]
Præsentationens transcript:

Algoritmer og Datastrukturer 2 Grådige Algoritmer [CLRS ] Gerth Stølting Brodal

Grådige Algoritmer Problemer hvor en løsning kan konstrueres ud fra en løsning for kun ét mindre delproblem Delproblemet kan identificeres effektivt (simplere end dynamisk programmering!)

Er BACBABA en delsekvens af ABABGACBABAD ? ABABGACBABAD Observation Hvis der findes en forekomst, så findes også en forekomst der matcher det første B i strengen Find rekursivt ACBABA Tid O(n) Mulig forekomst B B

Udvælgelse af Aktiviteter Input: n aktiviter med starttid s i og sluttid f i Output: Maximal mængde ikke-overlappende aktiviteter

Udvælgelse af Aktiviteter Observation: Der findes altid en maximal løsning som indeholder aktiviteten med den tidligste sluttid (grådig-valg egenskab) Preprocessering: Sorter aktiviteterne efter sluttidspunktet

Udvælgelse af Aktiviteter Tid O(n·log n) sorteret

Huffman koder

Ascii Tabel = =

Komprimering Givet frekvensen af symbolerne i input, erstat input symbolerne med kortere bitstrenge (fixed-længde eller variabel-længde) NB: Variabel-længde skal være prefix-fri

Fixed-længde vs variabel-længde

Huffman Koder Tid O(n·log n)

Huffman Koder

Korrektheden af Huffman Koder Sætning Der findes altid en optimal prefix kode hvor de to mindst hyppige symboler ( x og y ) har samme kode og kun adskiller sig i sidste bit x og y mindst hyppige løs problemet hvor dette er et blad

Dynamisk Programmering vs Grådig Problem 0-1 Knapsack Fractional Knapsack

Dynamisk Programmering vs Grådig Problem 0-1 Knapsack Fractional Knapsack Grådigt fyld i efter aftagende pris/volume c(k,v) = bedste værdi blandt k første objekter ved volume v tilbage

Generelle Algoritmiske Design Tenikker Del-og-Kombiner –Disjunkte delproblemer Dynamisk Programmering –Overlappende delproblemer –Systematisk beregning af løsninger til alle mulige delproblemer (eller memoization) Grådige Algoritmer –Kun et delproblem