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.
u velkých polí časově dost náročné). Nicméně složitost odebrání prvku z daného indexu je pro oba případy
lineární (O(n)).
Pozn.:
Pokud chceme u lin. seznamu odebrat první prvek, složitost je konstantní (O(1)).
Přednáška 4: Datové typy a proměnné (Ing. Ondřej Boštík)
1. Vysvětlete význam mezi homogenními a heterogenními proměnnými. (+)
Homogenní = stejnorodý, skládá se z prvků stejného typu ( char pole[10] =>
10 stejnych typů v jedné proměnné)
Heterogenní = různorodý, skládá se z prvků různého typu, např. Struktura =>
obsahuje několik proměnných různých typů
Přednáška 5: Abstraktní datové typy (Ing. Ondřej Boštík)
1. Máme zadán lineárně vázaný seznam. Máme ukazatele na začátek iHead a na konec iTail tohoto
seznamu a dva ukazatele iA a iB ukazující na obecné místo v seznamu. (Přičemž vždy platí, že ukazatel iB
směřuje na prvek, který je v lin. seznamu umístěn až za prvkem na který směřuje ukazatel iA.) Napište kód
v jazyce C, který: (+++) //obousměrný, protože máme ukazatele na začátek i na konec
//Změna, v novém zadaní je seznam pouze jednosměrný!!! (Turoň)
a. Odebere poslední prvek ze seznamu. (Stejskal)struct TListNode *p_old = aList->iTail; //p_old ukazuje na poslední uzel
aList->iTail = p_old->iPrev;
//iTail ukazuje na předposlední uzel
aList->iTail->iNext = NULL;;
//Původně předposlední uzel musí ukazovat na NULL (bude posledním)
(Wójcik) +1
free(p_old);
//”Na konci (a začátku) seznamu musí být definována zarážka označující konec seznamu.” (Wiki)
(Wójcik) +3
b. Odebere první prvek ze seznamu. (Stejskal)struct TListNode *p_old = aList->iHead; //p_old ukazuje na první uzel
aList->iHead = p_old->iNext; //iHead ukazuje na druhý uzel
aList->iHead->iPrev = NULL; (Wójcik)
free(p_old);