Algorytmy i złożoność: karta pracy z odpowiedziami

Darmowa karta pracy do druku – Algorytmy i złożoność: 8 zadań od łatwych do poziomu egzaminu, z kluczem odpowiedzi. Wydrukuj ją lub zapisz jako PDF.

Dla nauczycieli: można bezpłatnie drukować, kopiować i używać na zajęciach. Każdy nowy arkusz ma nowe wartości i własny klucz odpowiedzi. Będziemy wdzięczni za link do ExamProblems na stronie kursu.

Imię: ____________________   Data: ____________

1.Łatwy

Jaką złożoność ma zwykle algorytm z dwiema zagnieżdżonymi pętlami, z których każda wykonuje się n razy?

  1. AO(log n)
  2. BO(n)
  3. CO(2n)
  4. DO(n²)
2.Łatwy

Który algorytm sortowania wielokrotnie zamienia miejscami sąsiednie elementy ustawione w złej kolejności?

  1. ASortowanie bąbelkowe
  2. BSortowanie przez scalanie
  3. CSortowanie przez kopcowanie
  4. DSortowanie szybkie (quicksort)
3.Łatwy

Czego wyszukiwanie binarne wymaga od danych wejściowych?

  1. ADługość tablicy musi być potęgą dwójki
  2. BTablica może zawierać tylko liczby dodatnie
  3. CTablica musi być posortowana
  4. DTablica może mieć najwyżej 1000 elementów
4.Średni

Jaka jest złożoność czasowa obliczania n-tej liczby Fibonacciego za pomocą tablicy wypełnianej wstępująco (bottom-up)?

  1. AO(2ⁿ)
  2. BO(log n)
  3. CO(n)
  4. DO(n²)
5.Średni

Jaka jest złożoność czasowa algorytmu Bellmana–Forda dla grafu o V wierzchołkach i E krawędziach?

  1. AO(V + E)
  2. BO(E log V)
  3. CO(V³ × E)
  4. DO(V × E)
6.Średni

Dlaczego wiele bibliotecznych procedur sortowania przełącza się na sortowanie przez wstawianie dla bardzo małych podtablic?

  1. ASortowanie przez wstawianie ma mały narzut i jest szybkie dla małych lub prawie posortowanych danych
  2. BSortowanie przez wstawianie jest O(n log n) w najgorszym przypadku
  3. CSortowanie przez wstawianie zużywa mniej pamięci niż każdy inny algorytm sortowania dla dużych danych
  4. DAlgorytmy rekurencyjne nie radzą sobie z tablicami poniżej 10 elementów
7.Trudny

Problem stopu pokazuje, że:

  1. AŻaden algorytm nie może rozstrzygnąć dla każdego programu i danych wejściowych, czy program się zatrzyma
  2. BKażdy program w końcu się zatrzymuje
  3. CNiektóre programy działają szybciej na szybszych komputerach, więc zatrzymanie zależy od sprzętu
  4. DNależy unikać pętli
8.Trudny

Mnożenie Karacuby spełnia T(n) = 3T(n/2) + O(n). Jakie jest rozwiązanie?

  1. AΘ(n log n)
  2. BΘ(n3)
  3. CΘ(nlog₂ 3), około n1,585
  4. DΘ(n²)

Klucz odpowiedzi

  1. 1. D · O(n²)
  2. 2. A · Sortowanie bąbelkowe
  3. 3. C · Tablica musi być posortowana
  4. 4. C · O(n)
  5. 5. D · O(V × E)
  6. 6. A · Sortowanie przez wstawianie ma mały narzut i jest szybkie dla małych lub prawie posortowanych danych
  7. 7. A · Żaden algorytm nie może rozstrzygnąć dla każdego programu i danych wejściowych, czy program się zatrzyma
  8. 8. C · Θ(nlog₂ 3), około n1,585

Pełne rozwiązania krok po kroku: ćwicz ten temat na examproblems.com.