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



Podobné dokumenty
přirozený algoritmus seřadí prvky 1,3,2,8,9,7 a prvky 4,5,6 nechává Metody řazení se dělí:

Datové struktury 2: Rozptylovací tabulky


Návrh designu: Radek Mařík

Základy algoritmizace. Hašování

zejména Dijkstrův algoritmus pro hledání minimální cesty a hladový algoritmus pro hledání minimální kostry.

Jasné definování dodávky / služby / stavebních prací tzn. jasný popis, specifikace toho, co se má v rámci zakázky realizovat.

Adresace paměti. 11.přednáška

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.

STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach fronta

Vyhledávání v tabulkách

Principy operačních systémů. Lekce 7: Souborový systém

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Kapitola 11. Vzdálenost v grafech Matice sousednosti a počty sledů

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

Algoritmy I, složitost

1. Úvod do genetických algoritmů (GA)

Výzva č OP LZZ Posílení aktivních politik zaměstnanosti. Seminář pro žadatele Praha, 24. května 2011 Brno, 31. května 2011

Poskytování informací o účtech Oberbank v průběhu dne v systému MultiCash

Paměti a jejich organizace

Intervalové stromy. Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme. 1. Změna jednoho čísla v posloupnosti.

Da D to t v o é v ty t py IB111: Datové typy

K vyplnění žádosti je nutné mít nainstalován v počítači program 602XML Filler

HASHING GENERAL Hashovací (=rozptylovací) funkce

Podrobný postup stažení, vyplnění a odeslání elektronické žádosti

Maticové operace projekt č. 3

vyhledávací stromové struktury

LuxRiot uživatelský manuál verze Uživatelský manuál Verze , Stasa s.r.o.,pokorného 14, , PRAHA

Informatika Algoritmy

III. Zpráva o fungování elektronických tržišť veřejné správy za rok 2012

Jazyk matematiky Matematická logika Množinové operace Zobrazení Rozšířená číslená osa

5 Rekurze a zásobník. Rekurzivní volání metody

Systém adresace paměti

6. T e s t o v á n í h y p o t é z

Administrace programu Erasmus na UHK

NEXIS 32 rel Generátor fází výstavby TDA mikro

Místo narození:..., okres:...

Elegantní algoritmus pro konstrukci sufixových polí

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

Novinky v programu Účtárna 2.05

5.1 Vyhledávací portál uživatelské rozhraní

SPORTONGO UŽIVATELSKÁ PŘÍRUČKA

Úvod do databázových systémů

Obsah. KAPITOLA 1 Dříve než začneme 19 Kdysi dávno aneb střípky z historie algoritmických strojů třicátá léta 22

Centrální evidence závětí NK ČR

Y36BEZ Bezpečnost přenosu a zpracování dat. Úvod. Róbert Lórencz. lorencz@fel.cvut.cz

Kombinatorická optimalizace

IB108 Sada 1, Příklad 1 Vypracovali: Tomáš Krajča (255676), Martin Milata (256615)

NOVÁ VERZE OBD A JEJÍ VYUŽÍVÁNÍ Ing. Martina Valášková

KMA/PDB. Karel Janečka. Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d

Základní nápověda pro práci s informační bránou UHK

Distanční opora předmětu: Databázové systémy Tématický blok č. 7: Fulltextové vyhledávání Autor: RNDr. Jan Lánský, Ph.D.

RiJ ŘÍZENÍ JAKOSTI L 1 1-2

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

UŽIVATELSKÁ PŘÍRUČKA KLÁVESNICE

Algoritmizace prostorových úloh

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

ÚMČ Brno-Bystrc - postupy pro zadávání veřejných zakázek

1 Úvod do kompilátorů

3. Matice a determinanty

Ten objekt (veličina), který se může svobodně měnit se nazývá nezávislý.

Servisní nastavení systému

Registrační číslo Hodnocení - část A Hodnocení - část B Hodnocení - část A+B

ALGORITMIZACE PROGRAMOVÁNÍ VT3/VT4

ATONA_BLANSKO_MKE PŘÍRUČKA JAKOSTI A ENVIRONMENTU. Příručka managementu. Vydání: 3 Nahrazuje: 2. Schváleno: GR. Vyhotovil: Dne: Ing.

Regulární matice. Věnujeme dále pozornost zejména čtvercovým maticím.

Skalární součin je nástroj, jak měřit velikost vektorů a úhly mezi vektory v reálných a komplexních vektorových prostorech.

TÉMATICKÝ OKRUH TZD, DIS a TIS

Teoretická rozdělení

Teoretické minimum z PJV

Přehledy pro Tabulky Hlavním smyslem této nové agendy je jednoduché řazení, filtrování a seskupování dle libovolných sloupců.

Katedra kybernetiky skupina Inteligentní Datové Analýzy (IDA) 9. dubna Filip Železný (ČVUT) Vytěžování dat 9.

BAKALÁŘSKÁ PRÁCE. Numerické metody jednorozměrné minimalizace

PŘÍLOHY K MANUÁLU Programu švýcarsko-české spolupráce PRO VYHLAŠOVÁNÍ VÝZEV - PŘEDKLÁDÁNÍ A HODNOCENÍ PROJEKTŮ - UDĚLOVÁNÍ GRANTU

TPV - Technologie Technologické stupně výroby, rozbor z hlediska funkce výrobku a ekonomických aspektů

Algoritmizace prostorových úloh

Zlatý řez nejen v matematice

Základní principy sestavení TPP. Pracovní text k

Klíčové pojmy: Cyklus, řídící proměnná, inicializace, test podmínky, přerušení cyklu, vnořování cyklů.

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

Obrázek 6.14: Prohlížec nápovedy

Databázovéa informačnísystémy NÁVRH IMPLEMENTACE 1

METODY DESKRIPTIVNÍ STATISTIKY

Algoritmus Minimax. Tomáš Kühr. Projektový seminář 1

TIM - Test pro Identifikaci nadaných žáků v Matematice Kreativita při řešení matematických úloh

Rozhodovací procesy v ŽP HRY A SIMULAČNÍ MODELY

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

Dynamické datové struktury IV.

Kartografické modelování. II Mapová algebra obecné základy a lokální funkce

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

Tabulka symbolů. Vazba (binding) Vazba - příklad. Deklarace a definice. Miroslav Beneš Dušan Kolář

Rekurze - tvorba a zápis algoritmů v jazyce Pascal

Architektury CISC a RISC, uplatnění v personálních počítačích

Databázové systémy trocha teorie

ESIII 3.0 Elektrotechnická dokumentace

Metodika. Oznámení o vykonávání působností v agendě ve smyslu zákona č. 111/2009. Sb., o základních registrech. Verze 1.6

Semestrální práce 2 znakový strom

. Určete hodnotu neznámé x tak, aby

Základní informace o předmětu Otázka:

Informační manuál GROUPWISE - DISTRIBUČNÍ LISTY FŽP

Transkript:

ADT Tabulka

Datová struktura, která umožňuje vkládat a později vybírat informace podle identifikačního klíče. Mohou být: pevně definované (LUT Look Up Table) s proměnným počtem položek Konvence: Tabulka k klíč, kterým identifikujeme položku A k adresní klíč tj. adresa položky (ve většině případů je to index Hledání v tabulkách parametry: S délka hledání položky (počet položek, které je nutno prozkoumat) T průměrná délka hledání (m je počet přístupů do tabulky) A průměrná délka prohledávání za předpokladu rovnoměrného přístupu (n je počet obsazených položek tabulky) P tzv. plnění tabulky(podíl obsazených položek)

Rozdělení tabulek podle způsobu organizace tabulky s přímým přístupem obyčejné vyhledávací tabulky tabulky se sekvenčním přístupem tabulky s rozptýlenými položkami

Tabulky s přímým přístupem k Ak je prosté zobrazení, každá položka tabulky má své místo jednoznačně určené hodnotou Ak přímo odvozenou z k Optimální implementace tabulky je pomocí pole indexy jsou přímo klíče v tabulce S=T=A=1 Výhody: rychlý přístup jednoduchá implementace Nevýhody: Velikost tabulky je daná rozsahem klíče, pro praktické účely bývá většinou neúnosná Řídké pole nerovnoměrný počet klíčů vzhledem k rozsahu tabulky. Příklady: Telefonní síť klíčem je telefonní číslo uživatele Telefonní seznam klíčem je jméno

Vyhledávací tabulky Vyhledává se podle hodnoty klíče Pořadí položek může být: definované (uspořádané) náhodné Strategie vyhledávání: 1. sekvenční 2. binární 3. Fibonacciho 4. kombinované Výhoda: plnění vyhledávacích tabulek může být až 100% Nevýhoda časově náročné vyhledávání (může být až lineární) Sekvenční vyhledávání Položky v tabulce mohou být neuspořádané Princip spočívá v postupném porovnávání klíčů položek s hledaným klíčem až do nalezení shody, popř. nalezení konce tabulky

Výhoda: snadná implementace a časově nenáročná modifikace tabulky (implementace jako pole (popř. jako seznam), přidává se na konec pole, díry po odebrání prvků se vyplňují posledním prvkem v případě implementace polem) Binární vyhledávání lze použít v případě, že jsou položky tabulky seřazeny podle hodnoty klíče Princip: porovnat hledaný klíč s klíčem uprostřed tabulky, pokud není shoda, hledat v levé popř. v pravé polovině tabulky (v závislosti na hodnotě klíče) Fibonacciho vyhledávání Princip: stejný jako u binárního vyhledávání, testované prvky však nevolíme uprostřed, ale v poměru Fibonacciho čísel Složitost: stejná jako u binárního vyhledávání, ale prvky na začátku jsou nalezeny rychleji Pro efektivní hledání se snažíme, aby tabulka měla F n -1 prvků, kde F n je určité Fibonacciho číslo Fibonacciho posloupnost:

Prvky Fibonacciho posloupnosti: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 99, Př. Nalezení prvku na pozici 26 v tabulce o 54 prvcích.

Hledání podle sekundárního klíče Invertovaný soubor (indexovaný soubor) jedná se o tabulku seřazenou podle sekundárního klíče, data tvoří primární klíč (nebo přímo index v původní tabulce) invertovaný seznam invertovaný soubor implementovaný jako zřetězený seznam nebo

Vícerozměrné vyhledávání vyhledávání podle více klíčů realizujeme vícenásobným přístupem

tabulky s rozptýlenými položkami používají se v případě, že rozsah klíče N >> rozsah tabulky pro určení pozice v tabulce, na kterou máme uložit položkus klíčem k, používáme rozptylovací funkce (hash-funkci) A k =h(k), která klíči k jednoznačně přiřazuje klíč A k může se stát, že pro různé položky k 1 k 2 platí, že h(k 1 )= h(k 2 ) tzv. synonymické položky (dochází ke kolizi) Při návrhu a implementaci hash-tabulky je nutné vzít v úvahu: jak definovat rozptylovací funkci jak řešit ukládání synonymických položek

Požadavky na rozptylovací funkci: 2. Pro každé k je jednoznačně definovaná (a v přijatelném čase vyčíslitelná) 3. Vytváří minimální počet kolizí (minimum synonym) 4. Pravděpodobnostní rozdělění Ak=h(k) na intervalu <0, p- 1> je rovnoměrné - lze využít pseudonáhodné funkce (randomizační funkce) Realizace h(k): hash funkci i=h(k) je možné realizovat následujícími způsoby: i je částí k i je částí operace nad k i je zbytkem po dělení rozsahem tabulky p i je zbytkem po děleni N, N je nejbližší menší prvočíslo než hodnota p i je dán váhovým součtem částí kde a i jsou váhy jednotlivých částí k i klíče k

Tabulky s otevřeným rozptýlením

Tabulky s otevřeným rozptýlením a vnitřním zřetězením

Tabulky s uzavřeným rozptýlením a vnějším zřetězením

Metoda rozptýlených indexů