Semestrální práce 2 znakový strom



Podobné dokumenty
Práce s programem IIS Ekonom

DIPL 2. Stručný manuál pro vysokoškolské kvalifikační práce.

Jednoduchý uživatelský manuál k programu Cat s Paradise

Prohlížení a editace externích předmětů

Uživatelská příručka

Obrázek 1: Struktura programu z hlediska zapojení

Práce s programem IIS Ekonom

Dealer Extranet 3. Správa objednávek

PORTÁL KAM NA ŠKOLU VE ZLÍNSKÉM KRAJI (stručný návod pro ředitele a administrátory škol)

Manuál pro mobilní aplikaci Patron-Pro. verze pro operační systém Symbian

Metodicky na vod pro Roc nı hodnocenı ISP PGS

7 Aktivace oznamování nových výzev

WAK INTRA. Ovládání systému. internetový informační systém. účinný nástroj pro vedení firemních agend.

ERP informační systém

Uživatelská příručka

Metodicky na vod pro Roc nı hodnocenı ISP DSP

Profesis KROK ZA KROKEM 2

Konvertor diakritiky 3. Instalace

PALSTAT s.r.o. systémy řízení jakosti PALSTAT CAQ verze Kontakty 08/ Obsah

E-NABÍDKA PARTNER.REDA.CZ

Nastavení a ovládání aplikace ifoxtrot

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

Uživatelský manuál. Aplikace GraphViewer. Vytvořil: Viktor Dlouhý

Popis ovládání. Po přihlášení do aplikace se objeví navigátor. Navigátor je stromově seřazen a slouží pro přístup ke všem oknům celé aplikace.

Tour de ABB 2013 Průvodce online aplikací

Zpracování statistického výkazu P 1c-01

Uživatelské postupy v ISÚI

ERP informační systém

Hromadné operace s prvky

Uživatelský manuál aplikace. Dental MAXweb

DIPL 2. Příloha č. 1 ke Směrnici rektora č. 120/08 o vysokoškolských kvalifikačních pracích. Stručný manuál pro vysokoškolské kvalifikační práce.

Nový design ESO9. E S O 9 i n t e r n a t i o n a l a. s. U M l ý n a , P r a h a. Strana 1 z 9

Lukáš Peterka vedoucí projektu. Registr hnojiv na eagri - uživatelská příručka , Brno

REGISTR VINIC - ŽÁDOST O ZATŘÍDĚNÍ VÍNA (UŽIVATELSKÁ PŘÍRUČKA PRO FARMÁŘE) Brno CCV, s. r. o.

1. Pro přihlášení k odběru novinek klikněte na tlačítko Registrace nového uživatele.

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í

1. Pro přihlášení k odběru novinek klikněte na tlačítko Registrace nového uživatele.

Manuál na pořízení technické změny pomocí webové kalkulačky. Verze 1.2

Po prvním spuštění Chrome Vás prohlížeč vyzve, aby jste zadali své přihlašovací údaje do účtu Google. Proč to udělat? Máte několik výhod:

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

Elektronické zpracování dotazníků AGEL. Verze

Personální evidence zaměstnanců

Monitoring mikroregionů a jejich rozvojových dokumentů. imr. On-line systém evidence mikroregionů a jejich rozvojových dokumentů

Příručka uživatele systému Museion. Fulltext

Manuál pro mobilní aplikaci. Patron-Pro

Rozvodnice design verze 3.1

NÁVOD NA VKLÁDÁNÍ A EDITACI AKCÍ PROJEKTŮ

Nápověda aplikace Patron-Pro

Stručný manuál pro webový editor. Ukládáni základních informací, tvorba menu

Dokumentace pro správu zlínských DUM

Helpdesk Liberecké IS

Microsoft. Access. Nová databáze, návrh tabulky. Mgr. Jan Veverka Střední odborná škola sociální Evangelická akademie

Modul Download pro redakční systém Marwel

CNC Blocks Utility 3. Instalace

Nemocnice. Prvotní analýza a plán projektu

Mobilní aplikace Jízdní řády Y39PDA Marek Temnyak

Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná.

Microsoft. Word. Hromadná korespondence. Mgr. Jan Veverka Střední odborná škola sociální Evangelická akademie

UŽIVATELSKÁ PŘÍRUČKA UČITEL

Návod - katalog. ANTEE s.r.o. - tel.: , fax: , helpdesk: ,

Postup při zasílání dokumentů smluvních partnerů České pojišťovny prostřednictvím aplikace externí upload

UniLog-L. v0.81 návod k obsluze software. Strana 1

Profesis on-line Obrázky v prezentaci byly upraveny pro potřeby prezentace.

Technologické postupy práce s aktovkou IS MPP

Formulář NÚV v programu PPP4

Návod k programu pro zpracování statistického výkazu P 1c-01

Školící dokumentace administrátorů IS KRIZKOM (úroveň ÚSÚ) role ( administrátor )

Popis funkcí webu s redakčním systémem, katedra 340

Rámcový návod pro školitele. doktorských studijních programů

Binární vyhledávací strom pomocí směrníků Miroslav Hostaša L06620

Uživatelský manuál: Modul Nové kontakty

Úvod...1 Instalace...1 Popis funkcí...2 Hlavní obrazovka...2 Menu...3 Práce s aplikací - příklad...5

zoom-driver Manuál k redakčnímu systému zoom-driver created by virtual-zoom s.r.o.

Návod pro práci s aplikací

Uživatelská příručka administrativního rozhraní Vědecké knihovny v Olomouci

Jak obnovit ztraceny dokumentu

Školící dokumentace administrátorů IS KRIZKOM (úroveň KRAJ) (role manager, administrátor )

Návod jak žádat o dotace pro neorganizovanou mládež

EQAS Online. DNY kontroly kvality a speciálních metod HPLC, Lednice

Bible Quote 6.5 Okno programu

Gymnázium Ostrava Hrabůvka, příspěvková organizace Františka Hajdy 34, Ostrava Hrabůvka

Používání sdíleného kalendáře v projektu Bioanalytické centrum

Úvod...1 Instalace...1 Popis funkcí...2 Hlavní obrazovka...2 Menu...3 Práce s aplikací - příklad...5

Návod - katalog. ANTEE s.r.o. - tel.: , fax: , helpdesk: ,

Popis ovládání aplikace - Mapový klient KÚPK

I. Příprava dat Klíčový význam korektního uložení získaných dat Pravidla pro ukládání dat Čištění dat před analýzou

Prezenční stránka tréninkové skupiny v systému CzechTriSeries UŽIVATELSKÝ MANUÁL

Úvod do systému

Konzervace, restaurování 2

Uživatelský manuál. Verze Tel: , sales@ictb.cz, WWW:

Průzkumník IS DP. Návod k obsluze informačního systému o datových prvcích (IS DP) vypracovala společnost ASD Software, s. r. o.

Manuál pro Geoportál ÚAP

ZŠ ÚnO, Bratří Čapků 1332

Pomůcka/manuál pro redakční systém verze 1.0

Návod k ovládání aplikace

KATALOG PRODUKTŮ A SLUŽEB (stručný návod pro přispěvatele) 1. KATALOG PRODUKTŮ A SLUŽEB

PDF Split and Merge. Průvodce programem pro práci s PDF

Microsoft Office Word 2003

Modul IRZ návod k použití

Transkript:

Semestrální práce 2 znakový strom Ondřej Petržilka Datový model BlockFileRecord Bázová abstraktní třída pro záznam ukládaný do blokového souboru RhymeRecord Konkrétní třída záznamu ukládaného do blokového souboru. Obsahuje tři řetězce, slovo v českém jazyce, anglickém jazyce a německém jazyce.

BlockFileLocation Třída reprezentující pozici záznamu v blokovém soubory, pomocí objektu této třídy lze v blokovém souboru jednoznačně identifikovat záznam.

Database<T> Třída reprezentující databázi záznamů, template parametr T musí být odvozen od třídy BlockFileRecord. T je typ (třída) záznamu. Database obsahuje indexovou strukturu která je příponový znakový strom, template parametr znakového stromu je BlockFileLocation, znakový strom tedy ukládá ke každému klíči záznam typu BlockFileLocation, pomocí tohoto záznamu lze najít v blokovém souboru data. Database dále obsahuje blokový soubor který slouží jako úložiště záznamů, template parametr blokového souboru je stejný jako template parametr T třídy Database. Při vytvoření databáze jsou v kontruktoru předány parametry definující název souboru s indexem, název blokového souboru s daty, velikost jednoho záznamu a počet záznamů v bloku. Database obsahuje metody pro přidání záznamu s klíčem, odebrání záznamu podle klíče, vyhledání záznamu a další popůrné metody. Pokud aplikace potřebuje vyhledat záznam tak aby měla přístup k celému podstromu, může využít proměnnou index. PostfixTrie<T> Reprezentuje příponový znakový strom, template parametr T je typ který je uložen u každého záznamu ve znakovém stromu. V rámci této aplikace se využívá PostfixTrie<BlockFileLocation>. PostfixTrie obsahuje metody pro vložení záznamu s klíčem, odstranění záznamu podle klíče, vyhledání uzlu podle klíče a vyhledání dat uzlu podle klíče. PostfixTrieNode<T> Představuje uzel příponového znakového stromu, template parametr T je typ který může být uložen u každého uzlu. Uzel stromu obsahuje lineární seznam potomků, odkaz na rodiče, znak který tento uzel reprezentuje a data typu T, pokud jsou data rovna null, tento uzel neobsahuje záznam, avšak jeho potomci stále mohou obsahovat platné záznamy. Obsahuje metody pro smazání potomka, vložení potomka a vyhledání potomka podle znaku. Metoda pro vložení potomka vloží nového potomka bez dat a vrátí ho, to umožnuje použít tuto metodu opakovaně pro vytvoření podstromu. BlockFile<T> Reprezentuje blokový soubor. Při vytváření instance se třeba předat konstruktoru název blokového souboru, velikost záznamu a počet záznamů v bloku. V tomto dokumentu je za volný blok považován blok který obsahuje alespoň jeden prázdný záznam. Soubor obsahuje hlavičku které má, což je počet bloků v souboru. Dále obsahuje jednotlivé bloky a nakonec obsahuje počet volných bloků a seznam volných bloků. Seznam volných bloků (bloky které obsahují alespoň jeden volný záznam) je nakonci protože může být různě veliký. Obsahuje metody pro vložení záznamu, smazání záznamu, aktualizaci záznamu a vyhledání záznamu. Dále obsahuje další podpůrné metody. Záznamy jsou jednoznačně identifikovány pomocí objektu třídy BlockFileLocation, který obsahuje číslo bloku a číslo záznamu.

Blokový soubor načítá aktuální blok až při požadavku na záznam z tohoto bloku a aktuální blok uchovává v paměti dokud není potřeba upravit jiný blok. Pokud je třeba upravit jiný blok (přidat, změnit či smazat záznam) aktuální blok je uložen a nový blok načte. Toto chování snižuje počet blokových přenosů pokud se pracuje s více záznamy v témže bloku. BlockFile obsahuje seřazená čísla bloků, které obsahují alespoň jeden volný záznam, při vložení nového záznamu se vloží záznam na první volné místo v prvním bloku s volným místem. BlockFileBlock<T> Reprezentuje Blok v blokovém souboru, obsahuje metody pro vložení, smazání, vyhledání a aktualizaci záznamu. Dále obsahuje metody pro načtení a uložení bloku. BlockFile při většině operací zajistí aby byl v paměti načten správný blok a pak předá řízení objektu třídy BlockFileBlock aby provedla úpravu záznamu. Každý blok obsahuje hlavičku, v hlavičce je číslo prvního volného záznamu a bitové pole reprezentující platnost jednotlivých záznamů. Poté už blok obsahuje pouze jednotlivé záznamy. Pro jednoduchost je každý bit v bitovém poli je uložen do jednoho bajtu aby se nemuselo řešit zarovnávání na celé bajty. Struktura blokového souboru Struktura z pohledu souboru Velikost bloku je pro tuto aplikaci 764 Bajtů, velikost bloku lze upravit změnou počtu záznamů v bloku nebo změnou velikosti záznamu. Počet bloků Blok 76 Blok 76 Počet bloků x 76 Počet volných bloků Číslo 1. volného bloku Číslo 2. volného bloku + Počet volných bloků x

Struktura z pohledu bloku Velikost záznamu je 75B, obsahuje české slovo o velikost 25B, anglický překlad o velikosti 25B a německý překlad o velikost 25B. Počet záznamů v bloku je 10. Tomu odpovídá velikost bloku 76. Pokud bude počet záznamů v bloku nebo velikost záznamu jiná velikost bloku v bajtech se vypočte takto: 4 + počet záznamů v bloku * (velikost záznamu + 1) První volný záznam Platnost 1. záznamu Platnost 2. záznamu Platnost 3. záznamu 1B 1B 1B 1 Záznam 75B 76 Záznam 75B 750B

Ovládání aplikace Při spuštění aplikace se defaultně zobrazí výpis souborů aby bylo na první pohled jasné co všechno se nachází v databázi (a zda databáze obsahuje nějaká data). Pro práci v normální režimu stačí v menu View odškrtnout položku Debug. Aplikace umožňuje vkládání záznamů, mazání záznamů a hledání. Pro vložení záznamu stačí vyplnit skupinu vstupních polí Vkládání a kliknout na tlačítko vložit. Pro odstranění je třeba vyplnit vstupní pole ve skupině Mazání a kliknout na tlačítko Odstranit. Pro hledání je třeba vložit slovo a počet znaků podle kterých se má hledat shoda a kliknout na tlačítko vyhledat. Výsledky se zobrazí v pravé části formuláře. Pokud je pole výsledků plné a chcete zobrazit další výsledky stačí do něj kliknout a pomocí kláves PageUp a PageDown procházet výsledky. Režim debug slouží především pro kontrolu dat v databázi, slova jsou zobrazena v levé části formuláře ve stromové struktuře, tři vstupní pole Cz, En a De NEOBSAHUJÍ aktuální stav databáze, jsou předvyplněna texty složícími pro naplnění prázdné databáze, to lze provést tlačítkem Parse text, tlačítkem Clear all lze obsah databáze smazat. Dále lze odstranit záznam vyplněním slova do pole a kliknutím na tlačítko Odstranit. V pravé části obrazovky je zobrazeno prvních 30 bloků (po roztažení formuláře na šířku), každý box reprezentuje jeden záznam, najetím na box se vypíše v dolní části obrazovky co je v záznamu uloženo. Nad box je seznam bloků s prázdným záznamem. Prázdný záznam je označen písmenem e a šedou barvou, obsazený záznam je označen zelenou barvou.