NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 10 - Hashovací tabulka

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
David Hartinger
Vlastník
Avatar
David Hartinger:17.7.2013 12:39

K tomuto tématu jsem se již při psaní zdejších algoritmů nedostal, jsem moc rád, že jsi to zde tak hezky vysvětlil :)

Odpovědět
17.7.2013 12:39
New kid back on the block with a R.I.P
Avatar
tastyfish
Tvůrce
Avatar
Odpovídá na David Hartinger
tastyfish:17.7.2013 13:39

Díky, snad to někomu bude k užitku :)

Odpovědět
17.7.2013 13:39
škoda mluvit
Avatar
Kit
Tvůrce
Avatar
Kit:17.7.2013 13:56

Navazující lineární seznam je jen jednou z několika možností, jak se vypořádat s kolizemi. Často se podle druhé hashovací funkce vyhledává náhradní volná pozice v původním poli. Někdy dokonce i tak, že se původní klíč přesune na novou pozici.

Odpovědět
17.7.2013 13:56
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
tastyfish
Tvůrce
Avatar
Odpovídá na Kit
tastyfish:17.7.2013 14:06

Díky za připomínku, kdyžtak tam o téhle možnosti něco dopíšu ;)

Odpovědět
17.7.2013 14:06
škoda mluvit
Avatar
Kit
Tvůrce
Avatar
Odpovídá na tastyfish
Kit:17.7.2013 14:35

Možná by toho bylo na další díl :)

Odpovědět
17.7.2013 14:35
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Tvůrce
Avatar
Kit:17.7.2013 15:25

Zvládl bys i AVL a B-stromy? Nejsou sice tak výkonné, ale zato jsou udržovány seřazené.

Odpovědět
17.7.2013 15:25
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
tastyfish
Tvůrce
Avatar
Odpovídá na Kit
tastyfish:18.7.2013 9:46

Dopsal jsem tam pár odstavců o těch dalších technikách řešení kolizí, už se to publikuje. No dívám se, že o AVL stromech už tady nějaký článek je, a B-stromy bych napsat mohl, ale musel bych si je trošku zopakovat ^^

Odpovědět
18.7.2013 9:46
škoda mluvit
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na tastyfish
David Hartinger:18.7.2013 9:57

Já jsem tenkrát skončil u binárních stromů, ty by měly být dobře popsané. Co se týče AVL, mám dojem, že je to jen informační článek, není tam popis rotací atd.

Odpovědět
18.7.2013 9:57
New kid back on the block with a R.I.P
Avatar
Ondřej Světlík:19.7.2017 14:28

Proč jsi použil stejný key a value? Následně se článek tváří (hlavně ilustrace), jako že seznamy jsou obyčejná pole obsahující pouze hodnoty value a jediný způsob, jak se dostat ke správné hodnotě v případě kolize, je používat stejný key a value. V takovém případě by ztrácela celá hash tabulka smysl. Věřím, že pokud už člověk něco o hash tabulkách ví, článek mu bude dávat smysl, ale třeba já jako neznalec jsem málem celé hash tabulky zavrhnul. To by byla škoda :-)

 
Odpovědět
19.7.2017 14:28
Avatar
neutr
Člen
Avatar
neutr:22.10.2018 8:36

Možná bych měl příspěvek k tématu i když je staršího data. Co takhle používat pro klíčování princip Bergrových tabulek? Můžete si něco málo přečíst o této problematice zde : Bergrovy tabulky - je to zaměřeno na obecné užítí spíš v rámci kryptografie, ale pro účely vyhledávání - respektive hashování ve všech podobách je to myslím perspektivní.

Bergrovy tabulky nemají problém s jakkoliv velkým číslem které zvládne stroj (hovořím o algoritmu). Proto je vhodná indexace zejména na první dva až tři znaky - bez problémů 256 znaků, ale prakticky stačí méně a lepší je lichý počet.

Tabulky pracují s variacemi dvojic znaků kterým přidělí index (1 znak, respektive číslo). To by mohl být základní index pro řádek seznamu kde by už mohla (měla) být druhým indexem vlastní dvojice (2. rozměr tabulky). Třetím rozměrem by mohl být LEN(výraz). Další dva rozměry získáme jako INT(součin hodnot charů/-příklad 32) a také jako modulo stejného znaku 32 (mezera). Teprve potom by musel nastoupit klasický seznam.

Chtěl jsem o podobných věcech psát ale nějak s toho sešlo. Týká se to mnoha témat - tedy prakticky asi všech. Je to do jisté míry know-how a tak bych chtěl jen zavdat námět k přemýšlení. Použil jsem bergrovy tabulky [BT] v šabloně pro Open Office a Libre Office - jinde fungovat nebude odkaz Odstavcová šifra

 
Odpovědět
22.10.2018 8:36
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 10.