Návrh designu: Radek Mařík

Podobné dokumenty
HASHING GENERAL Hashovací (=rozptylovací) funkce

HASHING GENERAL Hashovací (=rozptylovací) funkce

Datové struktury 2: Rozptylovací tabulky

Adresní vyhledávání (přímý přístup, zřetězené a otevřené rozptylování, rozptylovací funkce)

Úvod. Úvod do programování. Úvod. Hashovací tabulky

Vyhledávání, zejména rozptylování

Algoritmizace Hashing II. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

Základy algoritmizace. Hašování

B3B33ALP - Algoritmy a programování - Zkouška z předmětu B3B33ALP. Marek Boháč bohacm11

B3B33ALP - Algoritmy a programování - Zkouška z předmětu B3B33ALP. Marek Boháč bohacm11

Rozptylovací tabulky

Topics. Vyhledávání, zejména rozptylování. Slovník - Dictionary. Vyhledávání. Rozptylování - Hashing. Rozptylování - Hashing

Vyvažování a rotace v BVS, všude se předpokládá AVL strom

Tabulka. Datová struktura, která umožňuje vkládat a později vybírat informace podle identifikačního klíče. Mohou být:

Radek Mařík

POZOR klíč NENÍ index (adresa), ale podle klíče se hodnoty ukládají na indexy (adresy).

Třetí skupina zadání projektů do předmětu Algoritmy II, letní semestr 2017/2018

2 Datové struktury. Pole Seznam Zásobník Fronty FIFO Haldy a prioritní fronty Stromy Hash tabulky Slovníky

AutoCAD definice bloku

ALS1 Přednáška 1. Pravěpodobnost, náhodná proměnná, očekávaná hodnota náhodné proměnné, harmonická čísla

bin arn ı vyhled av an ı a bst Karel Hor ak, Petr Ryˇsav y 23. bˇrezna 2016 Katedra poˇ c ıtaˇ c u, FEL, ˇ CVUT

a) b) c) Radek Mařík

Algoritmizace Dynamické programování. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

součet cvičení celkem. známka. Úloha č.: max. bodů: skut. bodů:

Semestrální práce 2 znakový strom

Pole a kolekce. v C#, Javě a C++

Použití prezentací. K heslovitému sdělení informací. Oživení obrázky, schématy, tabulkami, Nevhodné pro dlouhé texty. Doprovodná pomůcka při výkladu

Amortizovaná složitost. Prioritní fronty, haldy (binární, d- regulární, binomiální, Fibonacciho), operace nad nimi a jejich složitost

Server Internetu prostøednictvím slu eb (web, , pøenos souborù) poskytuje data. Na na í pracovní stanici Internet

Server Internetu prostøednictvím slu eb (web, , pøenos souborù) poskytuje data. Na na í pracovní stanici Internet

Programování v C++, 2. cvičení

Hashovací funkce. Andrew Kozlík KA MFF UK

AX-DL100 - Laserový měřič vzdálenosti

Ignijet_2007 Externí monitor

Návrh Designu: Radek Mařík

Jméno:... St. Sk.:. Cvičící:.. Bodů ze cv.: (Tučná čísla indikují počet neuspěvších (z 50) v jednotlivých otázkách) 1.

Algoritmizace prostorových úloh

Stromy, haldy, prioritní fronty

Zápisování dat do databáze

Soubor jako posloupnost bytů

AVL stromy. pro každý uzel u stromu platí, že rozdíl mezi výškou jeho levého a pravého podstromu je nejvýše 1 stromy jsou samovyvažující

Občas je potřeba nakreslit příčky, které nejsou připojeny k obvodovým stěnám, např. tak, jako na následujícím obrázku:

Dynamické programování. Optimální binární vyhledávací strom

ˇ razen ı rychlejˇ s ı neˇ z kvadratick e Karel Hor ak, Petr Ryˇsav y 20. dubna 2016 Katedra poˇ c ıtaˇ c u, FEL, ˇ CVUT

Návod k aplikaci DPH Kontrol

Popis programu EnicomD

Setkání uživatelů programu SSB2000, Skalský dvůr, SSB2000 bez hranic

Systém adresace paměti

Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D.

Algoritmy II. Otázky k průběžnému testu znalostí

Zdůvodněte, proč funkce n lg(n) roste alespoň stejně rychle nebo rychleji než než funkce lg(n!). Symbolem lg značíme logaritmus o základu 2.

Náplň. v Jednoduché příklady na práci s poli v C - Vlastnosti třídění - Způsoby (algoritmy) třídění

Dynamické datové struktury IV.

Jazyk C++ II. STL knihovna kontejnery část 2

a) Θ(1) b) závislou na hloubce uzlu u c) mezi O(1) a Ω (log n) Jméno:... St. Sk.:. Cvičící:.. Bodů ze cv.: a) Ο(n) b) Θ(n) d) Ο(n 2 )

vyhledávací stromové struktury

8. Cvičení Kopírování objektů mezi aplikacemi MS Office

Uživatelská příručka pro respondenty

Konvertor diakritiky 3. Instalace

Osnova. Koncept a použití prezentací. Seznámení s pracovním prostředím MS Word Režimy zobrazení. Užitečná nastavení. Základní práce s dokumenty

ÚLOHA 6. Úloha 6: Stěžejní body tohoto příkladu:

MIDTERM D. Příjmení a jméno:

Obsah. při vyšetření pacienta. GDT souboru do programu COSMED Omnia GDT souboru z programu COSMED Omnia a zobrazení výsledků měření v programu MEDICUS

KONFIGURÁTOR Postav si svou stanici!

Skripta ke školení. Základy VBA. vypracoval: Tomáš Herout. tel:

Další příklady. Katedra softwarového inženýrství. Katedra teoretické informatiky, Fakulta informačních technologii, ČVUT v Praze. Karel Müller, 2011

Základní datové struktury III: Stromy, haldy

Programování v jazyce C a C++

INFORMATIKA PRO ZŠ. Ing. Veronika Šolcová

Windows - základy. Hlavním vypínačem na základní jednotce. K datům uloženým do výchozí složky.

Rekurzivní algoritmy

František Hudek. duben Informační a komunikační technologie MS Excel Úvod do Excelu II. Základy práce s listy a buňkami.

Binární soubory (datové, typované)

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal

Přehled příkazů pro CLI část aplikace Fits Header Modifier Jan Hlava

DATABÁZE MS ACCESS 2010

Jak stroj používat. Přehledný návod 1/5

Instalace a nastavení PDFCreatoru

Pokročilá algoritmizace amortizovaná složitost, Fibonacciho halda, počítačová aritmetika

Vyhledávací algoritmy

Hašování (Vyhledávání metodou transformace klíče)

Kapitola 10: Diskové a souborové struktury. Klasifikace fyzických médií. Fyzická média

Generování výkresové dokumentace. Autodesk INVENTOR. Ing. Richard Strnka, 2012

Adresní mody procesoru

VISUAL BASIC. Práce se soubory

Uživatelská příručka pro program

RECEPTY. Práce s BIDVest recepty tvorba a správa vlastních receptů

Radomíra Duží L Datový typ množina

DATABÁZOVÉ A INFORMAČNÍ SYSTÉMY

Sestavy dlaždic. Příprava dlaždic pro definici sestavy

COMPLEXITY

Reliance 3 design OBSAH

KRY. Projekt č. 2. Kamil Dudka xdudka00

5 Metody vyhledávání 5.1 Asociativní vyhledávání sekvenční Pole se sekvenčně prochází = od začátku do konce prvek po prvku :-)))

Tisk do souboru se provádí podobně jako tisk na papír, směřování tisku do souboru je dáno nastavením v ovladači tiskárny:

Stromové struktury v relační databázi

Tabulka. Často jde nejenom o dynamickou množinu, ale i statickou množinu. Matematické tabulky statická množina

Spojová implementace lineárních datových struktur

TÉMATICKÝ OKRUH Počítače, sítě a operační systémy

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit

Transkript:

Návrh designu: Radek Mařík

1. Hashovací (=rozptylovací) funkce a) převádí adresu daného prvku na jemu příslušný klíč b) vrací pro každý klíč jedinečnou hodnotu c) pro daný klíč vypočte adresu d) vrací pro dva stejné klíče různou hodnotu

2. Kolize u hashovací (rozptylovací) funkce h(k) a) je situace, kdy pro dva různé klíče k vrátí h(k) stejnou hodnotu b) je situace, kdy pro dva stejné klíče k vrátí h(k) různou hodnotu c) je situace, kdy funkce h(k) při výpočtu havaruje d) je situace, kdy v otevřeném rozptylování dojde dynamická paměť

3. Kolize při vkládání klíče do rozptylovací tabulky s otevřeným rozptylováním znamená, že: a) klíč nebude možno do tabulky vložit b) klíč bude možno do tabulky vložit po jejím zvětšení c) místo pro klíč v poli je již obsazeno jiným klíčem d) v paměti není dostatek místa pro zvětšení tabulky e) kapacita tabulky je vyčerpána

4. Metoda otevřeného rozptylování a) generuje vzájemně disjunktní řetězce synonym b) dokáže uložit pouze předem známý počet klíčů c) zamezuje vytváření dlouhých clusterů ukládáním synonym do samostatných seznamů v dynamické paměti d) dokáže uložit libovolný předem neznámý počet klíčů

5. V otevřeném rozptylování a) je nutno definovat rozsah hodnot klíčů b) je počet uložených prvků omezen velikostí pole c) je nutno po určitém počtu kolizí zvětšit velikost pole d) je možno uložit libovolný počet synonym

6. Metoda otevřeného rozptylování a) dokáže uložit libovolný předem neznámý počet klíčů b) nemá problém s kolizemi, protože nevznikají c) ukládá prvky s klíči v dynamické paměti d) ukládá prvky do pole pevné délky

7. Cluster (u metody otevřeného rozptylování) a) je posloupnost synonym uložená v souvislém úseku adres b) je posloupnost klíčů uložená v souvislém úseku adres c) je posloupnost synonym uložená v dynamické paměti d) u otevřeného rozptylování nevzniká

8. Do nejprve prázdné tabulky s rozptylovací funkcí (x) = x mod 6 byly vloženy následující prvky v uvedeném pořadí a celkem nastala jedna kolize. a) 6 12 24 b) 24 6 12 c) 1 7 6 d) 5 6 7 e) 2 3 4

9. Double hashing a) má stejnou pravděpodobnost vzniku dlouhých clusterů jako linear probing b) je metoda ukládání klíčů na dvě různá místa c) je metoda minimalizace délky clusterů u metody otevřeného rozptylování d) má vyšší pravděpodobnost vzniku dlouhých clusterů než linear probing

10. Metoda hashování s vnějším zřetězením a) nemá problém s kolizemi, protože při ní nevznikají b) dokáže uložit pouze předem známý počet klíčů c) ukládá synonyma do samostatných seznamů v dynamické paměti d) ukládá synonyma spolu s ostatními klíči v poli e) ukládá posloupnosti synonym v souvislém úseku adres

11. Rozptylovací tabulka o velikosti m se zřetězeným rozptylováním obsahuje n prvků. Složitost nejhoršího případu, který může při vložení dalšího klíče nastat, je a) Θ(n) b) Θ(m) c) Θ(m/n) d) Ο(1) e) Θ(log(n))

12. Pro danou rozptylovací funkci h(k) = k mod 5 zvolte velikost tabulky a nakreslete stav po vložení prvků následující posloupnosti při vnějším zřetězení prvků. 20 9 0 17 22 15 23 18 8 7

13. Pro danou rozptylovací funkci h(k) = k mod 9 zvolte velikost tabulky a nakreslete stav po vložení prvků následující posloupnosti při vnějším zřetězení prvků. 12 19 24 17 4 21 5 16 11 2

14. Vnější zřetězení: Mohou být prvky s klíči 5 a 15 ve stejném řetězu synonym? Hashovací funkce má tvar h(k) = k mod 13.

15a. Do rozptylovací tabulky velikosti 10 s otevřeným rozptylováním a s rozptylovací funkcí h(k) = k mod 7 vložte následujících 6 klíčů. Použijte strategii Linear Probing s inkrementem 1. 12 23 15 29 22 14

15b. Do rozptylovací tabulky velikosti 11 s otevřeným rozptylováním a s rozptylovací funkcí h(k) = k mod 8 vložte následujících 6 klíčů. Použijte strategii Linear Probing s inkrementem 3. 10 16 15 31 23 14

16. A. Je nějaký rozdíl v asymptotické rychlosti operace Delete (=Smaž) ve zřetězeném a otevřeném rozptylování? Jaký nejhorší případ může nastat? B. Je nějaký rozdíl v asymptotické rychlosti operace Insert (=Vlož) ve zřetězeném a otevřeném rozptylování? Jaký nejhorší případ může nastat?

17. Do do prázdné tabulky velikosti N, vkládejte klíče: 27 23 2 28 17 7 14 30 12 21 11 1 Určete počet kolizí v uvedených variantách: a) N = 13, Linear Probing s inkrementem 1 b) N = 17, Linear Probing s inkrementem 1 c) N = 17, Linear Probing s inkrementem 5 d) N = 13, Double Hashing, h 2 (k) = 1 + k % 3. e) N = 13, Double Hashing, h 2 (k) = 1 + k % 5. f) N = 17, Double Hashing, h 2 (k) = 1 + k % 5.