Vybrané partie z dátových štruktúr
2-INF-237, LS 2016/17

Úvod · Pravidlá · Prednášky · Prezentácia · Ako poznámkovať · Moodle
Táto stránka sa týka školského roku 2016/17. V školskom roku 2017/18 predmet vyučuje Jakub Kováč, stránku predmetu je https://people.ksp.sk/~kuko/ds


OHW: Rozdiel medzi revíziami

Z VPDS
Prejsť na: navigácia, hľadanie
Riadok 1: Riadok 1:
 
Nepovinná domáca úloha
 
Nepovinná domáca úloha
  
==A (2 body)==
+
Nepovinnú domácu úlohu môžete odovzdať písomne na hodine do termínu pre príslušný príklad a môžete za ňu dostať body za aktivitu. Všetky odpovede stručne zdôvodnite.
Uvažujme Morissov-Prattov algoritmus pre vzorku P dĺžky m, ktorý bežíme na veľmi dlhom texte T. Koľko najviac bude trvať spracovanie úseku dĺžky k niekde uprostred textu T ako funkcia parametrov m a k? Hodnota k môže byť menšia alebo väčšia ako m. Uveďte asymptotický horný aj dolný odhad, t.j aj príklad, kde to bude trvať čo najdlhšie (príklad by mal fungovať pre všeobecné m a k, ale môžete si zvoliť T a P a aj ktorý úsek T dĺžky k uvažujete).
+
  
==B1 (1 bod)==
+
 
 +
 
 +
==A (2 body) do 26.4.==
 +
Uvažujme Morissov-Prattov algoritmus pre vzorku P dĺžky m, ktorý bežíme na veľmi dlhom texte T. Koľko najviac bude trvať spracovanie úseku dĺžky k niekde uprostred textu T ako funkcia parametrov m a k? Hodnota k môže byť menšia alebo väčšia ako m. Uveďte asymptotický horný aj dolný odhad, t.j. aj príklad, kde to bude trvať čo najdlhšie (príklad by mal fungovať pre všeobecné m a k, ale môžete si zvoliť T a P a aj ktorý úsek T dĺžky k uvažujete).
 +
 
 +
==B1 (1 bod) do 26.4.==
 
V nasledujúcej sérii podpríkladov sa vrátime k binárnemu reťazcu, o ktorom sme sa bavili, že má veľký lexikografický strom všetkých sufixov. Postupne to podrobnejšie ukážeme. Uvažujme reťazec tvaru <math>T_k = 1010^210^310^41\dots 10^k1</math>. Aká je dĺžka <math>T_k</math>? (presný vzorec). Ak označíme  <math>n=|T_k|</math>, vyjadrite ''k'' ako funkciu ''n'', asymptoticky, t.j. v <math>\Theta</math> notácii.
 
V nasledujúcej sérii podpríkladov sa vrátime k binárnemu reťazcu, o ktorom sme sa bavili, že má veľký lexikografický strom všetkých sufixov. Postupne to podrobnejšie ukážeme. Uvažujme reťazec tvaru <math>T_k = 1010^210^310^41\dots 10^k1</math>. Aká je dĺžka <math>T_k</math>? (presný vzorec). Ak označíme  <math>n=|T_k|</math>, vyjadrite ''k'' ako funkciu ''n'', asymptoticky, t.j. v <math>\Theta</math> notácii.
  
==B2 (2 body)==
+
==B2 (2 body) do 26.4.==
 
Ak vezmeme dva sufixy reťazca <math>T_k</math> a začneme ich porovnávať od začiatku, ako dlho bude v najhoršom prípade trvať, kým nájdeme prvý rozdiel? Vyjadrite asymptoticky ako funkciu n, horný aj dolný odhad.
 
Ak vezmeme dva sufixy reťazca <math>T_k</math> a začneme ich porovnávať od začiatku, ako dlho bude v najhoršom prípade trvať, kým nájdeme prvý rozdiel? Vyjadrite asymptoticky ako funkciu n, horný aj dolný odhad.
  
Poznámka: pýtame sa na časovú zložitosť cyklu <tt>x=0; while(Tk[i+x]==Tk[j+x]} { x++; }</tt>
+
Poznámka: pýtame sa na časovú zložitosť cyklu <tt>x=0; while(Tk[i+x]==Tk[j+x]} { x++; }</tt> kde i a j sú začiatky sufixov.
 +
 
 +
==B3 (1 bod) do 26.4.==
 +
Dokážte, s využitím prechdádzajúcich podúloh, že veľkosť lexikografického stromu (trie) všetkých sufixov <math>T_k</math> je <math>\Theta(n^2)</math>.
  
==B3 (1 bod)==
+
==B4 (? bodov) do 26.4.==
 +
Pokúste sa veľkosť lexikografického stromu reťazca <math>T_k</math> určiť čo najpresnejšie ako funkciu k alebo n, t.j. zistiť niečo aj o konštante ukrytej v asymptotickej notácii, horné a dolné odhady, prípadne aj presný vzorec. Ak neviete riešiť analyticky, môžete aspoň spočítať pre nejaké konkrétne hodnoty k, napr. s využitím nejakej existujúcej implementácie lexikografických stormov. Počet bodov za túto úlohu záleží od náročnosti vášho riešenia.

Verzia zo dňa a času 14:46, 6. apríl 2016

Nepovinná domáca úloha

Nepovinnú domácu úlohu môžete odovzdať písomne na hodine do termínu pre príslušný príklad a môžete za ňu dostať body za aktivitu. Všetky odpovede stručne zdôvodnite.


A (2 body) do 26.4.

Uvažujme Morissov-Prattov algoritmus pre vzorku P dĺžky m, ktorý bežíme na veľmi dlhom texte T. Koľko najviac bude trvať spracovanie úseku dĺžky k niekde uprostred textu T ako funkcia parametrov m a k? Hodnota k môže byť menšia alebo väčšia ako m. Uveďte asymptotický horný aj dolný odhad, t.j. aj príklad, kde to bude trvať čo najdlhšie (príklad by mal fungovať pre všeobecné m a k, ale môžete si zvoliť T a P a aj ktorý úsek T dĺžky k uvažujete).

B1 (1 bod) do 26.4.

V nasledujúcej sérii podpríkladov sa vrátime k binárnemu reťazcu, o ktorom sme sa bavili, že má veľký lexikografický strom všetkých sufixov. Postupne to podrobnejšie ukážeme. Uvažujme reťazec tvaru T_{k}=1010^{2}10^{3}10^{4}1\dots 10^{k}1. Aká je dĺžka T_{k}? (presný vzorec). Ak označíme n=|T_{k}|, vyjadrite k ako funkciu n, asymptoticky, t.j. v \Theta notácii.

B2 (2 body) do 26.4.

Ak vezmeme dva sufixy reťazca T_{k} a začneme ich porovnávať od začiatku, ako dlho bude v najhoršom prípade trvať, kým nájdeme prvý rozdiel? Vyjadrite asymptoticky ako funkciu n, horný aj dolný odhad.

Poznámka: pýtame sa na časovú zložitosť cyklu x=0; while(Tk[i+x]==Tk[j+x]} { x++; } kde i a j sú začiatky sufixov.

B3 (1 bod) do 26.4.

Dokážte, s využitím prechdádzajúcich podúloh, že veľkosť lexikografického stromu (trie) všetkých sufixov T_{k} je \Theta (n^{2}).

B4 (? bodov) do 26.4.

Pokúste sa veľkosť lexikografického stromu reťazca T_{k} určiť čo najpresnejšie ako funkciu k alebo n, t.j. zistiť niečo aj o konštante ukrytej v asymptotickej notácii, horné a dolné odhady, prípadne aj presný vzorec. Ak neviete riešiť analyticky, môžete aspoň spočítať pre nejaké konkrétne hodnoty k, napr. s využitím nejakej existujúcej implementácie lexikografických stormov. Počet bodov za túto úlohu záleží od náročnosti vášho riešenia.