ALG7

ALG7



2.9. Zadania 47

2.9.Zadania

Wybór reprezentatywnego dla rekurencji zestawu zadań wcale nie był łatwy dla autora tej książki - dziedzina ta jest bardzo rozległa i w zasadzie wszystko w niej jest w jakiś sposób interesujące... Ostatecznie, co zwykłem podkreślać^ zadecydowały względy praktyczne i prostota.

Zad. 2-1

Załóżmy, że chcemy odwrócić w sposób rekurencyjny tablicę liczb całkowitych. Proszę zaproponować algorytm z użyciem rekurencji „naturalnej”, który wykona to zadanie.

Zad. 2-2

Powróćmy do problemu poszukiwania pewnej zadanej liczby .v w tablicy, tym razem jednak posortowanej od wartości minimalnych do maksymalnych. Metoda poszukiwania, bardzo znana i efektywna, (tzw. przeszukiwanie binarne) polega na następującej obserw acj i:

podzielmy tablicę o rozmiarze n na połowę:

•    t[0], t[l]... t[n/2-1], t[n/2], t[n/2+l]... t[n-l]

•    jeśli v=t[n/2J, to element .r został znaleziony';

•    jeśli Jc<t[n/2], to element x być może znajduje się w' „lewej połow ic” tablicy; analizuj ją;

•    jeśli *>tLn/'2J, to element .v być może znajduje się w „prawej połowie" tablicy; analizuj ją.

Wyrażenie być może daje nam furtkę bezpieczeństwa w przypadku niepowodzenia poszukiwania. Zadanie polega na napisaniu dw'óch wersji funkcji realizującej powyższy algorytm, jednej używającej rekurencji naturalnej i drugiej — dla odmiany - nierekurencyjnej.

Rysunek 2-9 prezentuje działanie algorytmu dla następujących danych:

•    12-elementowa tablica zawiera liczby: 1. 2, 6, 18, 20, 23, 29, 32, 34, 39. 40,41;

•    szukamy liczby 18.

W C++ dzielenie całkowite „obcina” wynik do liczby całkowitej (odpowiednik div w Pascalu).


Wyszukiwarka

Podobne podstrony:
ALG7 3.8. Zadania 77b)    T(n2) e 0(«3); c)    7’(2"+l) e 0(2&qu
skanuj0084 (25) •Witruwiusz 75 wszystkim trzeba się starać o to, by dostęp do muru nie był łatwy dla
skanuj0084 (25) •Witruwiusz 75 wszystkim trzeba się starać o to, by dostęp do muru nie był łatwy dla
34 Badanie powierzchni ziemi. Pozbyć się pomyłki tak niesłychanej, nie było to zadanie łatwe nawet d
problems c Zadania.nb 3 10 . Dla funkcji f (x, y) = 2 x2 - xy + y2 wyznaczyć, w oparciu o a f d f de
IMGd32 ODPOWIEDŹ: Pm, = 168kN Zadanie 4.5. Dobrać wymiary b, h i e dla układu podanego na ryt. 43. b
kolejne zadania3 ® Odp. q = — 1 P — 2 29. Dla jakich wartości m równanie m + 5x + cos (x —
skanowanie0024(1) Zadanie 38. MDJ dla chlorowodorku efedryny podanego doustnie wynosi 0,05. Jakg mak
skanuj0003 Egzamin z analizy (I semestr), termin 1 29.01.2009 Zadanie 1.    (a) Przyp
logika (22) Zadania egzaminacyjne z logiki dla JJI grupy - egzaminator dr Marek Leśniak (zadania obo
Foto7 _ZADANIE „Archiwizacjo stanu wejść"_ Zapisać wFC14 program archiwizujący stan wszystkich

więcej podobnych podstron