Cvičenia

Úloha 1

Vytvorte si pracovné prostredie Jupyter Notebook v službe KubeFlow a pripravte ho na odovzdávanie úloh.

  1. Prihláste sa na ml.cloud.tuke.sk.
  2. Vytvorte notebook avp26 a overte, že sa viete pripojiť k terminálu.
  3. Nastavte SSH kľúč a prístup do školského Git repozitára na servri KEMT GI...

View all of Príprava webového pracovného prostredia


Operácie so zoznamami

16th Sep 2026

Prečítajte si:

Úloha 1

V súbore list_ops.py implementujte bez použitia hotových ekvivalentov funkcie append, concat, filter, length, map, foldl, foldr a reverse.

Výsledok musí byť nový zoznam (alebo hodnota pri length a fold*) a vstupné zozn...

View all of Operácie so zoznamami


Počítanie slov

16th Sep 2026

Implementujte word_count(text), ktorá vráti slovník s počtom výskytov slov v texte. Počítanie je bez ohľadu na veľkosť písmen; slová oddeľuje interpunkcia a biele znaky, apostrof vo vnútri kontrakcie zostáva súčasťou slova a čísla sa počítajú ako slová.

Funkcia má vrátiť slovník, nie vypisovať t...

View all of Počítanie slov


Pisomka1

16th Sep 2026

Inštruktie ku písomke

View all of Pisomka1


Binárne vyhľadávanie

16th Sep 2026

Implementujte find(search_list, value) pre vzostupne zoradený zoznam. Algoritmus má opakovane deliť interval kandidátov na polovice a vrátiť index nájdenej hodnoty. Ak hodnota chýba, vyvolajte ValueError("value not in array").

Podrobný opis: Binárne vyhľadávanie.

View all of Binárne vyhľadávanie


Vytvorte triedu BinarySearchTree, ktorá ukladá čísla do uzlov s atribútmi data, left a right. Implementujte vkladanie podľa pravidiel BST a generátor inorder priechodu, ktorý vráti hodnoty vzostupne.

Nezabudnite spracovať duplicitné hodnoty a chýbajúcich potomkov reprezentovať hodnotou No...

View all of Binárny vyhľadávací strom


Huffmanovo kódovanie

16th Sep 2026

Implementujte jednoduchý Huffmanov kompresor pre text: tabuľku početností, stavbu stromu pomocou heapq, generovanie prefixových kódov, kódovanie, dekódovanie a výpočet kompresného pomeru.

Prázdny strom reprezentujte None, list znakom a vnútorný uzol dvojicou (left, right). Ľavá vetva má kód...

View all of Huffmanovo kódovanie


Napíšte encode(data) a decode(data) pre bezstratové kódovanie objektov bytes. Každú skupinu rovnakých po sebe idúcich bajtov zapíšte ako počet:bajt; dekódovanie musí zápis obrátiť.

Spracujte prázdne vstupy aj všetkých 256 hodnôt bajtu vrátane dvojbodky. Overte vlastnosť decode(encode(data...

View all of Run-length encoding (RLE)


Pisomka2

16th Sep 2026

Pokyny ku písomke 2

View all of Pisomka2


Implementujte maximum_value(maximum_weight, items) pre problém 0/1 batoha. Každý predmet (slovník s kľúčmi weight a value) môžete vybrať najviac raz. Vráťte najväčšiu hodnotu bez prekročenia kapacity.

Navrhnite stav a prechody dynamického programovania a otestujte prázdny batoh, príliš ťažké...

View all of Knapsack – problém batoha


Vytvorte program, ktorý spočíta prvočísla v zadanom intervale a prácu rozdelí medzi viac procesov alebo vlákien. Výsledok musí byť rovnaký ako pri sekvenčnom výpočte.

Rozdeľte interval na nezávislé časti, spracujte ich paralelne a výsledky bezpečne spojte. Porovnajte čas behu so sekvenčným riešení...

View all of Paralelné počítanie prvočísiel


Navrhnite službu založenú na asyncio, ktorá prijíma úlohy, spracúva ich bez blokovania ostatných klientov a vracia výsledky. Použite asynchrónne funkcie, frontu úloh a korektné ukončenie workerov; ošetrite aj chyby úloh.

Precvičíte si event loop, async/await, asyncio.Queue a súbežné čakani...

View all of Asynchrónna služba na spracovanie úloh


Cvičenia