Programovacie techniky

Prednášajúci:Martin Drozda
Cvičiaci:Pavol Marák
Kategória predmetu:,
Organizácia
Podmienky
Viac

Organizácia predmetu

Prednáška:

pondelok 15:00-17:00 BC300
utorok 12:00-13:00 BC300 (tutoriál)

Konzultácie:

Dohodnutie termínu cez email, C601.

Učebný text

Zbierka príkladov v1.05
Kopírovacia a presúvacia sémantika v C++
Krátky úvod do jazyka C++ v1.04

Test

Riadny termín
Opravný termín

Vzorový test

Riadny termín
Opravný termín

Plán semestra

  • Úvod, Bjarne, lokálne premenné, preťažovanie funkcií, referencia &, univerzálna referencia &&, const * const, kompilácia C++ kódu. Prednáška

  • Nedefinované správanie, typová bezpečnosť, menné priestory, organizácia pamäte, C++ zásobník, zásobník, fronta, zreťazený zoznam. Prednáška

  • Zložitosť, Bubble sort, insertion sort, quick sort, merge sort. Prednáška

  • O notácia, stabilné triedenie, heap sort. Prednáška

  • nullptr, trieda, objekt, konštruktor, deštruktor. Prednáška

  • string, uniformná inicializácia, konverzný konštruktor, preťažovanie operátorov, kopírovanie (copy), presúvanie (move). Prednáška

  • auto, decltype, STL, vector, iterátory, výnimky. Prednáška

  • Indexovanie, array, deque, stack, queue, map, multimap, set, multiset, binárny vyhľadávací strom. Prednáška

  • Hašovanie, unordered kontajner, odvodená trieda, virtuálna metóda, inline, friend, const metóda. Prednáška

  • Hľadanie do hĺbky, hľadanie do šírky, najkratšia cesta v grafe, Dijkstrov algoritmus. Prednáška

  • = delete, virtuálna trieda, friend trieda, komparátor, polymorfizmus, template, virtuálny deštruktor, override, final. Prednáška

  • constexpr, C++ pretypovanie, chytré smerníky, emplace/emplace_back, záver. Prednáška

Podmienky absolvovania

Priebežné hodnotenie: 3×10 bodov, min. 15 bodov na získanie zápočtu.
Skúška: 70 bodov.

News and links

http://mifeet.alpaka.cz/algo/algorithms.swf (animácie rôznych algoritmov)

http://www.algoritmy.net (rôzne témy súvisiace s programovaním)

http://www.exfort.org/dsa/quick/dsa_quicksort.swf (quick sort (http://www.exfort.org/dsa/quick/index.htm))

Úlohy na riešenie

A1. Naimplementuj zreťazený zoznam.
A2. Naimplementuj zásobník (stack).
A3. Naimplementuj frontu (queue).
A4. Naimplementuj výmenu (swap) na zreťazenom zozname.