aplikacja Matura google play app store

zadania z informatyki - Analiza algorytmów

Zadanie: 1 2 3 4 5 6 7 8 9 10
Zadanie 6.
Wiązka zadań Od szczegółu do ogółu
Rozważmy następujący algorytm:

Dane:
kliczba naturalna,
A[1...2k] — tablica liczb całkowitych.

Algorytm 1:
n ← 1
dla i=1,2,…,k wykonuj
n ← 2⋅n
s ← 1
dopóki s < n wykonuj
j ← 1
dopóki j < n wykonuj
(*) jeżeli A[j]>A[j+s]
(**) zamień(A[j],A[j+s])
jj+2⋅s
s ← 2⋅s
zwróć A[1]

Uwaga: Funkcja zamień(A[j],A[j+s]) zamienia miejscami wartości A[j] oraz A[j+s].
Zadanie 6.1.
Prześledź działanie algorytmu 1 dla podanych poniżej wartości k i początkowych zawartości tablicy A. W każdym wierszu poniższej tabeli wpisz końcową zawartość tablicy A.

k Początkowa zawartość tablicy A[1...2k] Końcowa zawartość tablicy A[1...2k]
2 [4, 3, 1, 2] [1, 4, 3, 2]
2 [2, 3, 4, 1]  
3 [1, 2, 3, 4, 5, 6, 7, 8]  
3 [8, 7, 6, 5, 4, 3, 2, 1]  
3 [4, 5, 6, 1, 8, 3, 2, 4]  
Zadanie 6.2.
Wskaż, które z poniższych zdań są prawdziwe, a które fałszywe.
Po zakończeniu działania algorytmu 1 komórka A[2k] zawiera największą z liczb A[1],…, A[2k].
Po zakończeniu działania algorytmu 1 spełniona jest nierówność A[i] ≤ A[i+1] dla każdego i, takiego że 1 ≤ i ≤ 2k.
Po zakończeniu działania algorytmu 1 komórka A[1] zawiera najmniejszą z liczb A[1],…, A[2k].
Zadanie 6.3.
Wskaż, które z poniższych zdań są prawdziwe, a które fałszywe. Przyjmij, że n = 2k oraz k > 1:
Instrukcja jeżeli w wierszu (*) jest wykonywana mniej niż 2n razy.
Instrukcja jeżeli w wierszu (*) jest wykonywana mniej niż n/2 razy.
Możliwe jest dobranie takiej początkowej zawartości A[1..2k], że instrukcja zamiany z wiersza (**) nie zostanie wykonana ani razu.
Możliwe jest dobranie takiej początkowej zawartości A[1..2k], że instrukcja zamiany z wiersza (**) zostanie wykonana co najmniej 2n2 razy.
Zadanie 6.4.
Rozważmy poniższy algorytm podobny do algorytmu 1.
Wejście:
kliczba naturalna,
A[1...2k] — tablica liczb całkowitych.
Algorytm 2:
n ← 1
dla = 1,2,…,k wykonuj
n ← 2⋅n
s ← 1
dopóki s < n wykonuj
j ← 1
dopóki j < n wykonuj
(*) jeżeli A[j]>A[j+1]
zamień(A[j],A[j+1])
j+ 1
s+ 1
zwróć A[1], A[2],…,A[n]

Uwaga: Funkcja zamień(A[j],A[j+1]) zamienia miejscami wartości A[j] oraz A[j+1].
Uzupełnij luki w poniższych zdaniach. Przyjmij n = 2k oraz k > 1.
Po zakończeniu działania algorytmu 2 element A[i] jest .........................
niż element A[i+1] dla każdego i większego od .........................
oraz mniejszego od .........................

Wiersz (*) algorytmu 2 wykonywany będzie w przebiegu algorytmu
• ..................................... niż n razy,
• ..................................... niż n2 razy.
Poprzednia strona Następna strona

źródło: CKE
Polityka Prywatności