Tökéletes Hash függvények keresése Kasler Lóránd-Péter.

Slides:



Advertisements
Hasonló előadás
GRIN: Gráf alapú RDF index
Advertisements

A backtracking nem rekurzív változata, azaz az iteratív alakja p←1; st[p] ← 0; amíg p>0 végezd el kezdet ha akkor kezdet st[p] ← ha akkor meghív kiír_vagy_elment_mátrixba_vagy_vektorba_vektor.
Nevezetes algoritmusok
C++ programozási nyelv Gyakorlat hét
MI 2003/9 - 1 Alakfelismerés alapproblémája: adott objektumok egy halmaza, továbbá osztályok (kategóriák) egy halmaza. Feladatunk: az objektumokat - valamilyen.
Programozási alapismeretek 6. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 6.2/  Rekordok/struktúrák.
Objective- C Bereczki Gréta Tamara
Adatbányászati technikák (VISZM185)
Minimális költségű feszítőfák
JavaScript.
© Kozsik Tamás Tömbök, kollekciók és egyéb alaposztályok.
© Kozsik Tamás Beágyazott osztályok A blokkstrukturáltság támogatása –Eddig: egymásba ágyazható blokk utasítások Osztálydefiníciók is egymásba.
Programozási alapismeretek 8. előadás. ELTE 2/  További programozási tételek További programozási tételek 
1 Hash-elés. 2 Mi a hash-elés? Gyorsan teszi lehetővé a keresést, törlést, beszúrást, módosítást Nem szükséges az elemek rendezettsége Nincsenek rendezéshez.
Fájlkezelés, IO Kivételkezelés Belső osztályok
Mutatók, tömbök, függvények
Mátrix függvények Keresőfüggvények
Készítette: Pető László
Java programozási nyelv 5. rész – Osztályok III.
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
Érettségi feladatok megoldása LINQ-kel
ELTE Szlávi-Zsakó: Programozási alapismeretek 8.1/ Kiválogatás Specifikáció:  Bemenet: N:Egész, X:Tömb[1..N:Valami]
Számoljuk meg rekurzív függvénnyel egy bináris fa leveleit!
16. Verem műveletei Kaszab Gábor.
© Kozsik Tamás Csomagok. © Kozsik Tamás A program tagolása Típusdefiníciók (osztályok, interfészek) Metódusok Blokk utasítások Csomagok.
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
Ficsor Lajos Template-ek CPP8/ 1 Template-ek. Ficsor Lajos Template-ek CPP8/ 2 A template fogalma Kiindulási probléma: tetszőleges típusokon kellene ugyanolyan.
Ficsor Lajos Miskolci Egyetem Általános Informatikai Tanszék
Bevezetés a C++ programozási nyelvbe
Web Application for Resource Planning
Előrendezéses edényrendezés – RADIX „vissza”
Félévi típus feladatok
Adatszerkezetek 1. előadás
Rendezések és szövegkezelő függvények
V. Adatszerkezetek, kollekciók
1 AAO folytatás ++ Csink László. 2 Rekurzív bináris keresés (rendezett tömbben) public static int binker(int[] tomb, int value, int low, int high) public.
Kötvényárazási hibák intelligens javítóalgoritmusának tervezése és fejlesztése GELLÉN ÁGNES IUFQ58.
Nevezetes algoritmusok: Fa megvalósítása Készítette: Várkonyi Tibor Zoltán.
Egyenesvonalú (lineáris) adatszerkezetek
Dinamikus programozás
Készítette:Képes Edina 10/d
Objektum orientált programozás
Függvények II..
Minuet: A Scalable Distributed Multiversion B-Tree Írta: Benjamin Sowell, Wojciech Golab, Mehul A. Shah Feldolgozta: Fokin Miklós, Hodosy Gábor, Tóth Tamás.
Gráfok ábrázolása teljesen láncoltan
Számítógépes grafika I. AUTOCAD alapok
Útkeresések.
Programozási alapismeretek 8. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 8.2/  További programozási.
Bináris kereső fák Itterátorok.
DNS. Az interneten használt osztott név adatbázis, a DNS (Domain Name Service) folyton használatos: –minden web lap letöltésnél, –levél közvetítésnél.
Algoritmusok és adatszerkezetek
Fájlszervezés Adatbázisok tervezése, megvalósítása és menedzselése.
(Bináris) Kupac (heap) adattípus
Informatikai gyakorlatok 11. évfolyam
Eötvös Konferencia, 2008 április 26. Kovács Máté 1 Útkeresések optimalizálása számítógépes játékokban.
Táblázatkezelés Képletek és függvények. Képletek A képletek olyan egyenletek, amelyek a munkalapon szereplő értékekkel számításokat hajtanak végre. A.
Nemlineáris dinamikus rendszerek alapjai VI. gyakorlat
Sudoku.
Hibernate / EclipseLink / OpenJPA összehasonlítás
Készítette: Révész Lajos Bálint
Kovács Gergely Péter Bevezetés
Algoritmusok és Adatszerkezetek I.
Nemlineáris dinamikus rendszerek alapjai VII. gyakorlat
Algoritmusok és Adatszerkezetek I.
Algoritmusok és Adatszerkezetek I.
Bevezetés Tematika Számonkérés Irodalom
Depth First Search Backtracking
Algoritmusok és Adatszerkezetek I.
3. osztályban.
Programozási tételek.
Előadás másolata:

Tökéletes Hash függvények keresése Kasler Lóránd-Péter

Bevezetés n Hash függvények (Index függvények) n Tökéletes Hash: u Statikus halmazhoz u Dinamikus halmazhoz

Probléma átfogalmazása (Java megközelítés) n Object alapú. int hashCode(); n Objektumokról -> Számokra térünk át. (Switch vagy Case problémája)

Statikus megoldás 1. SimpleHasher n A SUN Java JRE implementációjában lévő egyszerű és gyors megoldása. int h = x.hashCode(); h += ~(h << 9); h ^= (h >>> 14); h += (h << 4); h ^= (h >>> 10); return h; Megfelelő eredményeket ad, a gyakorlati alkalmazások 99%-ra

Statikus megoldás 2. SzerencseHasher n Backtracking a végtelenig. long h=Utils.getdefaultHashMapCode(o); return Math.abs(((a*h) % p)% s);

Statikus megoldás 3. SplineHasher n Spline 2 szinten: u 1. Függvény: számok -> sorszámok u 2. Függvény: ekvidisztáns pontok (min..max) -> ? getHashCode kérésre a 2. Függvénynek a behelyettesített értékét adjuk, de ezt csak interpolálva tudjuk, az első függvényből.

Dinamikus megoldás. K. módszer n kb jegyű számok n Fa struktúra: u Minden csúcsnak 10 leszármazottja van (0..9 indexekkel) u Gyökérnek, ha van valamilyen leszármazottja, akkor és csaks akkor ilétezik olyan szám, amely azzal a számjeggyel kezdődik. u A többi csúcs is hasonlóan épül fel (a k-dik melységeben a k+1-dik számjegy az index.). n Lényeges műveletek: u Elem hozzáadása: az elem számjegyein végigiterálva lehet lépkedni a fán, szükség esetén létrehozva a hiányzó csúcsokat u Elem törlése: a keresés hasonló, majd ha nincs leszármazottja ki lehet törölni (nincs implementálva jelenleg, mivel nem tartozott a feladathoz) n Teljes értékű struktúraként használható, mivel nem csak egy sorszámot lehet hozzárendelni egy csúcshoz, hanem már eleve az értéket is, így nincs szükség a szokásos tömbre.

Statisztikák

Keretrendszer n Hasher, HasherFactory interface- ek, a HasherManager és Utils osztályok