I kolokwium(1), Informatyka PWr, Algorytmy i Struktury Danych, Algorytmy i Struktury Danych, kolokwia i egzaminy


Zestaw I

  1. Napisz funkcję tworzącą prostą jednokierunkową listę o wartościach: N, N-1,....,1.

  2. Napisz funkcję przesuwającą wskazany element o jedną pozycję w kierunku końca prostej dwukierunkowej listy.

  3. Co robi następująca funkcja (jaki jest efekt jej działania i co jest wynikiem - nie opisywać jak działa)?
    Wsk f(Wsk &a, unsigned int k)
    {if(k) return f(a->nast, --k); Wsk e=a; a=a->nast; e->nast=NULL; return e;}
    Jakie powinno być k, aby funkcja działała prawidłowo?

  4. Jak będzie wyglądała kolejka priorytetowa zrealizowana za pomocą stogu z wartościami od A do Z (A oznacza najwyższy priorytet) oraz jakie wartości pobierano kolejno z kolejki przy następującym ciągu działań (litera oznacza wstawienie elementu do kolejki, a - pobranie z kolejki)? DO-KOL-EJK-I-

  5. Dane są dwie proste jednokierunkowe uporządkowane listy różnowartościowe. Połącz je w jedną (też różnowartościową i uporządkowaną) listę zawierającą tylko te elementy, które nie występują na obu listach jednocześnie.

Zestaw II

  1. Napisz funkcję wstawiającą dany element przed wskazany element prostej dwukierunkowej listy.

  2. Co robi następująca funkcja (jaki jest efekt jej działania i co jest wynikiem - nie opisywać jak działa)?
    int f(Wsk &a, Wsk &e)
    {if(a) return 1+f(a->nast, e); e->nast=a; a=e; e=NULL; return 1;}

  3. Jak będzie wyglądała kolejka priorytetowa zrealizowana za pomocą stogu z wartościami od A do Z (A oznacza najniższy priorytet) oraz jakie wartości pobierano kolejno z kolejki przy następującym ciągu działań (litera oznacza wstawienie elementu do kolejki, a - pobranie z kolejki)? DOK-OLEJK-I—

  4. Dane są dwie proste jednokierunkowe uporządkowane listy różnowartościowe. Połącz je w jedną (też różnowartościową i uporządkowaną) listę zawierającą tylko te elementy pierwszej listy, które nie występują na drugiej.

  5. Napisz funkcję usuwającą co drugi element prostej jednokierunkowej listy.

Zestaw III

  1. Napisać funkcję zwalniającą pamięć zajmowaną przez prostą, jednokierunkową listę o początku poc.

  2. Jak będzie wyglądał stos tonący o pojemności 4 po wykonaniu ciągu operacji: NaStos(1), NaStos(2), NaStos(3), ZeStosu, NaStos(4), NaStos(5), NaStos(6), NaStos(7), ZeStosu ?

  3. Napisać funkcję dołączającą prostą, jednokierunkową listę b, na koniec listy a.

  4. Napisać funkcję wstawiającą element o adresie x, przed element o adresie t na liście dwukierunkowej o początku poc.


Zestaw IV

  1. Napisać funkcję tworzącą kopię prostej, jednokierunkowej listy o początku poc.

  2. Jak będzie wyglądała nieuporządkowana kolejka priorytetowa (mniejsza wartość - wyższy priorytet) po wykonaniu ciągu operacji: DoKol(1), DoKol(12), DoKol(3), ZKol, DoKol(1), DoKol(5), ZKol, DoKol(6), DoKol(2), ZKol ? Wypisać jakie elementy pobierano z kolejki.

  3. Napisać funkcję dołączającą cykliczną, jednokierunkową listę b, do takiej samej listy a.

  4. Napisać funkcję wstawiającą element o adresie x, po elemencie o adresie t na liście jednokierunkowej o początku poc. (t = NIL oznacza wstaw na początek).


Zestaw V

  1. Napisać funkcję tworzącą prostą, jednokierunkową listę zawierającą kolejno elementy o wartościach od 1 do N.

  2. Jak będzie wyglądała nieuporządkowana kolejka priorytetowa (większa wartość - wyższy priorytet) po wykonaniu ciągu operacji: DoKol(1), DoKol(12), DoKol(3), ZKol, DoKol(1), DoKol(5), ZKol, DoKol(6), DoKol(2), ZKol ? Wypisać jakie elementy pobierano z kolejki.

  3. Napisać funkcję odwracającą kolejność elementów na prostej, jednokierunkowej liście a.

  4. Napisać funkcję usuwającą element leżący po elemencie o adresie t na liście jednokierunkowej o początku poc. (t = NIL oznacza usuń pierwszy).



Wyszukiwarka