BPC-ALD_Zpracované_otazky_ke_zkousce
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
int eukl (int u, int w) {
while (w! = 0) {
int r = u % w;
u = w;
w = r; }
return u; }
36 mod 15 = 6
15 mod 6 = 3
6 mod 3 = 0
NSD = 3
Přednáška 2: Rekurze (Ing. Ondřej Boštík)
1. Napište definici rekurze (+)
Funkce volá sama sebe
Opakované vnořené volání funkce
Vždy obsahuje ukončovací podmínku, kdy se zastaví vnořování
2. Popište obvyklý průběh vyhodnocení rekurzivní funkce. (++)
Vstup x, test konečné podmínky, rekurentní volání s upraveným x, návrat do předch. Úrovně
3. Napište rekurzivní a nerekurzivní algoritmus pro výpočet hodnoty faktoriálu čísla N. (+++)
Pozn: N ... aVal
unsigned long long fakt_rec(unsigned long long aVal)
{
if (aVal < 2) /* Ukončovací podmínka */
return 1;
else
return (aVal * fakt_rec(aVal - 1));
}
unsigned long long fakt_nonrec(unsigned long long aVal)
{
if (aVal < 2)
return 1;
else {
unsigned long long fakt = 1;
for (; aVal > 1; --aVal)
{
fakt *= aVal;
}
return fakt;
}
}
Přednáška 3: Lineární seznamy základy (Ing. Miloš Richter, Ph.D.) jjhj
1. Co je to lineární seznam, k čemu slouží, z jakých částí se skládá? (++)
Lineární dynamická datová struktura, je budován postupně, paměť pro něj není na rozdíl od pole přidělena najednou,
ale je alokována samostatně pro každý ukládaný prvek, protože je paměť pro každý prvek přidělována samostatně,
nejsou na rozdíl od pole prvky v paměti uloženy za sebou, ale víceméně nahodile na různých místech. S každým prvkem
ukládáme ještě ukazatel na místo v paměti kde je uložen. Této dvojici (prvek + ukazatel) v seznamu říkáme uzel.