Algorithmen und Datenstrukturen 9. Vorlesung

Größe: px
Ab Seite anzeigen:

Download "Algorithmen und Datenstrukturen 9. Vorlesung"

Transkript

1 T Algoritmen und Datenstrukturen Vorlesung Martin Dietzfelbinger Juni S : U [m] U : Universum der Sclüssel [m] ={,,m } : Indebereic für Tabelle T S U, S = n U m FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD Problem: Kollisionen (unvermeidlic!) Auswege: Verkettung Gesclossenes Hasing b v r u n d a b n v d r u a Analysiere erwartete Kosten für lookup, insert, delete Hierfür genügt: Analysiere erwartete Anzal der Sclüsselvergleice Vorausgesetzt: Irgendeine Quelle für Zufall Pr(A): Warsceinlickeit für Ereignis A E(X): Erwartungswert der Zufallsvariablen X Hatten: Analyse von Hasing mit verketteten Listen unter der abgescwäcten Uniformitätsanname (UF ) : Für je Sclüssel z in U gilt: Pr(() =(z)) m FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD

2 Einface Hasfunktionen Divisionsrestmetode Multiplikationsmetode Lineare Funktionen über Körper Z p Qualitätskriterien: Ansprucsvollere Hasfunktionen ) Zeit für Auswertung von () (klein!) ) Warsceinlickeit für Kollisionen one Annamen über die Sclüsselmenge S (änlic der zufälligen Situation!) ) Effizientes Generieren einer neuen Hasfunktion (benötigt z B bei der Verdoppelungsstrategie) ) Platzbedarf für die Speicerung von (Programm, Parameter) (gering gegenüber n!) FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD Universelles Hasing Bei der Festlegung der Hasfunktion wird (kontrolliert) Zufall eingesetzt Randomisierter Algoritmus Analyse berut auf erzwungenen Zufallseigenscaften von nict auf Annamen über S Proposition Es sei U {,,s } r, und m s eine Primzal [Beispiel: U = ASCII = {,,}, s =, m = ] a,,a r seien zufällig gewält aus [m] ={,,,m } (In empty(m)) Definiere ( r ) ( c c r )= a i c i mod m }{{} i= Dann gilt für, z U mit z: Pr(() =(z)) = m Damit ist (UF ) erfüllt! FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD

3 Beweis: Sei =(c,,c r ), z =(d,,d r ) Recne im Körper Z m = Z/mZ = [m] (also modulo m) Setze u = z =(c d,,c r d r ) Es gibt m r viele Möglickeiten für a =(a,,a r ) Wie viele davon erfüllen ( r i= a ic i )modm =( r ( i= a id i )modm, r ) d i= a i(c i d i ) mod m =? Dies sind genau die Elemente der Menge ( : Skalarprodukt) W u = {(a,,a r ) Z r m (a,,a r ) u =} Variante: U [p], p Primzal Tabellengröße m p beliebig Wäle a aus {,,p } zufällig Definiere () =((a ) modp) modm Proposition Nun gilt für, z U mit z: Pr(() =(z)) m (Beweis: Modifikation des letzten Beweises) W u ist ein (r )-dimensionaler Untervektorraum von Z r m! Kardinalität: m r, also Anteil an Z r m r m: m r = m FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD Proposition Wenn man beim multiplikativen Hasing (wobei U =[ k ], m = l ) () =(a mod k ) div k l als a eine zufällige ungerade Zal in [ k ] wält, dann gilt für beliebige, z U, z: (Beweis: Originalliteratur) Pr(() =(z)) l = m Tabellenasing Lineare Funktionen über Z -Vektorraum {, } n : U =Σ r, mit Σ={,,s } m = l mit l w (w: Wortlänge, z B w =) [m] entsprict {, } l Repräsentation der Hasfunktion : Array A[ r, s ] mit Einträgen aus {, } w (c c r )= die ersten l Bits von A[,c ] A[r, c r ] Dabei: ist bitweises XOR, auf ganzes Wort angewendet (Mascinenoperation effizient!) FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD

4 Beispiel: Σ={, } (Sclüssel sind Zalen in Oktalnotation), w =, r =, l = A: Bucstaben i = Nacteil: Array A[ r, s ] benötigt Platz r s (Wörter) Beispiel: r =ASCII-Zeicen pro Wort, Σ={, }, w = A[ r, s ] benötigt rs(w/)= = Bytes, d knapp kb Sinnvoll nur für große Hastabellen Platzsparend, etwas langsamer: Σ={, }, Tetraden Platz im Beispiel: rs(w/)= = Bytes ((,,,,, )) = (die ersten Bits von ) = (die ersten Bits von ) = FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD Vorteile von Tabellenasing: Etrem scnelle Auswertung ( ebenso scnell wie +) Dasselbe A kann für m =,,,, w benutzt werden Ideal für die Kombination mit der Verdoppelungsstrategie: Verdopple Tabellengröße = eröe l um ; Einträge in A bleiben unverändert Beweisbar gutes Veralten, wenn Einträge von A zufällig Proposition Wenn die Einträge in Array A[ r, s ] zufällig gewält werden, dann gilt für, z U mit z: Pr(() =(z)) = m Beweis: Übung Leicte Modifikation von vorerigen Beweisen liefert: Proposition Wenn Pr(() =(z)) c m,für beliebige, z U, z, und wenn wir Hasing mit verketteten Listen benutzen, dann ist die erwartete Zal von Sclüsselvergleicen öcstens c α bei der erfolglosen Suce öcstens + c α (Mittelung über,, n ) bei der erfolgreicen Suce Wenn α α sicergestellt ist, α konstant ( Verdoppelungsstrategie): Erwartete Suczeit ist O() FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD

5 Universelles Hasing Eine Menge H von Hasfunktionen, d H { : U [m]}, eißt c-universelle Klasse von Hasfunktionen, wenn für beliebige, z U mit z gilt: { H () =(z)} c H m In anderen Worten: wenn für für beliebige, z U mit z und für zufällig gewältes aus H gilt: Beispiele: Universelles Hasing U [p], p Primzal, Tabellengröße m p beliebig () =((a ) modm, für a {,p } Dann ist H p,m = { a a<p} eine -universelle Klasse Pr(() =(z)) c m FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD Beispiele: Universelles Hasing U = ASCII r = {,,} r, m> Primzal ( r ) a,,a r (c c r )= a i c i mod m, für c c r U i= Dann ist H m,r = { a,,a r a,,a r [m]} eine -universelle Klasse Multiplikatives Hasing mit zufälligem Faktor fürt zu einer -universellen Klasse Tabellenasing fürt zu einer -universellen Klasse Universelles Hasing Die obige Proposition liest sic nun so: Wenn H c-universell ist und man (in empty(m)) ein aus H zufällig wält, dann gelten die oberen Scranken c α bzw + c α für die Anzal der Sclüsselvergleice bei erfolgloser bzw erfolgreicer Suce FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD

6 Gesclossenes Hasing oder offene Adressierung Für jeden Sclüssel U gibt es eine Sondierungsfolge (, ), (, ), (, ), in [m] Beim Einfügen von und Sucen nac werden die Zellen von T in dieser Reienfolge untersuct, bis eine leere Zelle oder der Eintrag gefunden wird Beispiel: Lineares Sondieren (, k) =(()+k) modm, k =,,, ( ) Günstig: (, ), (, ), (, ),, (, m ) erreict jede Zelle, d : ((, ),(, ),(, ),,(, m )) ist eine Permutation von [m] Wenn ( ) gilt und mindestens eine Zelle in T leer ist, dann endet jede erfolglose Suce in einer leeren Zelle Bei linearem Sondieren: (, k) =(()+k) modm Andere Folgen sind möglic, zum Beispiel FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD Quadratisces Sondieren : U [m] sei beliebige Hasfunktion (, ) = () (, ) = (()+)modm (, ) = (() ) mod m (, ) = (()+)modm (, ) = (() ) mod m (, ) = (()+)modm (, ) = (() ) mod m (, k) = ( ()+ k/ ( ) k+) mod m Fakt Ist m Primzal, m =l +für ein l N, dann ist {(, k) k<m} =[m], d( ) gilt (Beweis: Elementare Zalenteorie) Beispiel: m =, () =, liefert Sondierungsfolge,,,,,,,,,,,,,,,,,, Beobactung Quadratisces Sondieren verält sic der Erfarung nac ser gut (Vor: gut verteilend, Auslastungsfaktor,) FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD

7 Doppel-Hasing Benutze zwei (unabängig berecnete) Hasfunktionen und setze, für k =,,,: : U [m] : U [m ] (, k) :=( ()+k ( + ())) mod m Beispiel: m =, () =, () =, liefert Sondierungsfolge,,,,,,,,,,,, Übung: Berecne die Folgenglieder inkrementell (Runden k =,,,) one Multiplikationen und Divisionen ( mod m ) (, k) :=( ()+k ( + ())) mod m Proposition Wenn m Primzal ist, dann gilt für Doppel-Hasing: ( ) {(, k) k<m} =[m] Beweis: Sei z =+ () Dann: z m Wenn (, k) =(, l), dann ist ( ()+k z) modm =( ()+l z) modm, also (l k) z (mod m), d m teilt (l k) z Da m Primzal ist und z<m, teilt m die Zal l k, also ist k = l, weil k, l < m FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD Mitteilung Wenn m = l, : U [m], : U [m/], dann: { ()+k ( ()+) k<m} =[m] Beispiel: m =, () =, () =, liefert Sondierungsfolge,,,,,,,,,,,,,,, Ebenfalls für Doppel-Hasing geeignet, einfacste Berecnung der Folge! (Addition, Bitmaske) Man kann beweisen: Wenn (), (), S, rein zufällig sind, verält sic Doppel-Hasing ser gut, nämlic im wesentlicen wie Uniformes Sondieren Uniformes Sondieren / Ideales Hasing Keine Metode, sondern eine Warsceinlickeitsanname für Verfaren mit offener Adressierung: ((, ),(, ),,(, m )) ist eine rein zufällige Permutation von [m], unabängig für jedes U (Erinnerung: Es gibt m! versciedene Permutationen von [m]) FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD

8 Effekt:,, n seien gespeicert; y kommt neu inzu Ganz egal was die Haswerte von,, n und was (y, ),,(y, k ) sind: (y, k) nimmt jeden Wert j [m] {(y, ),,(y, k )} mit derselben Warsceinlickeit /(m k) an n: Anzal der Sclüssel in T[ m ]; α = n m T m,n := Zal der untersucten Fäcer (Sondierungen) bei erfolgloser Suce C m,n := E(T m,n) T m,n := Zal der untersucten Fäcer bei erfolgreicer Suce, gemittelt über,, n C m,n := E(T m,n ) Satz Unter der Anname Uniformes Sondieren gilt: (i) C m,n = m+ m+ n = m+ n ( < n/m = α Wenn α fest und n, m, dann gilt C m,n α ) FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD Beweis:,, n sind gespeicert, y/ {,, n } wird gesuct Es gibt zwei Fälle: Fall: T[(y, )] ist leer Warsceinlickeit: m n m Kosten: Fall: T[(y, )] ist nict leer Warsceinlickeit: n m Kosten: +C m,n (Suce in m Plätzen, von denen n besetzt sind) Rekursionsformel, für n<m: {, falls n = C m,n = m n m + n m ( + C m,n ), falls n C m, = ; C m, = m m + m C m, = m m + m C m, = m m + m und so weiter Dies liefert: + (+)=m m ; ( + m ) m ( + m ) m C m,n = m + m + n (Formaler Beweis durc vollständige Induktion) =+ m = m + m ; =+ m = m + m ; FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD

9 Satz Unter der Anname Uniformes Sondieren gilt bei α = n/m: (i) C m,n = m+ m+ n = m+ n Dies ist < n/m = α Wenn α fest und n, m, dann gilt C m,n α (ii) Für T m,n = mittlere (über S) erwartete (mit (UF ) Anzal getesteter Tabellenplätze bei erfolgreicer Suce gilt: C m,n = E(T m,n ) < α ln( α ) Beweis: Sucaufwand für i = Einfügeaufwand für i Also Mittelung über C m,,c m,,,c m,n : C m,n = n i n = m + n m + m + (i ) ( m + + ) m + + m + (n ) Leict zu seen (Untersumme!): m+ + m + + m+ (n ) m+ ( = ln(m +) ln(m + n) =ln dt m+ n t = m+ m+ n ) FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD Also: C m,n m + n ( ) ln n m+ (!) < m ( ) n ln n m Für α = n/m, α fest, n, m, ist C m,n α ln( α ) (!) Für < beweist man durc Kurvendiskussion: α α ln( α ) ist für <α< monoton wacsend Bemerkung: Für α get α ln( α ) etrem langsam gegen Uniformes Hasing Anzal Vergleice α erfolglos erfolgreic FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD

10 Löscungen? Problem: Z B Quadratisces Sondieren Sucfolge Dezember mit (Dezember) =:,,, Lösce Juli! T : : : : : : : : : : : : : : April () August () Oktober () Mai () November () Juli () Juni () Januar () Februar () September () Dezember () Maerz () FG KTuEA, TU Ilmenau AuD Löscungen? Problem: Z B Quadratisces Sondieren Sucfolge Dezember mit (Dezember) =:,,, T : : : : : : : : : : : : : : April () August () Oktober () Mai () November ()!!! Juni () Januar () Februar () September () Dezember () Maerz () Lösce Juli! Dezember wird nict mer gefunden FG KTuEA, TU Ilmenau AuD Ausweg: Zelle at Statusvariable status (voll, leer, gelösct ) Löscen: Zelle nict auf leer, sondern auf gelösct setzen Sucen: Immer bis zur ersten leer en Zelle geen Zellen, die gelösct sind, dürfen mit einem neuen Sclüssel überscrieben werden Überlauf tritt spätestens ein, wenn die letzte leer e Zelle bescrieben werden würde Sinnvoller: Überlauf tritt ein, wenn die Anzal der voll en und gelösct en Zellen zusammen eine feste Scranke bound überscreitet ZB m oder α m, α passend zum Sondierungsverfaren Operationen bei offener Adressierung empty(m): Lege leeres Array T[ m ] an Initialisiere alle Zellen T[j] mit (,, leer) Initialisiere inuse mit (Zält nict-leere Zellen) Initialisiere load mit (Zält Einträge) Initialisiere bound (maimal m ) FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD

11 Operationen bei offener Adressierung lookup(): Finde erstes l in der Folge (, ), (, ), (, ), mit T[l]status = leer oder (T[l]status = voll und T[l]key = ); Falls T[l]status = leer : return not found ; Sonst: return T[l]data Operationen bei offener Adressierung delete(): Finde erstes l in der Indefolge (, ), (, ), (, ), mit T[l]status = leer oder (T[l]status = voll und T[l]key = ); Falls T[l]status = leer : tue nicts; ( Warnung: not found ) Sonst: T[l]status gelösct; load-- FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD Operationen bei offener Adressierung insert(, r): Finde erstes l in der Indefolge (, ), (, ), (, ), mit T[l]status = leer oder (T[l]status = voll und T[l]key = ); Merke dabei das erste l in dieser Folge, das T[l ]status {gelösct, leer} erfüllt; Fall : T[l]status = voll : T[l]data r; ( Update ) Fall : T[l ]status = gelösct: T[l ] (, r, voll ); load++; Fall : T[l ]status = leer : ( l = l, neue Zelle ) if inuse +> bound ten Überlaufbeandlung else inuse++; load++; T[l] (, r, voll ); Operationen bei offener Adressierung Überlaufbeandlung, Verdopplung: Sinnvoll: Überlauf tritt ein, wenn die Anzal der voll en und gelösct en Zellen zusammen (in inuse) eine Scranke α m (in bound) überscreitet (α passend zum Sondierungsverfaren festlegen) Anzal der voll en Zellen: load Falls load + >α m für (z B) α =α, verdopple Tabellengröße, und trage Sclüssel neu in die größere Tabelle ein Sonst: Trage alle Sclüssel neu in die alte Tabelle T ein, eliminiere alle gelösct -Markierungen, wie folgt FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD

12 Operationen bei offener Adressierung Trick für Umorganisieren: (One zusätzlicen Platz) ) Für i =,,,m tue folgendes: Wenn T[i]status = voll, setze T[i]status alt Wenn T[i]status = gelösct, setze T[i]status leer ) Für i =,,,m tue folgendes ( cecke jeden Platz ): Wenn T[i]status = alt, dann setze (, r) (T[i]key, T[i]data), setze T[i]status = leer, und füre insert (, r) aus dabei weist insert (, r) folgende Besondereit auf: Wenn eine mit alt markierte Zelle gefunden wird, wird sie wie leer beandelt, der dort entaltene Eintrag (,r ) wird durc (, r, voll ) verdrängt; sofort anscließend wird insert (,r ) ausgefürt; dies setzt sic fort, bis eine Einfügung in eine mit leer markierte Zelle erfolgt (Erst dann färt man mit der Abarbeitung der i-scleife fort) FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD () m Cuckoo Hasing Kuckucks-Hasing [-] T y T y () m Implementierung eines dynamiscen Wörterbucs mit konstanter Suczeit im sclectesten Fall Tabellen T,T,Größe jeweils m; Eintrag/Platz Invariante: S ist in T [ ()] oder in T [ ()] gespeicert Konstante Suczeit garantiert Kuckucks-Hasing Grundansatz: Sondierungsfolge at nur Länge Auc Rückwärtsgeen in der Sondierungsfolge und Verdrängen von Sclüsseln möglic Kuckucks-Hasing wegen interessanter Einfügeprozedur: Sclüssel, der eingefügt werden soll, kann anderen Sclüssel y, der in T [ ()] oder T [ ()] sitzt, inauswerfen FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD

13 Kuckucks-Hasing T T m m Füge ein Versuce T [ ()] Besetzt! FG KTuEA, TU Ilmenau AuD Kuckucks-Hasing T T m m Sclüssel aus T inauswerfen FG KTuEA, TU Ilmenau AuD Kuckucks-Hasing T T m m Sclüssel aus T inauswerfen FG KTuEA, TU Ilmenau AuD Kuckucks-Hasing T m m T Sclüssel aus T inauswerfen FG KTuEA, TU Ilmenau AuD

14 Kuckucks-Hasing T T Kuckucks-Hasing T T fertig! m m m m Sclüssel aus T inauswerfen Sclüssel in T einfügen Fertig! FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD Kuckucks-Hasing Mitteilung Sei m ( + ε)n, für eine Konstante ε>: Wenn, vollständig zufällig sind (UF ), dann gilt: ) Die Warsceinlickeit, dass beim Einfügen von n Sclüsseln einmal eine Verklemmung (unendlice Scleife) auftritt, ist O(/n) (Im Algoritmus: abfangen!) Bei m ( ε)n: Hoe Warsceinlickeit für Verklemmung ) Die erwartete Einfügezeit ist O(/ε) Beweis: Originalliteratur, fortgescrittene Vorlesungen Praktisc ser effizient (auc mit Tabellenasing, jedoc lineare Hasfunktionen lieber nict benutzen!) Nacteil: Auslastung der Tabelle unter % d-äres Kuckucks-Hasing d Has-Funktionen,, d : U [m], eine Tabelle T [ m ] S muss in einer der Zellen T [ i ()] gespeicert sein, i =,,d Suce erfordert d Auswertungen von Hasfunktionen und Arrayzugriffe, Zeit O(d) FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD

15 Bei d Funktionen genügt Platz m =(+ε)n, mit ε>ε d Dabei: ε d log (e)e d für d Beispielwerte: d +ε d,,,, Beobactung: Erwartete Einfügezeit mit Kuckucks- Verfaren konstant (teoretisc noc nict voll analysiert) Hervorragendes Veralten in Eperimenten Kuckucks-Hasing mit Funktionen und Blöcken z y S n = ε= m= m Tabelle T [m ] at m Blöcke mit Kapazität jeweils d Günstig für Cace-Arcitekturen! FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD Mitteilung Sei S U mit S = n Wenn die Funktionen, die Unabängigkeitsbedingung (UF ) erfüllen, dann gilt: Wenn m ( + ε)n/d, mit ε>(e/) d, dann passen und für S mit oer Warsceinlickeit, d man kann die n Sclüssel so auf die m Fäcer verteilen, dass in Fac () oder () sitzt und in keinem Fac mer als d Sclüssel untergebract sind Mitteilung Falls S zu Anfang gegeben ist ( statiscer Fall ): Es gibt ein ser effizientes Verfaren zur Verteilung der Sclüssel ( selfless algoritm ) Eperimente: Kumulative Laufzeiten für erfolgreice Suce Jeder von Sclüsseln wird einmal gesuct Jeweils: bestes d Beobactung: Kuckucksverfaren (sclectester Fall!) mit Linearem Sondieren (durcscnittlic!) konkurrenzfäig ε cuckoo-d-ary cuckoo-block Lin Sond time [s] d time [s] d time [s] FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD

16 Eperimente: Kumulative Laufzeiten für erfolglose Suce Sclüssel gespeicert; andere werden gesuct Jeweils: bestes d Beobactung: Kuckucksverfaren sclägt Lineares Sondieren bei etrem voll gepackten Tabellen ε cuckoo-d-ary cuckoo-block Lin Sond time d time d time Einfügen mit der randomisierten Kuckucks-Prozedur Zu Sclüssel berecne () und () Falls in einem der beiden Fäcer Platz ist (Beladung <d): Füge an beliebiger Stelle ein Falls beide Fäcer voll: Wäle einen zufälligen der d Sclüssel in diesen Fäcern, genannt y, verdränge in, setze an seinen Platz Nun beginne mit der Einfügung von y FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD Einfügen mit der randomisierten Kuckucks-Prozedur Einfügen mit der randomisierten Kuckucks-Prozedur m m FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD

17 Einfügen mit der randomisierten Kuckucks-Prozedur Einfügen mit der randomisierten Kuckucks-Prozedur m m FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD Einfügen mit der randomisierten Kuckucks-Prozedur Einfügen mit der randomisierten Kuckucks-Prozedur y m m FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD

18 Einfügen mit der randomisierten Kuckucks-Prozedur y Einfügen mit der randomisierten Kuckucks-Prozedur m m FG KTuEA, TU Ilmenau AuD FG KTuEA, TU Ilmenau AuD Eperimente: Kumulative Laufzeiten für Einfügen Sclüssel Jeweils: bestes d Beobactung: Kuckucksverfaren nur um Faktor langsamer als Lineares Sondieren ε cuckoo-d-ary cuckoo-block Lin Sond time [s] d time [s] d time [s] FG KTuEA, TU Ilmenau AuD

Übersicht. Einführung Universelles Hashing Perfektes Hashing

Übersicht. Einführung Universelles Hashing Perfektes Hashing Hasing Übersict Einfürung Universelles Hasing Perfektes Hasing 2 Das Wörterbuc-Problem Gegeben: Universum U = [0 N-1], wobei N eine natürlice Zal ist. Ziel: Verwalte Menge S U mit folgenden Operationen.

Mehr

SS17 Algorithmen und Datenstrukturen 5. Kapitel Hashverfahren

SS17 Algorithmen und Datenstrukturen 5. Kapitel Hashverfahren SS17 Algorithmen und Datenstrukturen 5. Kapitel Hashverfahren Martin Dietzfelbinger Mai 2017 FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS17 Kapitel 5 5.1 Grundbegriffe Gegeben: Universum U (auch

Mehr

Algorithmen und Datenstrukturen 8. Vorlesung

Algorithmen und Datenstrukturen 8. Vorlesung Algorithmen und Datenstrukturen 8. Vorlesung Martin Dietzfelbinger 2. Juni 2008 Beispiel eines N-MSB: Mehrweg-Such-Bäume Wurzel 27 39 7 16 29 35 36 38 45 1 2 4 10 11 13 21 25 41 48 50 9 12 FG KTuEA, TU

Mehr

Algorithmen und Datenstrukturen SS09. Foliensatz 12. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik

Algorithmen und Datenstrukturen SS09. Foliensatz 12. Michael Brinkmeier. Technische Universität Ilmenau Institut für Theoretische Informatik Foliensatz 12 Michael Brinkmeier Technische Universität Ilmenau Institut für Theoretische Informatik Sommersemester 2009 TU Ilmenau Seite 1 / 98 Hashing TU Ilmenau Seite 2 / 98 Wörterbücher Sei U ein Universum

Mehr

Hashing II. Übersicht. 1 Hashing und Verkettung. 2 Offene Adressierung

Hashing II. Übersicht. 1 Hashing und Verkettung. 2 Offene Adressierung Übersicht Datenstrukturen und Algorithmen Vorlesung 13: 1 Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ss-15/dsal/ 2 Effizienz

Mehr

Hashing II. Übersicht. 1 Hashing und Verkettung. 2 Offene Adressierung

Hashing II. Übersicht. 1 Hashing und Verkettung. 2 Offene Adressierung Übersicht Datenstrukturen und Algorithmen Vorlesung 13: 1 Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group https://moves.rwth-aachen.de/teaching/ss-18/dsal/ 2 Effizienz

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Hashing Maike Buchin 2. und 4.5.2017 Motivation häufig werden Daten anhand eines numerischen Schlüssel abgespeichert Beispiele: Studenten der RUB nach Matrikelnummer Kunden einer

Mehr

Eine universelle Klasse von Hash-Funktionen

Eine universelle Klasse von Hash-Funktionen Eine universelle Klasse von Hash-Funktionen Annahmen: U = p, mit Primzahl p und U = {0,, p-1} Seien a {1,, p-1} und b {0,, p-1} Definiere wie folgt Satz: Die Menge ist eine universelle Klasse von Hash-Funktionen..

Mehr

SS10 Algorithmen und Datenstrukturen 2. Kapitel Fundamentale Datentypen und Datenstrukturen

SS10 Algorithmen und Datenstrukturen 2. Kapitel Fundamentale Datentypen und Datenstrukturen SS10 Algorithmen und Datenstrukturen 2. Kapitel Fundamentale Datentypen und Datenstrukturen Martin Dietzfelbinger April 2010 FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS10 Kapitel 2 Datentyp

Mehr

Korollar 191 In einem (a, b)-baum mit n gespeicherten Schlüsseln können die Wörterbuchoperationen in Zeit O(log a n) durchgeführt werden.

Korollar 191 In einem (a, b)-baum mit n gespeicherten Schlüsseln können die Wörterbuchoperationen in Zeit O(log a n) durchgeführt werden. Korollar 191 In einem (a, b)-baum mit n gespeicherten Schlüsseln können die Wörterbuchoperationen in Zeit O(log a n) durchgeführt werden. Bemerkung: Die Wahl von a und b hängt wesentlich von der Anwendung

Mehr

6/23/06. Universelles Hashing. Nutzen des Universellen Hashing. Problem: h fest gewählt es gibt ein S U mit vielen Kollisionen

6/23/06. Universelles Hashing. Nutzen des Universellen Hashing. Problem: h fest gewählt es gibt ein S U mit vielen Kollisionen Universelles Hashing Problem: h fest gewählt es gibt ein S U mit vielen Kollisionen wir können nicht annehmen, daß die Keys gleichverteilt im Universum liegen (z.b. Identifier im Programm) könnte also

Mehr

12. Hashing. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete.

12. Hashing. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete. Worst-case Zeit für Search: Θ(n). In der Praxis jedoch sehr gut. Unter gewissen

Mehr

Mathematik für Chemiker I

Mathematik für Chemiker I Universität D U I S B U R G E S S E N Campus Essen, Matematik PD Dr. L. Strüngmann WS 007/08 Übungsmaterial sowie andere Informationen zur Veranstaltung unter: ttp://www.uni-due.de/algebra-logic/struengmann.stml

Mehr

Algo rithm en und D atenstruk turen 9. V o rlesung

Algo rithm en und D atenstruk turen 9. V o rlesung Algo rithm en und D atenstruk turen 9. V o rlesung Martin D ietzfelb in ger 6. J u n i 2005 T : Lineares Sondieren 0: 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: November Juli Januar Februar Juni September

Mehr

RWTH Aachen, Lehrstuhl für Informatik IX Kapitel 3: Suchen in Mengen - Datenstrukturen und Algorithmen - 51

RWTH Aachen, Lehrstuhl für Informatik IX Kapitel 3: Suchen in Mengen - Datenstrukturen und Algorithmen - 51 RWTH Aacen, Lerstul für Informatik IX Kapitel 3: Sucen in Mengen - Datenstrukturen und Algoritmen - 51 Sucbäume Biser betractete Algoritmen für Suce in Mengen Sortierte Arrays A B C D - Nur sinnvoll für

Mehr

Hashing. Überblick Aufgabe Realisierung

Hashing. Überblick Aufgabe Realisierung Überblick Aufgabe Realisierung Aufgabe Realisierung Anforderungen Wahl einer Hashfunktion mit Verkettung der Überläufer Offene Universelles 2/33 Überblick Aufgabe Realisierung Aufgabe Dynamische Verwaltung

Mehr

Klausur Algorithmen und Datenstrukturen SS August Arbeitszeit 90 min

Klausur Algorithmen und Datenstrukturen SS August Arbeitszeit 90 min TU Ilmenau, Fakultät für Informatik und Automatisierung FG Komplexitätstheorie und Effiziente Algorithmen Univ.-Prof. Dr. M. Dietzfelbinger, Dipl.-Ing. C. Mattern Klausur Algorithmen und Datenstrukturen

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil Hash-Verfahren Version vom: 18. November 2016 1 / 28 Vorlesung 9 18. November 2016

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 8 (13.5.2016) Hashtabellen I Algorithmen und Komplexität Dictionary mit sortiertem Array Laufzeiten: create: O(1) insert: O(n) find: O(log

Mehr

Vorlesung für Schüler

Vorlesung für Schüler Universität Siegen Facbereic Matematik Vorlesung für Scüler 1.12.2 Emmy-Noeter-Campus Prof. Dr. H. J. Reinardt Computerlösungen dynamiscer Probleme Zusammenfassung Es werden zunäcst einface dynamisce Probleme

Mehr

Anwendungen der Potenzreihenentwicklung: Approximation, Grenzwerte; Wachstum

Anwendungen der Potenzreihenentwicklung: Approximation, Grenzwerte; Wachstum Anwendungen der Potenzreienentwicklung: Approximation, Grenzwerte; Wacstum Lokale Näerung einer Funktion durc ganzrationale Funktionen Ganzrationale Funktionen aben viele angeneme Eigenscaften. Man weiß

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2010

Mehr

13. Hashing. AVL-Bäume: Frage: Suche, Minimum, Maximum, Nachfolger in O(log n) Einfügen, Löschen in O(log n)

13. Hashing. AVL-Bäume: Frage: Suche, Minimum, Maximum, Nachfolger in O(log n) Einfügen, Löschen in O(log n) AVL-Bäume: Ausgabe aller Elemente in O(n) Suche, Minimum, Maximum, Nachfolger in O(log n) Einfügen, Löschen in O(log n) Frage: Kann man Einfügen, Löschen und Suchen in O(1) Zeit? 1 Hashing einfache Methode

Mehr

Satz 23 In einer Hashtabelle der Größe n mit m Objekten tritt mit Wahrscheinlichkeit

Satz 23 In einer Hashtabelle der Größe n mit m Objekten tritt mit Wahrscheinlichkeit Satz 23 In einer Hashtabelle der Größe n mit m Objekten tritt mit Wahrscheinlichkeit 1 e m(m 1) 2n 1 e m2 2n mindestens eine Kollision auf, wenn für jeden Schlüssel jede Hashposition gleich wahrscheinlich

Mehr

Aufgaben und Lösungen Ausarbeitung der Übungsstunde zur Vorlesung Analysis I

Aufgaben und Lösungen Ausarbeitung der Übungsstunde zur Vorlesung Analysis I Aufgaben und en Ausarbeitung der Übungsstunde zur Vorlesung Analysis I Wintersemester 008/009 Anweseneitsaufgaben Übung 4 Einleitung Es soll darauf ingewiesen werden, daß es in der Woce vor der Klausur

Mehr

Unterlagen zu endlichen Körpern. Erhard Aichinger

Unterlagen zu endlichen Körpern. Erhard Aichinger Unterlagen zu endlicen Körpern Erard Aicinger Linz, im November 2005 Alle Recte vorbealten 1 KAPITEL 1 Endlice Körper 1 Definition endlicer Körper DEFINITION 11 Ein Ring mit Eins R R,,,, 0, 1 ist ein

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (13 Offenes Hashing) Prof. Dr. Susanne Albers Hashing: Allgemeiner Rahmen Schlüsselmenge S Universum U aller möglichen Schlüssel Hashfunktion h 0,,m-1

Mehr

NAME, VORNAME: Studiennummer: Matrikel:

NAME, VORNAME: Studiennummer: Matrikel: TU Ilmenau, Fakultat IA Institut für Theoretische Informatik FG Komplexitätstheorie und Effiziente Algorithmen Prof. Dr. (USA) M. Dietzfelbinger Klausur Algorithmen und Datenstrukturen SS08, Ing.-Inf.

Mehr

Hashing Hashfunktionen Kollisionen Ausblick. Hashverfahren. Dank an: Beate Bollig, TU Dortmund! 1/42. Hashverfahren

Hashing Hashfunktionen Kollisionen Ausblick. Hashverfahren. Dank an: Beate Bollig, TU Dortmund! 1/42. Hashverfahren Dank an: Beate Bollig, TU Dortmund! 1/42 Hashing Überblick Aufgabe Realisierung Aufgabe Realisierung Anforderungen Wahl einer Hashfunktion mit Verkettung der Überläufer Offene Universelles Hashing 2/42

Mehr

Datenstrukturen und Algorithmen. Vorlesung 10

Datenstrukturen und Algorithmen. Vorlesung 10 Datenstrukturen und Algorithmen Vorlesung 10 Hashtabelle als Erinnerung Hashtabellen sind Tabellen (Arrays), wo aber die Elemente nicht von links nach rechts eingefügt werden, wie bei typischen Arrays

Mehr

Anleitung zur Berechnung von Ableitungsfunktionen

Anleitung zur Berechnung von Ableitungsfunktionen Matematik 11d 7..009 Stefan Krissel Anleitung zur Berecnung von Ableitungsfunktionen Prolog Es gibt nict das Verfaren zur Berecnung der Ableitungsfunktion, genausowenig wie es das Verfaren zum Screiben

Mehr

6. Binäre Suchbäume. Binäre Suchbäume

6. Binäre Suchbäume. Binäre Suchbäume 6. Binäre Sucbäume Natürlice binäre Sucbäume - Begriffe und Definitionen - Grundoperationen: Einfügen, sequentielle Suce, direkte Suce, öscen - Bestimmung der mittleren Zugriffskosten Balancierte Binärbäume

Mehr

Algorithmen und Datenstrukturen 3. Vorlesung

Algorithmen und Datenstrukturen 3. Vorlesung Algorithmen und Datenstrukturen 3. Vorlesung Martin Dietzfelbinger 18. April 2005 Stacks Queues Listen... Datentypen und Datenstrukturen FG KTuEA, TU Ilmenau AuD 18.04.2005 FG KTuEA, TU Ilmenau AuD 18.04.2005

Mehr

Numerisches Programmieren, Übungen

Numerisches Programmieren, Übungen Tecnisce Universität Müncen SoSe 2013 Institut für Informatik Prof. Dr. Tomas Huckle Dipl.-Inf. Cristop Riesinger Dipl.-Mat. Jürgen Bräckle Numerisces Programmieren, Übungen 2. Übungsblatt: Kondition,

Mehr

Beispiel: (Strukturerhaltung) Begriffsklärung: (AVL-Baum) Rotationen auf Suchbäumen: Gestaltsanalyse: Lemma: Beweis: siehe Vorlesung

Beispiel: (Strukturerhaltung) Begriffsklärung: (AVL-Baum) Rotationen auf Suchbäumen: Gestaltsanalyse: Lemma: Beweis: siehe Vorlesung urc zusätzlice nforderungen bzgl. einer Verteilung der lätter und Höen in Unterbäumen kann man ein egenerieren verindern; spekte: 4 - Vorteil: geringer ufwand für Grundoperationen kann zugesicert werden.

Mehr

EADS 3.3 Gewichtsbalancierte Bäume 95/598 ľernst W. Mayr

EADS 3.3 Gewichtsbalancierte Bäume 95/598 ľernst W. Mayr 3.3 Gewichtsbalancierte Bäume Siehe zu diesem Thema Seite 189ff in Kurt Mehlhorn: Data structures and algorithms 1: Sorting and searching, EATCS Monographs on Theoretical Computer Science, Springer Verlag:

Mehr

Humboldt-Universität zu Berlin Berlin, den Institut für Informatik

Humboldt-Universität zu Berlin Berlin, den Institut für Informatik Humboldt-Universität zu Berlin Berlin, den 15.06.2015 Institut für Informatik Prof. Dr. Ulf Leser Übungen zur Vorlesung M. Bux, B. Grußien, J. Sürmeli, S. Wandelt Algorithmen und Datenstrukturen Übungsblatt

Mehr

1 Komposition von Chiffren

1 Komposition von Chiffren 1 Komposition von Ciffren Ein erstes Konstruktionsprinzip für starke Ciffren, das auc in der klassiscen Kryptograpie oft angewendet wurde, ist die Naceinander- Ausfürung von Ciffrierscritten. Solce Verknüpfungen

Mehr

P ( Mindestens zwei Personen haben am gleichen Tag Geb. ) (1) = 1 P ( Alle Personen haben an verschiedenen Tagen Geb. ) (2)

P ( Mindestens zwei Personen haben am gleichen Tag Geb. ) (1) = 1 P ( Alle Personen haben an verschiedenen Tagen Geb. ) (2) 1 Hashing Einleitung Eine sehr naive Herangehensweise zur Implementierung eines Wörterbuchs ist die Benutzung eines hinreichend grossen unsortierten Arrays, in dem jeweils an eine freie Position eingefügt

Mehr

Numerische Differenziation

Numerische Differenziation In vielen Anwendungen ist es notwendig, Funktionen näerungsweise mit Hilfe eines numeriscen Verfarens zu differenzieren: Die analytisce Berecnung der Ableitung ist zum Beispiel unmöglic, wenn die zu differenzierende

Mehr

Mathematik 1 für Studierende der Biologie Teil II: Limes & Konvergenz

Mathematik 1 für Studierende der Biologie Teil II: Limes & Konvergenz Matematik 1 für Studierende der Biologie Teil II: Limes & Konvergenz Cristian Leibold 7. Oktober 2014 Folgen Allgemeines zu Folgen Monotonie und Bescränkteit Grenzwerte und Konvergenz Summen und Reien

Mehr

Algorithmen und Datenstrukturen Hashverfahren

Algorithmen und Datenstrukturen Hashverfahren Algorithmen und Datenstrukturen Hashverfahren Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Überblick Prinzip Details Anwendungen Motivation Hashverfahren

Mehr

4. Hashverfahren. geg.: Wertebereich D, Schlüsselmenge S = {s 1,..., s n } D. Menge A von Speicheradressen; oft: A = {0,..., m 1}

4. Hashverfahren. geg.: Wertebereich D, Schlüsselmenge S = {s 1,..., s n } D. Menge A von Speicheradressen; oft: A = {0,..., m 1} 105 4. Hashverfahren geg.: Wertebereich D, Schlüsselmenge S = {s 1,..., s n } D Menge A von Speicheradressen; oft: A = {0,..., m 1} jedes Speicherverfahren realisiert h : D A mögliche Implementierungen

Mehr

Repetitorium Analysis I für Physiker

Repetitorium Analysis I für Physiker Micael Scrapp Ubungsblatt 3 Lösungen Tecnisce Universität Müncen Repetitorium Analysis I für Pysiker Analysis I Aufgabe Wir definieren zunäcst die Funktion g(t) = 2 0 f(t)t 2 dt Die Menge B = g (], 5[)ist

Mehr

Kollision Hashfunktion Verkettung Offenes Hashing Perfektes Hashing Universelles Hashing Dynamisches Hashing. 4. Hashverfahren

Kollision Hashfunktion Verkettung Offenes Hashing Perfektes Hashing Universelles Hashing Dynamisches Hashing. 4. Hashverfahren 4. Hashverfahren geg.: Wertebereich D, Schlüsselmenge S = {s 1,..., s n } D Menge A von Speicheradressen; oft: A = {0,..., m 1} jedes Speicherverfahren realisiert h : D A mögliche Implementierungen von

Mehr

Kapitel 4. Streuen. (h K injektiv) k 1 k 2 K = h(k 1 ) h(k 2 )

Kapitel 4. Streuen. (h K injektiv) k 1 k 2 K = h(k 1 ) h(k 2 ) Kapitel 4 Streuen Wir behandeln nun Ipleentationen ungeordneter Wörterbücher, in denen die Schlüssel ohne Beachtung ihrer Sortierreihenfolge gespeichert werden dürfen, verlangen aber, dass es sich bei

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 9 (28.5.2014) Hashtabellen III Algorithmen und Komplexität Offene Adressierung : Zusammenfassung Offene Adressierung: Alle Schlüssel/Werte

Mehr

3. Übung Algorithmen I

3. Übung Algorithmen I INSTITUT FÜR THEORETISCHE INFORMATIK 1 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft Institut für Theoretische www.kit.edu Informatik Hashtabellen:

Mehr

Algorithmen I. Tutorium 1-4. Sitzung. Dennis Felsing

Algorithmen I. Tutorium 1-4. Sitzung. Dennis Felsing Algorithmen I Tutorium 1-4. Sitzung Dennis Felsing dennis.felsing@student.kit.edu www.stud.uni-karlsruhe.de/~ubcqr/algo 2011-05-09 Überblick 1 Verkettete Listen 2 Unbeschränkte Felder 3 Amortisierte Laufzeitanalyse

Mehr

Algorithmen und Datenstrukturen 13. Vorlesung

Algorithmen und Datenstrukturen 13. Vorlesung Algorithmen und Datenstrukturen 3. Vorlesung Karl-Heinz Niggl 27. Juni 2006 Hashing Viele AnwendungendynamischerMengen unterstützennur die Wörterbuchoperationen insert,search,delete. Bsp. Ein Compiler

Mehr

Hashing. Überblick Aufgabe Realisierung

Hashing. Überblick Aufgabe Realisierung Überblick Aufgabe Realisierung Aufgabe Realisierung Anforderungen Wahl einer Hashfunktion it Verkettung der Überläufer Offene Universelles 2/33 Überblick Aufgabe Realisierung Aufgabe Dynaische Verwaltung

Mehr

Orientierungsaufgaben für die BESONDERE LEISTUNGSFESTSTELLUNG ab 2015 MATHEMATIK

Orientierungsaufgaben für die BESONDERE LEISTUNGSFESTSTELLUNG ab 2015 MATHEMATIK Orientierungsaufgaben für die BESONDERE LEISTUNGSFESTSTELLUNG ab 2015 MATHEMATIK Im Auftrag des TMBWK erarbeitet von den Facberaterinnen und Facberatern Matematik Gymnasium. Hinweise für Prüfungsteilnemerinnen

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (12 Hashverfahren: Verkettung der Überläufer) Prof. Dr. Susanne Albers Möglichkeiten der Kollisionsbehandlung Kollisionsbehandlung: Die Behandlung

Mehr

Informatik II, SS 2018

Informatik II, SS 2018 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 8 (14.5.2018) Hashtabellen III Algorithmen und Komplexität Hashtabellen mit Chaining Jede Stelle in der Hashtabelle zeigt auf eine verkette

Mehr

Algorithmen & Datenstrukturen Lösungen zu Blatt 9 HS 16

Algorithmen & Datenstrukturen Lösungen zu Blatt 9 HS 16 Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Departement Informatik 24. November 2016 Markus

Mehr

Hashing I. 1 Direkte Adressierung. 2 Grundlagen des Hashings. 3 Kollisionsauflösung durch Verkettung. 4 Hashfunktionen. 5 Offene Adressierung

Hashing I. 1 Direkte Adressierung. 2 Grundlagen des Hashings. 3 Kollisionsauflösung durch Verkettung. 4 Hashfunktionen. 5 Offene Adressierung Übersicht Datenstrukturen und Algorithmen Vorlesung 2: Hashing Prof. Dr. Erika Ábrahám Theorie Hybrider Systeme Informatik 2 http://ths.rwth-aachen.de/teaching/ss-4/ datenstrukturen-und-algorithmen/ Diese

Mehr

Teil VII. Hashverfahren

Teil VII. Hashverfahren Teil VII Hashverfahren Überblick 1 Hashverfahren: Prinzip 2 Hashfunktionen 3 Kollisionsstrategien 4 Aufwand 5 Hashen in Java Prof. G. Stumme Algorithmen & Datenstrukturen Sommersemester 2009 7 1 Hashverfahren:

Mehr

Kap. 5 Hashing. 15./16. VO DAP2 SS /18. Juni 2009

Kap. 5 Hashing. 15./16. VO DAP2 SS /18. Juni 2009 Kap. 5 Hashing nach Übungstest Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 15./16. VO DAP2 SS 2009 16./18. Juni 2009 1 Linux-Kurs 2. Teil Beginn: Di 16.6.

Mehr

Der Hauptsatz der Differential und Integralrechnung

Der Hauptsatz der Differential und Integralrechnung Der Hauptsatz der Differential und Integralrecnung Micael Karkulik, Stepan Scmeissl Präsentation für Logik als Arbeitssprace ê Präsentationstecnik 2 Inalt: 1.0 Zusammenfassung 2.0 Einleitung 3.0 Der Hauptsatz

Mehr

Realschulabschluss/Sekundarabschluss I 2013 Mathematik

Realschulabschluss/Sekundarabschluss I 2013 Mathematik Realsculabscluss/Sekundarabscluss I 0 Matematik Lösung Diese Lösung wurde erstellt von Cornelia Sanzenbacer. Sie ist keine offizielle Lösung des Niedersäcsiscen Kultusministeriums. Hauptteil. a) Zur Berecnung

Mehr

8. Differentiation. f(x) f(x 0 ) =: f,x0 (x) lim

8. Differentiation. f(x) f(x 0 ) =: f,x0 (x) lim 8. Differentiation Sei I R ein Intervall. Eine Funktion f : I R eißt in x 0 I differenzierbar (Steno: diffbar), wenn der für x I, x x 0 erklärte Differenzenquotient f(x) f(x 0 ) =: f,x0 (x) nac x 0 stetig

Mehr

Rudolphs Schlitten. Aufgabe. Autor: Jochen Ricker

Rudolphs Schlitten. Aufgabe. Autor: Jochen Ricker Rudolps Sclitten Autor: Jocen Ricker Aufgabe Endlic ist es wieder soweit: Weinacten stet vor der Tür! Diesmal at der Weinactsmann sic ein ganz besonderes Gescenk für seine Rentiere einfallen lassen. Sie

Mehr

Algorithmen und Datenstrukturen SoSe 2008 in Trier. Henning Fernau Universität Trier

Algorithmen und Datenstrukturen SoSe 2008 in Trier. Henning Fernau Universität Trier Algorithmen und Datenstrukturen SoSe 2008 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Algorithmen und Datenstrukturen Gesamtübersicht Organisatorisches / Einführung Grundlagen: RAM,

Mehr

Numerische Simulation von Differential-Gleichungen der Himmelsmechanik

Numerische Simulation von Differential-Gleichungen der Himmelsmechanik Numerisce Simulation von Differential-Gleicungen der Himmelsmecanik Teilnemer: Max Dubiel (Andreas-Oberscule) Frank Essenberger (Herder-Oberscule) Constantin Krüger (Andreas-Oberscule) Gabriel Preuß (Heinric-Hertz-Oberscule)

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 9 (25.5.2016) Hashtabellen II, Binäre Suchbäume I Algorithmen und Komplexität Hashtabellen mit Chaining Jede Stelle in der Hashtabelle

Mehr

Kap. 5 Hashing. Linux-Kurs 2. Teil. Überblick. Motivation. 4 Idee von Hashing. Idee von Hashing. Warum soll ich heute hier bleiben? Und wenn nicht?

Kap. 5 Hashing. Linux-Kurs 2. Teil. Überblick. Motivation. 4 Idee von Hashing. Idee von Hashing. Warum soll ich heute hier bleiben? Und wenn nicht? Kap. 5 Hashing Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, T Dortmund nach Übungstest 15./16. VO DAP2 SS 2009 16./18. Juni 2009 Linux-Kurs 2. Teil Beginn: Di 16.6.

Mehr

Explizite, eingebettete und implizite RK-Verfahren

Explizite, eingebettete und implizite RK-Verfahren Kutta-Teorie: Explizite, eingebettete und implizite RK-Verfaren Lukas Klic Kutta-Teorie: : Explizite, eingebettete und implizite RK- Verfaren Lukas Klic Seite: Gliederung -Verfaren - Explizite Verfaren

Mehr

6. Die Exponentialfunktionen (und Logarithmen).

6. Die Exponentialfunktionen (und Logarithmen). 6- Funktionen 6 Die Eponentialfunktionen (und Logaritmen) Eine ganz wictige Klasse von Funktionen f : R R bilden die Eponentialfunktionen f() = c ep( ) = c e, ier sind, c feste reelle Zalen (um Trivialfälle

Mehr

Datenstrukturen & Algorithmen Lösungen zu Blatt 5 FS 14

Datenstrukturen & Algorithmen Lösungen zu Blatt 5 FS 14 Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 26. März

Mehr

15 / 16 I GK EF Übung 2 Dez.15

15 / 16 I GK EF Übung 2 Dez.15 1 / 16 I GK EF Übung Dez.1 Nr. 1: Ableitungsdefinition - Tangentenberecnung Gegeben ist die ganzrationale Funktion. Grades mit: f(x) = x - x a) Bestimmen Sie die durcscnittlice Änderungsrate (Sekantensteigung)

Mehr

Algorithmen und Datenstrukturen 7. Vorlesung

Algorithmen und Datenstrukturen 7. Vorlesung Algorithmen und Datenstrukturen 7. Vorlesung Martin Dietzfelbinger 23. Mai 2005 v h h v, v,2 2 bal(v) = h 2 h {, 0, }. Definition Ein höhenbalancierter binärer Suchbaum heißt AVL-Baum. FG KuEA, U Ilmenau

Mehr

Differentialrechnung. Kapitel 7. Differenzenquotient. Graphische Interpretation des Differentialquotienten. Differentialquotient

Differentialrechnung. Kapitel 7. Differenzenquotient. Graphische Interpretation des Differentialquotienten. Differentialquotient Differenzenquotient Sei f : R R eine Funktion. Der Quotient Kapitel 7 Differentialrecnung f f 0 + f 0 f f 0 0 eißt Differenzenquotient an der Stelle 0. f, f Sekante 0, f 0 f 0 Josef Leydold Matematik für

Mehr

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Such-Algorithmen für Wörterbücher. Wörterbuch. Sommersemester Dr.

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Such-Algorithmen für Wörterbücher. Wörterbuch. Sommersemester Dr. Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 0 Fortgeschrittene Datenstrukturen Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München Such-Algorithmen

Mehr

Die mittlere Zeit zum Auffinden eines Elements in einer Hash-Tabelle beträgt, unter realistischen Annahmen, O(1).

Die mittlere Zeit zum Auffinden eines Elements in einer Hash-Tabelle beträgt, unter realistischen Annahmen, O(1). Algorithmen und Datenstrukturen 213 9 Hash-Tabellen Viele Anwendungen erfordern dynamische Mengen, für welche die sog. Wörterbuch-Operationen INSERT, SEARCH und DELETE verfügbar sind. Beispiel: Symboltabelle

Mehr

Lösung - Serie 3. D-MAVT/D-MATL Analysis I HS 2017 Dr. Andreas Steiger. 1. MC-Aufgaben (Online-Abgabe)

Lösung - Serie 3. D-MAVT/D-MATL Analysis I HS 2017 Dr. Andreas Steiger. 1. MC-Aufgaben (Online-Abgabe) D-MAVT/D-MATL Analysis I HS 07 Dr. Anreas Steiger Lösung - Serie 3. MC-Aufgaben (Online-Abgabe). Es sei ie Funktion f : [0, ) [0, ) efiniert urc f() = ln( + ), wobei er Logaritmus ln zur Basis e ist. Welce

Mehr

Funktionentheorie A. K. Hulek

Funktionentheorie A. K. Hulek Funktionenteorie A K. Hulek 1 Holomorpe Funktionen Die wictigsten Objekte dieser Vorlesung sind die olomorpen Funktionen. Es sei U C offen, f : U C eine Abbildung und z 0 U ein Punkt. Definition (i Die

Mehr

14. Hashing. Motivation. Naive Ideen. Bessere Idee? k(s) = s i b i

14. Hashing. Motivation. Naive Ideen. Bessere Idee? k(s) = s i b i Motivation 14. Hashing Hash Tabellen, Geburtstagsparadoxon, Hashfunktionen, Perfektes und universelles Hashing, Kollisionsauflösung durch Verketten, offenes Hashing, Sondieren [Ottan/Widayer, Kap. 4.1-4.3.2,

Mehr

Algorithmen und Datenstrukturen 3. Vorlesung

Algorithmen und Datenstrukturen 3. Vorlesung Algorithmen und Datenstrukturen 3. Vorlesung Martin Dietzfelbinger 1. April 008 FG KTuEA, TU Ilmenau AuD 1.0.008 Einfache Datentypen und Datenstrukturen Stacks (Keller, Stapel, LIFO-Speicher) Queues (Warteschlangen,

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2014 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 7 Fortgeschrittene Datenstrukturen 8 Such-Algorithmen

Mehr

3.2 Polarkoordinaten und exponentielle Darstellung

3.2 Polarkoordinaten und exponentielle Darstellung 42 3.2 Polarkoordinaten und exponentielle Darstellung Ein Punkt z = a + bi der Gaußscen Zalenebene ist durc seine kartesiscen Koordinaten a und b eindeutig festgelegt. Man kann jedoc auc zwei andere Grössen

Mehr

Algorithmen und Datenstrukturen (für ET/IT) Programm heute. Sommersemester Dr. Tobias Lasser

Algorithmen und Datenstrukturen (für ET/IT) Programm heute. Sommersemester Dr. Tobias Lasser Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 06 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 7 Fortgeschrittene Datenstrukturen 8 Such-Algorithmen

Mehr

r 11 r 12 r 13 0 r 22 r r 33 l ik r kj die Gleichungen: k= (II) 2 (I) = 3 2 1

r 11 r 12 r 13 0 r 22 r r 33 l ik r kj die Gleichungen: k= (II) 2 (I) = 3 2 1 Tecnisce Universität Berlin Wintersemester 004/005 Fakultät II; Institut für Matematik Prof. Dr. G. Bärwolff/C. Mense.0.005 Probeklausur zur LV Numerik für Informatiker en Aufgabe a Berecnen Sie die LU-Zerlegung

Mehr

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / Vorlesung 5, Donnerstag, 21.

Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / Vorlesung 5, Donnerstag, 21. Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2013 / 2014 Vorlesung 5, Donnerstag, 21. November 2013 (Wie baut man eine Hash Map, Universelles Hashing)

Mehr

Informatik II, SS 2018

Informatik II, SS 2018 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 6 (7.5.2018) Dictionaries, Binäre Suche, Hashtabellen I / Yannic Maus Algorithmen und Komplexität Abstrakte Datentypen : Dictionary Dictionary:

Mehr

Teil 1: Suchen. M.O.Franz, Oktober 2007 Algorithmen und Datenstrukturen - Suchen 1-1

Teil 1: Suchen. M.O.Franz, Oktober 2007 Algorithmen und Datenstrukturen - Suchen 1-1 Teil 1: Suchen Problemstellung Elementare Suchverfahren Hashverfahren Idee Hashfunktion Hashverfahren mit Verkettung Offene Hashverfahren Dynamische Hashverfahren Binäre Suchbäume Ausgeglichene Bäume B-Bäume

Mehr

TU Dresden Fakultät Mathematik Institut für Numerische Mathematik 1

TU Dresden Fakultät Mathematik Institut für Numerische Mathematik 1 TU Dresden Fakultät Matematik Institut für Numerisce Matematik Lösung zur Aufgabe 4 (a) des 9. Übungsblattes größtmöglicer Definitionsbereic: Die Funktion ist überall definiert, außer an der Stelle = 3

Mehr

Das Mehrgitterverfahren

Das Mehrgitterverfahren KAPITEL 3 Das Mergitterverfaren Mergitterverfaren kombinieren ein iteratives Lösungsverfaren mit einer Hierarcie untersciedlicer Diskretisierungsgitter. Ausgeend von einer Näerungslösung auf einem feinen

Mehr

Skulptur. 0,25 m. 1,65 m 1,7 m Sockel. 0,6 m 0,6 m 10 m. Aufgabe 1: Die Skulptur

Skulptur. 0,25 m. 1,65 m 1,7 m Sockel. 0,6 m 0,6 m 10 m. Aufgabe 1: Die Skulptur Aufgabe 1: Die Skulptur Um die Höe einer Skulptur zu bestimmen, die auf einem Sockel stet, stellt sic eine Person (Augenöe 1,70 m) in einer Entfernung von 10 m mit dem Rücken zur Skulptur und ält sic einen

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 7 (21.5.2014) Binäre Suche, Hashtabellen I Algorithmen und Komplexität Abstrakte Datentypen : Dictionary Dictionary: (auch: Maps, assoziative

Mehr

7. Natürliche Exponential- und Logarithmusfunktion 7.1 Die natürliche Exponentialfunktion

7. Natürliche Exponential- und Logarithmusfunktion 7.1 Die natürliche Exponentialfunktion 7. Natürlice Eponential- und Logaritmusfunktion 7. Die natürlice Eponentialfunktion Wiederolung 0. Klasse: allgemeine Eponentialfunktion f() = a bekannt (a )' = lim = lim a a a = a lim a Ziel: f f = lim

Mehr

4.3.2 Ableitungsregeln

4.3.2 Ableitungsregeln Vorbereitungskurs auf die Aufnameprüfung der ETH: Matematik 4.3.2 Ableitungsregeln Der Differentialquotient [s. 43] zur Definition der Ableitung beinaltet eine Grenzwertbildung Limes), welce meist dadurc

Mehr

Hashing. Übersicht. 5 Hashing

Hashing. Übersicht. 5 Hashing Übersicht 5 Hashing Hashtabellen Hashing with Chaining Universelles Hashing Hashing with Linear Probing Anpassung der Tabellengröße Perfektes Hashing Diskussion / Alternativen H. Täubig (TUM) GAD SS 14

Mehr

Mathematik GK 11 m3, AB 06 Klausurvorbereitung Differentialq. Lsg x 3 9x 4 2x 2 x 4. 4x 3 9x 4 : 2x 2 x 4 =2x 1 x 3 2x 2 8x

Mathematik GK 11 m3, AB 06 Klausurvorbereitung Differentialq. Lsg x 3 9x 4 2x 2 x 4. 4x 3 9x 4 : 2x 2 x 4 =2x 1 x 3 2x 2 8x Aufgabe : Berecne a) 4x 5x 5x 4x b) 4x 9x 4 x x 4 4x 5x 5x : 4x x x 4x x 4x 5x 4x x 4x 4x 4x 9x 4 : x x 4 x x x 8x x x 4 x x 4 c) 4x 4 x 8x 4x 4 x 4x 4 x 4 x 4x x : x x x x 4 4x 4x x x x x Aufgabe : Bestimme

Mehr

AN2 - Praktikumsaufgaben 3

AN2 - Praktikumsaufgaben 3 AN - Pratiumsaufgaben 3 Andreas Kron Jan Pilipp Scucer 1 Juni 7 1 Aufgabe 1: Ermittlung von nac Arcimedes Ein lassisces Beispiel für eine iterative Approximation an die exate Lösung ist ide Bestimmung

Mehr

Binäre Suchbäume. 6. Binäre Suchbäume. Einfügen in binären Suchbäumen

Binäre Suchbäume. 6. Binäre Suchbäume. Einfügen in binären Suchbäumen 6. Binäre Sucbäume Natürlice binäre Sucbäume - Begriffe und Definitionen - Grundoperationen: Einfügen, sequentielle Suce, direkte Suce, öscen - Bestimmung der mittleren Zugriffskosten Balancierte Binärbäume

Mehr

Dictionary Definition

Dictionary Definition Kapitel ADS:IV IV. Datenstrukturen Record Linear List Linked List Stack Queue Priority Queue Dictionary Direct-address Table Hash Function ADS:IV-60 Datenstrukturen POTTHAST 2018 Dictionary Definition

Mehr

4.4.1 Statisches perfektes Hashing. des Bildbereichs {0, 1,..., n 1} der Hashfunktionen und S U, S = m n, eine Menge von Schlüsseln.

4.4.1 Statisches perfektes Hashing. des Bildbereichs {0, 1,..., n 1} der Hashfunktionen und S U, S = m n, eine Menge von Schlüsseln. 4.4 Perfektes Hashing Das Ziel des perfekten Hashings ist es, für eine Schlüsselmenge eine Hashfunktion zu finden, so dass keine Kollisionen auftreten. Die Größe der Hashtabelle soll dabei natürlich möglichst

Mehr

Implementierung von Mengen (und Wörterbücher): Alternative zu Suchbäumen

Implementierung von Mengen (und Wörterbücher): Alternative zu Suchbäumen 5.8 HashVerfahren und Anwendungen Implementierung von Mengen (und Wörterbücher): Alternative zu Suchbäumen hash: zerhacken, Hackfleisch Grundidee: Indexierung der Tabelle mit geeignet transformierten Schlüsselwerten

Mehr

Grundlagen der Algorithmen und Datenstrukturen Kapitel 4

Grundlagen der Algorithmen und Datenstrukturen Kapitel 4 Grundlagen der Algorithmen und Datenstrukturen Kapitel 4 Christian Scheideler + Helmut Seidl SS 2009 06.05.09 Kapitel 4 1 Wörterbuch-Datenstruktur S: Menge von Elementen Jedes Element e identifiziert über

Mehr