• Nie Znaleziono Wyników

Algorytmy i Struktury Danych A Egzamin, 28 stycznia 2008 (max 40p.)

N/A
N/A
Protected

Academic year: 2021

Share "Algorytmy i Struktury Danych A Egzamin, 28 stycznia 2008 (max 40p.)"

Copied!
4
0
0

Pełen tekst

(1)

Algorytmy i Struktury Danych A

Egzamin, 28 stycznia 2008 (max 40p.)

1 2 3 4 5 6 suma

Nazwisko ……….… Numer indeksu ……….

1. (2+1+2+2) Dany jest graf niezorientowany G (rysunek poniżej).

(a) Przedstaw kolejne stany lasu rozpinającego, tworzonego w czasie działania algorytmu Kruskala zastosowanego do tego grafu.

(b) Wylicz koszt otrzymanego drzewa ………

(c) Jaki jest koszt algorytmu Kruskala, jeśli kolejka priorytetowa została zrealizowana jako kopiec, a podział zaimplementowano na drzewach z balansowaniem i kompresją ścieżek?

……….………..

(d) Czy dla dowolnego grafu koszt drzewa rozpinającego uzyskanego metodą Kruskala nie jest zawsze taki sam jak koszt drzewa najkrótszych ścieżek z ustalonego źródła, otrzymanego metodą Dijkstry?

(odpowiedź uzasadnij)

……….………..

(2)

2. (2+2+2) Dany jest plik tekstowy T, w którym występują jedynie znaki a, b, c, d, e, f, g.

ilość wystąpień

A 200

B 210

C 290

D 20

E 40

F 80

G 160

rozmiar pliku po zakodowaniu (w bitach) kod stałej dł.

kod zmiennej dł.

(a) Zaproponuj kodowanie tekstu T optymalnym kodem stałej długości, wylicz rozmiar pliku po zakodowaniu i wpisz do tabelki.

(b) Narysuj drzewo kodowe Huffmana oraz wpisz do tabelki odpowiadające znakom kody i rozmiar pliku po zakodowaniu.

(c) Wytłumacz pojęcie kod prefiksowy.

……….………..

3. (4x1 + 2p) Oszacuj koszt każdego z wymienionych algorytmów zastosowanych do ciągu złożonego z n liczb trzycyfrowych uporządkowanych rosnąco. W każdym z podanych przypadków napisz, jaka była miara kosztu.

(a) algorytm SelectionSort ……….…...….. (b) algorytm HeapSort ...…..………

(c) algorytm RadixSort …….…….………... (d) algorytm binarnych poszukiwań …..…...…..……...

(e) Uporządkuj rosnąco funkcje kosztu wymienionych algorytmów ………....

(3)

4. (2+1+2+3) Utwórz drzewo-kopiec (typu min), przez kolejne wstawianie liczb 5, 7, 2, 9, 1, 8, 6, 0.

(a) Narysuj kolejne etapy tworzenia tego drzewa.

(b) Narysuj drzewo otrzymane po usunięciu elementu minimalnego.

(c) Stosując algorytm budowy kopca w tablicy, utwórz kopiec (typu min) w tablicy, w której początkowo znajdują się elementy 5, 7, 2, 9, 1, 8, 6, 0.

(d) Przedstaw ideę algorytmu sortowania z użyciem kopca i oszacuj jego koszt.

(4)

5. (2+1+2+2) Drzewo BST utworzono przez kolejne wstawianie elementów 5, 3, 7, 4, 9, 6, 10, 2, 8, 1.

(a) Narysuj to drzewo.

(b) Usuń korzeń utworzonego w punkcie (a) drzewa.

(c) Wylicz wagi wierzchołków. Czy otrzymane drzewo jest drzewem wyważonym? Jeśli nie to napisz, jaką rotację (i względem którego wierzchołka) trzeba zastosować, aby uzyskać drzewo AVL?

(d) Narysuj otrzymane po jej zastosowaniu drzewo.

6. (2+2+2) Dane są dwa n elementowe podzbiory zbioru liczb rzeczywistych X i Y oraz liczba rzeczywista z. Zaproponuj algorytm o koszcie O(n lg n), który bada, czy istnieją takie wartości x i y, że x należy do X i y należy do Y oraz x + y = z.

(a) Przedstaw słowami ideę algorytmu.

(b) Napisz pseudokod realizujący opisaną ideę.

(c) Uzasadnij, że koszt podanego algorytmu jest zgodny z wymaganiami.

Cytaty

Powiązane dokumenty

Jeśli element e należy do kolejki q, to po skończonej liczbie usunięć kolejnych elementów minimalnych.. dotrę do tego

takie drzewo <V, T> rozpinające grafu G, że suma kosztów jego krawędzi  eT c (e) jest najmniejsza.. Mirkowska, ASD_12 Algorytmy na

Niech będzie tekst 100000 znakowy, w którym występują tylko litery a,b,c,d,e,f i a-45tys razy, b-13tys., c-12tys.,.. d-16tys., e -

Powiemy, że problem jest rozstrzygalny, jeśli istnieje algorytm, który dla dowolnych danych x po skończonej liczbie kroków daje rozwiązanie problemu. W przeciwnym

Jaki jest koszt wyszukania dowolnego elementu, jeśli elementy ciągu zostały wcześniej umieszczone jako etykiety drzewa BST, a dostępne operacje, to operacje w strukturze

Dowód przez indukcję ze względu na liczbę wywołań rekurencyjnych funkcji min_max.. Dla jednego tylko wywołania

Problem Dany jest ciąg rosnący e[1],..,e[n] oraz element x pewnej przestrzeni liniowo uporządkowanej <E, >. Następnie porównujemy x z kolejnymi elementami ciągu

Każde drzewo decyzyjne dla algorytmu sortującego ciąg n- elementowy przez porównywanie elementów, ma co najmniej wysokość log