Vous êtes sur la page 1sur 2

FIT-Mostar 1.

PARCIJALNI ISPIT IZ PREDMETA ALGORITMI I STRUKTURE PODATAKA

Prezime i ime (itko i velikim slovima):______________________________ Datum: 18.04.2007. Broj. indeksa:______________________ Potpis:_______________________

1. Napiite kompleksnost u big-O notaciji za datu funkciju ZbrojCifri() s obzirom na ulazni argument n. Ukratko obrazloite va odgovor.

int ZbrojCifri (int n) { long zbroj = 0; while (n > 0) { zbroj += n % 10; n /= 10; } } Gornja funkcija zbraja cifre ulaznog cijelog broja. 2. Na primjeru slijedeeg niza: 3, 4, 7, 10, 16, 21, 30, 31, 38, 40 i pronalaenju broja 7 objasnite binarno pretraivanje. Nacrtajte pojedine faze pretraivanja. 3. Pretpostavimo da postoji neki stek u koji se moe smjestiti maksimalno 100 cjelobrojnih elemenata. Napiite C++ kod za funkcije IsFull(), Push(), IsEmpty(), Pop(). a) Funkcija IsFull() ispituje da li je stek pun i ima slijedei prototip: bool IsFull(Stack *S) b) Funkcija Push() ubacuje element u stek i ima slijedei prototip: void push(Stack *S, int val) Ako je stek pun funkcija ne ubacuje broj i ispisuje poruku: Stek je pun.

c) Funkcija IsEmpty() ispituje da li je stek prazan i ima slijedei prototip: bool IsEmpty(Stack *S) d) Funkcija Pop() izbacuje element iz steka i ima slijedei prototip: int pop(Stack *S) Pretpostaviti da je za implementaciju steka S koritena slijedea struktura: typedef struct

{ int v[100]; int top; } Stack;

4. Pretpostavimo da postoji neki red u koji se moe smjestiti maksimalno 49 cjelobrojnih elemenata. Napiite C++ kod za funkcije IsEmpty() i Pop(). a) Funkcija IsEmpty() ispituje da li je red pun i ima slijedei prototip: bool IsEmpty(Red *R)

b) Funkcija Pop() izbacuje element iz reda i ima slijedei prototip: bool Pop(Red *R, int& TopElem) Funkcija vraa true ako je izbacivanje uspjeno (red nije prazan). Inae vraa false. Ako je red prazan funkcija ispisuje poruku red je prazan. Pretpostaviti da je za implementaciju reda R koritena slijedea struktura: typedef { int int int } Red; struct v[50]; Head; Tail;

5. Napiite C++ kod za rekurzivnu funkciju Zbroji() koja kao argument uzima neki cijeli broj n a vraa zbroj cijelih brojeva od 1 do n koji su djeljivi sa 3. Prototip funkcije je: int Zbroji (int n) Na primjer, ako je n=8, funkcija e vratiti 9 (3+6).

Vous aimerez peut-être aussi