« poprzedni punkt   następny punkt »

Ćwiczenia do wykładu asd 06

       

  1. Dana jest struktura algebraiczna dwusortowa 
                                    <{1,2,...,n}+ P({1,2,...,n}); add, supr; empty, mb>,

w której operacje są określone  następująco: dla dowolnego zbioru XÎP({1,2,...,n}) oraz dowolnego i Î{1,2,...,n}

    Zaproponuj taką implementację tej struktury, by wszystkie operacje mogły być zrealizowane z kosztem stałym O(1).

Wskazówka: Tablica booleowska + lista .

  1. Zaproponuj implementację struktury danych   <E+L; add,supr,min,cut>,  która pozwala na wykonywanie następujących operacji na listach

tak by wszystkie operacje były wykonywane z kosztem stałym O(1).

Wskazówka: Dwa stosy: stos elementów listy + stos elementów minimalnych

  1. Zaproponuj strukturę danych, która pozwala wykonywać następujące operacje z kosztem stałym:

Wskazówka: Lista dwukierunkowa z dwoma wskaźnikami na początek i koniec oraz parametrem kierunek listy.

  1. Zaproponuj implementację struktury kolejek FIFO w strukturze stosów, tzn.  podaj algorytmy wykonywania operacji na kolejkach, jeśli do dyspozycji mamy tylko stosy i operacje na nich (top, pop, push, empty) oraz możliwość utworzenia nowego pustego stosu.
     

  2. Zaproponuj implementację struktury stosów w strukturze kolejek FIFO, tzn.  podaj algorytmy wykonywania operacji na stosach posługując się jedynie obiektami typu kolejka i operacjami in, out, first, empty  charakterystycznymi dla struktury FIFO.
     

  3. Koło graniaste”. Dzieci stoją w kole i wypowiadają kolejno słowa pewnej wyliczanki. Dziecko, które wypowiada ostatnie słowo, odchodzi z koła. Zabawa jest kontynuowana począwszy od następnego w kolejności dziecka.
    • Zaproponuj strukturę danych pozwalającą opisać sytuację w tej zabawie.
    • Napisz algorytm, który dla danego zbioru dzieci i wyliczanki wyznacza kolejność ich odchodzenia z koła.

     

     

     

     

 
« poprzedni punkt   następny punkt »