Základy algoritmizace

Na této stránce lze najít informace týkající se cvičení k přednášce Základy algoritmizace vyučované na katedře matematiky Fakulty jaderné a fyzikálně inženýrské.

Podmínky k udělení zápočtu:

  1. Jsou povoleny maximálně dvě omluvené absence.
  2. Je nutné vypracovat semestrální program podle níže uvedeného zadání.

Zadání semestrálního programu

Implementujte strukturu pro uložení řídké čtvercové matice NxN tj. takové, která má na každém řádku jen pár nenulových prvků.

Matici uložte pomocí formátu CSR.

Implementujte následujicí funkce:

  1. vložení prvku
  2. násobení matice a vektoru
  3. násobení dvou matic
  4. součet dvou matic
  5. načtení libovolného prvku matice

Proveďte maximálně jednoduchou implementaci BEZ OPTIMALIZACÍ.

Kód doplňte komentáři podle úvodní prezentace tj. okomentujte jen kritická místa kódu, ale popište všechny funkce - jejich vstupní parametry, vrácené hodnoty, případně za jakých podmínek mohou být volány.

Napiště testovací kód, který ukáže, že vaše implementace funguje správně.

Sepiště stručný tutoriál, kde ukážete, jak použít tuto strukturu v programu.

Program osobně odevzdejte do 28. dubna 2017.

Prezentace k vyuce

  1. Úvod

Literatura

  1. M. Virius, Základy algoritmizace, skripta FJFI.

Zápisky z hodin

Rok 2016/2017
3.týden - Hanojské věže - hanojske-veze.cpp,
4.týden - Binární strom - binarni-strom-1.h, binarni-strom-1.cpp
5.týden - Binární strom - binarni-strom-2.h, binarni-strom-2.cpp
6.týden - Šachový kůň - kun.cpp
7.týden - Sudoku - sudoku.cpp, Dijkstra - dijkstra-1.cpp
8.-9.týden - Řazení - razeni.cpp

Rok 2015/2016
2.týden - Hanojské věže - veze.cpp, zasobnik.h, zasobnik.cpp
4.týden - Binární strom - strom.h, strom.cpp,
5.týden - Binární strom - strom.h, strom.cpp,
6.týden - Šachový kůň - kun.cpp
7.týden - Sudoku - sudoku.cpp
8.týden - Řazení - razeni.cpp
9.týden - Quicksort - quicksort.cpp

Rok 2014/2015
3.týden - Hanojské věže, Binární strom
4.týden - Binární strom
5.týden - Binární strom
6.týden - Šachový kůň
7.týden - Sudoku
9.týden - Nejkratší cesta v grafu
11.týden - Třídění
12.týden - Třídění

Rok 2013/2014
3. týden - Hanojské věže
4. týden - Strom
5. týden - Strom
6. týden - Sudoku
8. týden - Graf
9. týden - Třídění
10. týden - Třídění
Rok 2012/2013

3. týden - Hanojské věže
4. týden - Strom
5. týden - Strom
6. týden - Šachový kůň
7. týden - Graf
8. týden - Graf,třídění
9. týden - Třídění
11. týden - Třídění

Rok 2011/2012

3. týden - Strom
4. týden - Strom
5. týden - Šachový kůň
6. týden - Graf
9. týden - Třídění
Rok 2010/2011

Čtvrteční cvičení

3. týden - Strom
5. týden - Strom
6. týden - Strom, Iterátor, Hanojské věže
7. týden - Šachový kůň
8. týden - Šachový kůň
9. týden - Graf
10.-11. týden - Trideni
12. týden - Trideni

Páteční cvičení

3. týden - Strom
4. týden - Strom
5. týden - Strom, Iterator
6. týden - Iterátor, Hanojské věže, Šachový kůň
7. týden - Šachový kůň
8. týden - Šachový kůň
9. týden - Graf
10.-11. týden - Trideni
12. týden - Trideni