Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
Semestrální práce KIV/PT Martin Kales Hana Hůlová
2
Standardní zadání –Vytvořte 3 vstupní soubory, každý o velikosti minimálně 5MB (obyčejné textové soubory) obsahující texty v českém jazyce z následujících oblastí : –zpravodajství –beletrie –odborná literatura –Programově načtěte vstupní soubory, vytvořte slovníky použitých slov (implementujte vhodnou základní datové paměťové struktury pro načtená data ze souborů) –Seřaďte slova podle četnosti výskytu + kontrolní výpisy –Umožněte fulltextové vyhledání slov –Vytvořte smysluplné výstupy do HTML, vhodné pak i na obrazovku –Vytvořte prostředí pro snadnou obsluhu programu (menu, ošetření vstupů,…) – nemusí být grafické –Vytvořte dokumentační komentáře ve zdrojovém textu programu a vygenerujte programovou dokumentaci (Javadoc) –Dokumentace –Zadání –Analýza problému –Popis programu –Uživatelská dokumentace –Závěr
3
Analýza problému Volba datových struktur => –BVS (pro načtení) –Hash tabulka (pro četnost) Volba datových typů => –Prvek Slovo Údaj o četnosti Ukazatele na následníky v BVS –PrvekCetnost Prvek Ukazatel na další prvek v Hash tabulce
4
BVS Postupně vkládáme všechna slova do BVS. –1.slovo => kořen stromu –Následující slova => porovnání podle abecedy s kořenem a zbytkem stromu: a) menší slova (abecedně) =>vlevo b) větší slova (abecedně) =>vpravo
5
Programově načtěte vstupní soubory, vytvořte slovníky použitých slov
6
Hash tabulka Uložení slov podle četnosti Pole třídy PrvekCetnost o velikosti rovné nejvyšší četnosti Tvoříme převodem z BVS Index spojového seznamu určuje četnost
7
Program Program se skládá ze 4 souborů: –Prvek.java –Strom.java –Text.java –Gui.java
8
Prvek.java Základní datový typ celého programu Obsahuje: –Slovo (String) –Četnost (int) –Ukazatel na levého následníka v BVS (Prvek) –Ukazatel na pravého následníka v BVS (Prvek)
9
Strom.java Implementace BVS Obsahuje metodu: –pridejPrvek(Prvek) Najde vhodnou pozici v BVS a přidá Prvek –Dále metody pro porovnávání dvou prvků boolean Porovnej(Prvek, Prvek) Prvek Porovnej_Mensi(Prvek, Prvek) Prvek Porovnej_Vetsi(Prvek, Prvek)
10
Text.java Analýza textu Obsahuje metody: –Strom zpracujText(BufferedReader) Rozděluje text na slova slova = radka.split("[^A-Za-zÁÄÉËÍÓÖÚÜÝßáäéëíóöúüýČčĎďĚ켾ŇňŐőŘřŠšŤťŮůŰűŽž]+") A rovnou vrací celý BVS –Metody pro procházení stromem, vyhledávání a výpisu do HTML Procházení stromem a vyhledávání => zásadně metoda InOrder –Jednoduchost, prochází stromem podle abecedy
11
Gui.java Klientská třída Grafické prostředí
12
Zhodnocení Výhody –Jednoduchost –User-friendly Nevýhody –Pomalé zpracování –Opětovné načítání ze souboru (ne z paměti)
13
The end
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.