You are on page 1of 310

Započeto ponedjeljak, 1. veljače 2021.

, 18:30
Stanje Završeno
Završeno ponedjeljak, 1. veljače 2021., 19:11
Proteklo vrijeme 40 min 39 s
Ocjena 97,00 od maksimalno 100,00

Pitanje 1 Točno Broj bodova: 2,00 od 2,00

Vremenska složenost sekvencijalnog pretraživanja je O( n ).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 2 Točno Broj bodova: 2,00 od 2,00

Sortiranje podataka je jednake vremenske složenosti kao i pretraživanje.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 3 Točno Broj bodova: 2,00 od 2,00

Povezane liste uz svaki podatak koriste i dodatnu memorijsku adresu kako bi se znalo gdje je sljedeći podatak.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 4 Točno Broj bodova: 2,00 od 2,00

Ako povezana lista ima pokazivače na prvog i na zadnjeg, onda možemo trenutačno (u vremenu O(1)) obrisati zadnji podatak.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 5 Točno Broj bodova: 2,00 od 2,00

Svaki rekurzivni problem bi se trebao moći rede nirati pomoću jednog ili više manjih podproblema koji su po prirodi identični, ali manji po veličini.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 6 Točno Broj bodova: 2,00 od 2,00

U slučaju da nemamo osnovni slučaj, rekurzivna funkcija će pozivati samu sebe beskonačno puta.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 7 Točno Broj bodova: 2,00 od 2,00

Postoje tri vrste obilaska binarnog stabla po širini.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 8 Točno Broj bodova: 2,00 od 2,00

Stablo se u memoriji prikazuje pomoću jednog niza i jednog pokazivača.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 9 Točno Broj bodova: 2,00 od 2,00

Desni nasljednik od i-tog čvora u hrpi se nalazi po formuli 2*i+1, ukoliko je to manje od broja elemenata hrpe.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

/
Pitanje 10 Točno Broj bodova: 2,00 od 2,00

Hrpa sa N čvorova (N>10) može imati u najgorem slučaju N razina.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 11 Točno Broj bodova: 4,00 od 4,00

Zadan je dio programa u C-u koji je napisan prema algoritmu binarnog pretraživanja. Napisani su i brojevi linija. Međutim, u jednoj liniji se nalazi greška. U kojoj?

1. dg = 0;
2. gg = N-1;
3. for (;;) {
4. s = dg+gg/2;
5. if (V[s]==x) {
6. printf( "%d Pronadjen! Na %d. poziciji u nizu.\n", x, s );
7. exit( 0 );
8. }
9. if (x<V[s]) gg = s-1;
10. if (x>V[s]) dg = s+1;
11. if (dg>=gg) {
12. printf( "%d nije pronadjen!\n", x );
13. exit( 1 );
14. }
15. }

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 4

Ispravan odgovor je: 4

Pitanje 12 Točno Broj bodova: 4,00 od 4,00

Pristup elementu kod povezanih lista ima složenost O( n ). Ovakva složenost se još naziva i linearna složenost.

Pitanje 13 Točno Broj bodova: 4,00 od 4,00

Ako je zadana rekurzivna funcija koja računa faktorijele: int fakt( int n ), koliko će biti rekurzivnih poziva ako ju pozovemo s fakt( 855 )?

Odgovor: 855

Ispravan odgovor je: 855

/
Pitanje 14 Točno Broj bodova: 4,00 od 4,00

Stablo kod kojeg sve razine moraju biti popunjene, osim zadnje razine koja mora biti popunjena s lijeva na desno se naziva:

Odaberite jedan odgovor:


a. Hu manovo binarno stablo

b. Opće stablo

c. Prošireno binarno stablo

d. Potpuno binarno stablo

e. Poredano binarno stablo

Vaš odgovor je točan.

Ispravan odgovor je: Potpuno binarno stablo

Pitanje 15 Točno Broj bodova: 4,00 od 4,00

Neka je zadana procedura void UHRPI(int i) koja uhrpljava čvor na i-tom mjestu prema algoritmu koji smo učili na predavanju i procedura zamjeni(..) koja
zamjenjuje mjesta dva elementa u zadanom nizu V od N elemenata. NH je broj elemenata hrpe.

Prema algoritmu za soritranje koristeći hrpu dana je sljedeća procedura u C-u:

1. void HeapSort() {
2. int i;
3. NH = N;
4. for (i=NH/2; i>=0; i--) UHRPI( i );
5. for (i=NH-1; i>=1; i--) {
6. zamjeni( &V[i], &V[i-1] );
7. NH--;
8. UHRPI( 0 );
9. }}
Međutim ova procedura ima grešku. Napišite u kojoj je liniji greška!

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 6

Ispravan odgovor je: 6

Pitanje 16 Točno Broj bodova: 5,00 od 5,00

U funkciji HEAP SORT koja sortira podatke koristeći hrpu dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void HeapSort(int arr [] , int n) {

for (int i = n / 2 - 1; i >= 0; i--) heapify(arr, n, i);

for (int i = n - 1; i >= 0; i-- ) {

Swap(&arr[0], &arr[ i ]);

heapify (arr, i, 0);

/
Pitanje 17 Točno Broj bodova: 5,00 od 5,00

U funkciji koja sortira povezanu listu dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void sortiraj(ppopis *glava){

ppopis *temp1;
temp1 = new ppopis;
ppopis *temp2;
temp2 = new ppopis;

int temp=0;

for(temp1 = glava ;temp1!= NULL ;temp1=temp1->next){

for(temp2= temp1 ->next;temp2!= NULL ;temp2=temp2->next){

if(temp1->broj > temp2->broj){

temp = temp1 ->broj;

temp1->broj = temp2->broj;
temp2->broj=temp;
}
}
}
}

Pitanje 18 Djelomično točno Broj bodova: 2,00 od 5,00

U funkciji za obilazak stabla dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void preOrder (struct cvor* root){

if( root==NULL ) return ;

else{

printf( "%d ",root->x );

preOrder( root-> lijevi );

preOrder( root-> desni );

Pitanje 19 Točno Broj bodova: 5,00 od 5,00

Dana je funkcija koja generira slučajni niz sastavljen od nula i jedinica, tako da se ne mogu pojaviti više od 3 uzastopne jedinice. Popunite polja koja nedostaju tako da programski
kod radi ispravno.

void gen_array(int *a, int n) {

int uzast1=0;

for (int i=0; i<n; i++) {

a[i] = rand()% 2 ;

if (a[i] == 1) uzast1++;

if (uzast1> 3 ) {

a[i] = 0 ;

uzast1 = 0 ;

/
Pitanje 20 Točno Broj bodova: 10,00 od 10,00

Što će ispisati sljedeći program:

#include <stdio.h>
#include <stdlib.h>

struct oe_ { int x; struct oe_ *sljedeci; };


typedef struct oe_ oe;

void ubaci( oe **t, int novix ) {


oe *novi = (oe *)malloc( sizeof(oe) );
novi->x = novix;
novi->sljedeci = *t;
*t = novi;
}

int main() {
oe *p1 = NULL, *p2=NULL, *t1, *t2;
ubaci( &p1, 1 );
ubaci( &p2, 2 );
ubaci( &p1, 3 );
ubaci( &p2, 4 );
ubaci( &p1, 5 );
ubaci( &p2, 6 );
for (t1=p1; t1!=NULL; t1=t1->sljedeci)
printf("%d",t1->x);
return 0;
}

Odgovor: 531

Ispravan odgovor je: 531

Pitanje 21 Točno Broj bodova: 10,00 od 10,00

Uredite redoslijed naredbi kako dobili funkciju 'obilazak' koja bi odgovarala postorder (LDN) obilasku stabla.

void obilazak( cvor *t )

if (cvor->lijevi!=NULL) obilazak( cvor->lijevi );

if (cvor->desni!=NULL) obilazak( cvor->desni );

printf("%d ",cvor->x);

Vaš odgovor je točan.

/
Pitanje 22 Točno Broj bodova: 20,00 od 20,00

Napišite funkciju "void ncvorova(struct cvor *root)" koja će izračunati i na ekran ispisati koliko ima ukupno čvorova u stablu.

Struktura cvor sastoji se od cjelobrojnog podatka X i pokazivača na lijevi i desni nasljednik (*lijevi, *desni).

Answer: (penalty regime: 0,25,50,75,100 %)

1 int prebroji(struct cvor *root, int count)


2 {
3 if(root!=NULL)
4 {
5 if(root->lijevi!=NULL) count = prebroji(root->lijevi, count);
6 count++;
7 if(root->desni!=NULL) count = prebroji(root->desni, count);
8 }
9 return count;
10 }
11
12 void ncvorova(struct cvor *root)
13 {
14 int count=0;
15 count = prebroji(root, count);
16 printf("%d", count);
17 }

Test Got

test1 11

test2 7

test3 2

test4 0

Passed all tests!

Točno

Broj bodova za ovaj odgovor: 20,00/20,00.

/
Započeto ponedjeljak, 1. veljače 2021., 18:30
Stanje Završeno
Završeno ponedjeljak, 1. veljače 2021., 19:13
Proteklo vrijeme 43 min 41 s
Ocjena 80,00 od maksimalno 100,00

Pitanje 1 Točno Broj bodova: 2,00 od 2,00

Pronaći najveći podatak u nesortiranom nizu se može trenutačno: O(1).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 2 Točno Broj bodova: 2,00 od 2,00

Zamjena mjesta dva podatka u nizu od N elemenata je operacija trenutačne složenosti.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 3 Točno Broj bodova: 2,00 od 2,00

Povezana lista se može obići unatrag (od zadnjeg elementa do prvog) u linearnom vremenu O( n ).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

/
Pitanje 4 Točno Broj bodova: 2,00 od 2,00

Ako imamo sortiranu povezanu listu onda ju možemo pretraživati algoritmom binarnog pretraživanja.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 5 Točno Broj bodova: 2,00 od 2,00

Složenost rekurzivne funkcije int fakt( int n ) koja računa faktorijel je O( n ).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 6 Točno Broj bodova: 2,00 od 2,00

Rekurzivno rješenje se uvijek izvodi puno brže nego iterativno rješenje.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 7 Netočno Broj bodova: 0,00 od 2,00

Postoje tri vrste obilaska binarnog stabla po širini.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.


/
Pitanje 8 Netočno Broj bodova: 0,00 od 2,00

Obilasci binarnog stabla po dubini se mogu riješiti rekurzivnom funkcijom.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 9 Točno Broj bodova: 2,00 od 2,00

Algoritam za sortiranje BubbleSort je sporiji od algoritma za sortiranje koji koristi hrpu HeapSort.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 10 Točno Broj bodova: 2,00 od 2,00

Hrpa sa N čvorova (N>10) može imati u najgorem slučaju N razina.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 11 Netočno Broj bodova: 0,00 od 4,00

Zadan je dio programa u C-u koji je napisan prema algoritmu binarnog pretraživanja. Napisani su i brojevi linija.
Međutim, u jednoj liniji se nalazi greška. U kojoj?

1. dg = 0;
2. gg = N+1;
3. for (;;) {
4. s = (dg+gg)/2;
5. if (V[s]==x) {
6. printf( "%d Pronadjen! Na %d. poziciji u nizu.\n", x, s );
7. exit( 0 );
8. }
9. if (x<V[s]) gg = s-1;
10. if (x>V[s]) dg = s+1;
11. if (dg>=gg) {
12. printf( "%d nije pronadjen!\n", x );
13. exit( 1 );
14. }
15. }

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 3

Ispravan odgovor je: 2

Pitanje 12 Točno Broj bodova: 4,00 od 4,00

Poredajte po vremenskom trajanju slijedeće operacije (od najkraćeg do najduljeg trajanja).

Ispitivanje je li povezana lista prazna 1 (najbrže)

Brisanje svih elemenata liste 3 (najsporije)

Dodavanje novog elementa na početak povezane liste 2 (srednje)

Vaš odgovor je točan.

Ispravan odgovor je: Ispitivanje je li povezana lista prazna → 1 (najbrže), Brisanje svih elemenata liste → 3 (najsporije),
Dodavanje novog elementa na početak povezane liste → 2 (srednje)

/
Pitanje 13 Točno Broj bodova: 4,00 od 4,00

Kod problema povrh(a,b), ako je a=1240, koliko treba biti b, da bi izvršavanje ove funkcije trajalo najduže?

Odgovor: 620

Ispravan odgovor je: 620

Pitanje 14 Točno Broj bodova: 4,00 od 4,00

Stablo kod kojeg sve razine moraju biti popunjene, osim zadnje razine koja mora biti popunjena s lijeva na desno se
naziva:

Odaberite jedan odgovor:

a. Poredano binarno stablo

b. Opće stablo

c. Hu manovo binarno stablo

d. Prošireno binarno stablo

e. Potpuno binarno stablo

Vaš odgovor je točan.

Ispravan odgovor je: Potpuno binarno stablo

/
Pitanje 15 Netočno Broj bodova: 0,00 od 4,00

Neka je zadana procedura void UHRPI(int i) koja uhrpljava čvor na i-tom mjestu prema algoritmu koji smo učili
na predavanju i procedura zamjeni(..) koja zamjenjuje mjesta dva elementa u zadanom nizu V od N elemenata.
NH je broj elemenata hrpe.

Prema algoritmu za soritranje koristeći hrpu dana je sljedeća procedura u C-u:

1. void HeapSort() {
2. int i;
3. NH = N;
4. for (i=NH/2; i>=0; i--) UHRPI( i );
5. for (i=NH-1; i<0; i--) {
6. zamjeni( &V[0], &V[i] );
7. NH--;
8. UHRPI( 0 );
9. }}
Međutim ova procedura ima grešku. Napišite u kojoj je liniji greška!

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 4

Ispravan odgovor je: 5

Pitanje 16 Točno Broj bodova: 5,00 od 5,00

U funkciji HEAP SORT koja sortira podatke koristeći hrpu dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void HeapSort(int arr [] , int n) {

for (int i = n / 2 - 1; i >= 0; i--) heapify(arr, n, i);

for (int i = n - 1; i >= 0; I-- ) {

Swap(&arr[0], &arr[ I ]);

heapify (arr, i, 0);

/
Pitanje 17 Točno Broj bodova: 5,00 od 5,00

U funkciji za obilazak stabla dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void inOrder (struct cvor* root){

if( root==NULL ) return ;

else{

inOrder(root-> left );

printf( root->x );

inOrder(root-> right );

Pitanje 18 Djelomično točno Broj bodova: 3,00 od 5,00

U funkciji koja obavlja SELECT-SORT dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void SELEKTsort(float V [] , int n) {

int i, j;

for (i = 0; i < n - 1; i++)

for (j = 0 + 1; j < n; j++)

if (V[i] > V[j]) {

float temp = V[i ]

V[i] = V[j];

V[j] = temp ;

/
Pitanje 19 Djelomično točno Broj bodova: 4,00 od 5,00

U funkciji koja sortira povezanu listu dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void sortiraj(ppopis *glava){

ppopis *temp1;
temp1 = new ppopis;
ppopis *temp2;
temp2 = new ppopis;

int temp=0;

for(temp1 = glava ;temp1!= NULL ;temp1=temp1->next){

for(temp2= glava ->next;temp2!= NULL ;temp2=temp2->next){

if(temp1->broj > temp2->broj){

temp = temp1 ->broj;

temp1->broj = temp2->broj;
temp2->broj=temp;
}
}
}
}

/
Pitanje 20 Djelomično točno Broj bodova: 5,00 od 10,00

Preuredi redoslijed naredbi funkcije ubaci koja ubacuje novi čvor na početak kraj povezane liste.

void ubaci( oe **t, int novix ) {

if (*t==NULL) { *t = novi; return; }

oe *t2, *novi = (oe *)malloc( sizeof(oe) );

novi->x = novix;
novi->sljedeci = NULL;

t2 = *t;
while (t2->sljedeci!=NULL) t2=t2->sljedeci;
t2->sljedeci = novi;

Vaš odgovor je djelomično točan.

Vrsta ocjenjivanja: Apsolutna pozicija

Detalji ocjene: 3 / 6 = 50%

Here are the scores for each item in this response:

1. 1 / 1 = 100%
2. 0 / 1 = 0%
3. 0 / 1 = 0%
4. 0 / 1 = 0%
5. 1 / 1 = 100%
6. 1 / 1 = 100%

Točan redoslijed za ove odgovore je slijedeći:

1. void ubaci( oe **t, int novix ) {


2. oe *t2, *novi = (oe *)malloc( sizeof(oe) );
3. novi->x = novix;
novi->sljedeci = NULL;
4. if (*t==NULL) { *t = novi; return; }
5. t2 = *t;
while (t2->sljedeci!=NULL) t2=t2->sljedeci;
t2->sljedeci = novi;
6. }

/
Pitanje 21 Točno Broj bodova: 10,00 od 10,00

Povežite predložene vrste obilazaka za stablo na slici:

LDN 12,14,9,19,23,17,67,72,54,76,50

NLD 50,17,9,14,12,23,19,76,54,72,67

LND 9,12,14,17,19,23,50,54,67,72,76

Vaš odgovor je točan.

Ispravan odgovor je: LDN → 12,14,9,19,23,17,67,72,54,76,50, NLD → 50,17,9,14,12,23,19,76,54,72,67, LND →


9,12,14,17,19,23,50,54,67,72,76

/
Pitanje 22 Točno Broj bodova: 20,00 od 20,00

Napisati rekurzivnu funkciju "int pronadji(struct cvor *root, int n)" koja će pronaći (ako postoji) traženu vrijednost n

u poredanom binarnom stablu. Ako cvor sa trazenom vrijednoscu postoji funkcija treba vratiti vrijednost 1, a ukoliko ne postoji
0. Stablo je predstavljeno strukturom cvor koja sadrzi cjelobrojni podatak X te pokazivače na lijevog nasljednika lijevi i
pokazivača na desnog nasljednika desni;

Answer: (penalty regime: 0,25,50,75,100 %)

1 int pronadji(struct cvor *root, int n)


2 {
3 struct cvor *root1;
4 root1=root;
5 if(root1==NULL){return 0;}
6 while(1)
7 {
8 if(root1->X==n){return 1;}
9 else
10 {
11 if(n<root1->X)
12 {
13 if(root1->lijevi!=NULL){root1=root1->lijevi;}
14 else{return 0;}
15 }
16 if(n>root1->X){
17 if(root1->desni!=NULL){root1=root1->desni;}
18 else{return 0;}
19 }
20 }

Test Input Expected Got

test2 32 1 1

test3 100 0 0

test4 33 0 0

Passed all tests!

Točno

Broj bodova za ovaj odgovor: 20,00/20,00.

/
Započeto ponedjeljak, 1. veljače 2021., 18:30
Stanje Završeno
Završeno ponedjeljak, 1. veljače 2021., 19:15
Proteklo vrijeme 45 min
Ocjena 75,20 od maksimalno 100,00

Pitanje 1 Točno Broj bodova: 2,00 od 2,00

Binarno pretraživanje je brže od sekvencijalnog pretraživanja.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 2 Točno Broj bodova: 2,00 od 2,00

Vremenska složenost O( n log n ) je bolja (brži algoritam) od vremenske složenosti O( n ).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 3 Točno Broj bodova: 2,00 od 2,00

Svi elementi povezane liste u memoriji slijede jedan iza drugoga.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 4 Točno Broj bodova: 2,00 od 2,00

Čvor povezane liste mora sadržavati element koji je pokazivač na sljedeći podatak istog tipa kao čvor.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 5 Netočno Broj bodova: 0,00 od 2,00

Rekurzivne funkcije ili procedure koriste sistemski stog.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 6 Točno Broj bodova: 2,00 od 2,00

Svaki algoritam koji je dan kao rekurzivna funkcija ili procedura moze se rijestiti iterativno pomocu reda.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 7 Točno Broj bodova: 2,00 od 2,00

Obilasci binarnog stabla po dubini se mogu riješiti rekurzivnom funkcijom.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

/
Pitanje 8 Točno Broj bodova: 2,00 od 2,00

Kod potpunog binarnog stabla, indeks roditeljskog čvora od čvora i se dobiva izrazom i/2.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 9 Točno Broj bodova: 2,00 od 2,00

Hrpa se u računalu e kasno prikazuje pomoću jednog niza.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 10 Točno Broj bodova: 2,00 od 2,00

Hrpa sa N čvorova (N>10) može imati u najgorem slučaju N razina.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 11 Točno Broj bodova: 4,00 od 4,00

Zadan je dio programa u C-u koji je napisan prema algoritmu binarnog pretraživanja. Napisani su i brojevi linija. Međutim, u jednoj liniji se nalazi
greška. U kojoj?

1. dg = 0;
2. gg = N-1;
3. for (;;) {
4. s = (dg+gg)/2;
5. if (V[s]==x) {
6. printf( "%d Pronadjen! Na %d. poziciji u nizu.\n", x, s );
7. exit( 0 );
8. }
9. if (x<V[s]) gg = s-1;
10. if (x<V[s]) dg = s+1;
11. if (dg>=gg) {
12. printf( "%d nije pronadjen!\n", x );
13. exit( 1 );
14. }
15. }

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 10

Ispravan odgovor je: 10

Pitanje 12 Djelomično točno Broj bodova: 3,20 od 4,00

Povežite algoritam s povezanim listama s njegovom složenosti.

Neka lista ima n podataka i neka ima samo pokazivač na prvi podatak.

Obilazak povezane liste. O( n )

Pristup prvom elementu. O( 1 )

Dodavanje novog podatka u sredinu povezane liste. O( n )

Dodavanje novog podatka na početak povezane liste. O( n )

Brisanje prvog podatka u povezanoj listi. O( 1 )

Vaš odgovor je djelomično točan.

Broj točnih odgovora: 4


Ispravan odgovor je: Obilazak povezane liste. → O( n ), Pristup prvom elementu. → O( 1 ), Dodavanje novog podatka u sredinu povezane liste. → O( n ),
Dodavanje novog podatka na početak povezane liste. → O( 1 ), Brisanje prvog podatka u povezanoj listi. → O( 1 )

/
Pitanje 13 Točno Broj bodova: 4,00 od 4,00

Ako je zadana rekurzivna funcija koja računa faktorijele: int fakt( int n ), koliko će biti rekurzivnih poziva ako ju pozovemo s fakt( 260 )?

Odgovor: 260

Ispravan odgovor je: 260

Pitanje 14 Točno Broj bodova: 4,00 od 4,00

Povežite naziva vrsta obilazaka.

LND Inorder

NLD Preorder

LDN Postorder

DLN Takav obilazak ne postoji

Vaš odgovor je točan.

Ispravan odgovor je: LND → Inorder, NLD → Preorder, LDN → Postorder, DLN → Takav obilazak ne postoji

Pitanje 15 Točno Broj bodova: 4,00 od 4,00

Neka je zadana procedura void UHRPI(int i) koja uhrpljava čvor na i-tom mjestu prema algoritmu koji smo učili na predavanju i
procedura zamjeni(..) koja zamjenjuje mjesta dva elementa u zadanom nizu V od N elemenata. NH je broj elemenata hrpe.

Prema algoritmu za soritranje koristeći hrpu dana je sljedeća procedura u C-u:

1. void HeapSort() {
2. int i;
3. NH = N;
4. for (i=NH/2; i>=0; i--) UHRPI( i );
5. for (i=NH-1; i>=1; i--) {
6. zamjeni( &V[0], &V[i] );
7. NH++;
8. UHRPI( 0 );
9. }}
Međutim ova procedura ima grešku. Napišite u kojoj je liniji greška!

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 7

Ispravan odgovor je: 7

/
Pitanje 16 Djelomično točno Broj bodova: 4,00 od 5,00

Dana je funkcija koja generira slučajni niz sastavljen od nula i jedinica, tako da se ne mogu pojaviti više od 3 uzastopne jedinice. Popunite polja koja nedostaju
tako da programski kod radi ispravno.

void gen_array(int *a, int n) {

int uzast1=0;

for (int i=0; i<n; i++) {

a[i] = rand()% 1 ;

if (a[i] == 1) uzast1++;

if (uzast1> 3 ) {

a[i] = 0 ;

uzast1 = 0 ;

Pitanje 17 Točno Broj bodova: 5,00 od 5,00

U rekurzivnoj funkciji MERGE-SORT koja sortira podatke niza dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void MergeSort(int l, int r) {

if (l < r ) {

int s = (l+r) / 2 ;

MergeSort(l, s);

MergeSort (s + 1 , r);

merge( l , r);

/
Pitanje 18 Točno Broj bodova: 5,00 od 5,00

U funkciji koja računa povrh koristeći stog dodajte dijelove koji nedostaju kako bi ona ispravno radila.

int povrhStack(Stack* s1, Stack* s2, int a, int b) {

int n, m, povrh= 0 ;

Clear(s1); Clear( s2 );

Push(s1, a); Push (s2, b);

do {

n = Pop(s1);

m = Pop(s2);

if (m == n || n == 1 || m == 0) povrh++;

else {

Push(s1, n - 1);

Push(s2, m - 1);

Push(s1, n - 1);

Push(s2, m );

} while (IsEmpty(s1) == 0);

return povrh;

Pitanje 19 Djelomično točno Broj bodova: 4,00 od 5,00

U funkciji koja računa povrh koristeći rekurziju dodajte dijelove koji nedostaju kako bi ona ispravno radila.

int povrhRek( int n , int m ) {

if (m == n || n == 1 || m || 0)

return 1 ;

else

return povrhRek(n - 1, m - 1) + povrhRek(n - 1, m );

/
Pitanje 20 Točno Broj bodova: 10,00 od 10,00

Što će ispisati sljedeći program:

#include <stdio.h>
#include <stdlib.h>

struct oe_ { int x; struct oe_ *sljedeci; };


typedef struct oe_ oe;

void ubaci( oe **t, int novix ) {


oe *novi = (oe *)malloc( sizeof(oe) );
novi->x = novix;
novi->sljedeci = *t;
*t = novi;
}

int main() {
oe *p1 = NULL, *p2=NULL, *t1, *t2;
ubaci( &p1, 1 );
ubaci( &p2, 2 );
ubaci( &p1, 3 );
ubaci( &p2, 4 );
ubaci( &p1, 5 );
ubaci( &p2, 6 );
for (t1=p1, t2=p2; t1!=NULL; t1=t1->sljedeci)
printf("%d%d",t1->x, t2->x);
return 0;
}

Odgovor: 563616

Ispravan odgovor je: 563616

/
Pitanje 21 Točno Broj bodova: 10,00 od 10,00

Dodjelite svakom čvoru njegove nasljednike (ako ih ima) za poredano binarno stablo predstavljeno ulaznim vektorom
[6,1,22,100,65,43,18,4,80,75].

NAPOMENA: oznaka '-' označava da ne postoji nasljednik!

4 -,-

65 43,80

100 65,-

18 -,-

75 -,-

22 18,100

43 -,-

80 75,-

6 1,22

1 -,4

Vaš odgovor je točan.

Ispravan odgovor je: 4 → -,-, 65 → 43,80, 100 → 65,-, 18 → -,-, 75 → -,-, 22 → 18,100, 43 → -,-, 80 → 75,-, 6 → 1,22, 1 → -,4

/
Pitanje 22 Netočno Broj bodova: 0,00 od 20,00

Zadana je povezana lista predstavljena strukturom element koja se sastoji od cjelobrojnog podatka X i pokazivača next na sljedeći element povezane liste.

Napisati algoritam koji sažima povezanu listu tako što izbacuje svaki element koji se više puta pojavljuje u listi.

Napisati funkciju "povezanaLista(struct element * glava)" koja na ekran ispisuje izgled nove povezane liste.

Primjer ulazne liste: 10, 4, 1, 4, 13, 10

Očekivani rezultat: 1,13

NAPOMENA:

** Koristiti C jezik!

** Za ispis povezane liste pozvati već spremnu funkciju ispis(struct element * glava).

** Elementi povezane liste su prede nirani.

Npr.

void povezanaLista(struct element * glava){

//vaš kod

ispis(nova_lista);

Answer: (penalty regime: 0,100 %)

1
2 void povezanaLista(struct element *glava)
3 {
4 struct element* temp=glava;
5 int listelements=0;
6 while(temp->next!=NULL)
7 {
8 listelements++;
9 temp=temp->next;
10 }
11 temp=glava;
12 int *V=(int*)malloc(sizeof(int)*listelements);
13 for(i=0;i<listelements;i++)
14 {
15 V[i]=0;
16 temp=temp->next;
17 }
18 for(i=0;i<listelements;i++)
19 {
20 if(V[i]==temp->x)
21 V[i]=temp->x;
22 temp=temp->next;
23 }
24 temp=glava->next;
25 struct element* p=glava;
26 for(i=0;i<listelements-1;i++)
27 {
28 if(V[i]==0)
29 {
30 p->next=temp;
31 temp=temp->next;
32 glava=temp;
33 }
34
35 }
36
37
38 }
39
40

/
Syntax Error(s)

__tester__.c: In function ‘povezanaLista’:


__tester__.c:34:6: error: ‘i’ undeclared (first use in this function)
for(i=0;i<listelements;i++)
^
__tester__.c:34:6: note: each undeclared identifier is reported only once for each function it appears in
__tester__.c:41:15: error: ‘struct element’ has no member named ‘x’
if(V[i]==temp->x)
^~
__tester__.c:42:11: error: ‘struct element’ has no member named ‘x’
V[i]=temp->x;
^~
__tester__.c:33:7: error: variable ‘V’ set but not used [-Werror=unused-but-set-variable]
int *V=(int*)malloc(sizeof(int)*listelements);
^
cc1: all warnings being treated as errors

Netočno

Broj bodova za ovaj odgovor: 0,00/20,00.

/
Započeto ponedjeljak, 1. veljače 2021., 18:30
Stanje Završeno
Završeno ponedjeljak, 1. veljače 2021., 19:12
Proteklo vrijeme 41 min 25 s
Ocjena 78,20 od maksimalno 100,00

Pitanje 1 Točno Broj bodova: 2,00 od 2,00

Algoritam sekvencijalnog pretraživanja je najbrži algoritam za pretraživanje podataka koji su sortirani.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 2 Točno Broj bodova: 2,00 od 2,00

Najbrži algoritam za sortiranje niza podataka je SELECT SORT algoritam.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 3 Točno Broj bodova: 2,00 od 2,00

Pristup svakom elementu povezane liste je trenutačan O(1).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 4 Točno Broj bodova: 2,00 od 2,00

Ako imamo sortiranu povezanu listu onda ju možemo pretraživati algoritmom binarnog pretraživanja.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 5 Točno Broj bodova: 2,00 od 2,00

Rekurzivne funkcije ili procedure koriste sistemski stog.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 6 Netočno Broj bodova: 0,00 od 2,00

Iterativno rješenje uvijek ima veći programski kod u odnosu na rekruzivno rješenje.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 7 Točno Broj bodova: 2,00 od 2,00

Obilazak binarnog stabla 'Inorder' se naziva još i LND.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 8 Točno Broj bodova: 2,00 od 2,00

Binarno stablo se u memoriji može prikazivati pomoću matrice s tri stupca.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 9 Točno Broj bodova: 2,00 od 2,00

Drugo ime za hrpu (heap) je gomila.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

/
Pitanje 10 Točno Broj bodova: 2,00 od 2,00

Algoritam za sortiranje BubbleSort je sporiji od algoritma za sortiranje koji koristi hrpu HeapSort.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 11 Točno Broj bodova: 4,00 od 4,00

Zadan je dio programa u C-u koji je napisan prema algoritmu binarnog pretraživanja. Napisani su i brojevi linija.
Međutim, u jednoj liniji se nalazi greška. U kojoj?

1. dg = 0;
2. gg = N-1;
3. for (;;) {
4. s = (dg+gg)/2;
5. if (s==x) {
6. printf( "%d Pronadjen! Na %d. poziciji u nizu.\n", x, s );
7. exit( 0 );
8. }
9. if (x<V[s]) gg = s-1;
10. if (x>V[s]) dg = s+1;
11. if (dg>=gg) {
12. printf( "%d nije pronadjen!\n", x );
13. exit( 1 );
14. }
15. }

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 5

Ispravan odgovor je: 5

/
Pitanje 12 Djelomično točno Broj bodova: 3,20 od 4,00

Povežite algoritam s povezanim listama s njegovom složenosti.

Neka lista ima n podataka i neka ima samo pokazivač na prvi podatak.

Pristup prvom elementu. O( n )

Dodavanje novog podatka u sredinu povezane liste. O( n )

Dodavanje novog podatka na početak povezane liste. O( 1 )

Obilazak povezane liste. O( n )

Brisanje prvog podatka u povezanoj listi. O( 1 )

Vaš odgovor je djelomično točan.

Broj točnih odgovora: 4


Ispravan odgovor je: Pristup prvom elementu. → O( 1 ), Dodavanje novog podatka u sredinu povezane liste. → O( n ),
Dodavanje novog podatka na početak povezane liste. → O( 1 ), Obilazak povezane liste. → O( n ), Brisanje prvog podatka u
povezanoj listi. → O( 1 )

Pitanje 13 Netočno Broj bodova: 0,00 od 4,00

Kod problema povrh(a,b), ako je a=877, koliko treba biti b, da bi izvršavanje ove funkcije trajalo najduže?

Odgovor: 877/2

Ispravan odgovor je: 438

/
Pitanje 14 Netočno Broj bodova: 0,00 od 4,00

Stablo na slici je:

Odaberite jedan ili više odgovora:

Binarno stablo

Opće stablo

Poredano binarno stablo

Hrpa

Potpuno binarno stablo

Vaš odgovor nije točan.

Ispravni odgovori su: Poredano binarno stablo, Opće stablo, Binarno stablo

/
Pitanje 15 Točno Broj bodova: 4,00 od 4,00

Neka je zadana procedura void UHRPI(int i) koja uhrpljava čvor na i-tom mjestu prema algoritmu koji smo učili
na predavanju i procedura zamjeni(..) koja zamjenjuje mjesta dva elementa u zadanom nizu V od N elemenata.
NH je broj elemenata hrpe.

Prema algoritmu za soritranje koristeći hrpu dana je sljedeća procedura u C-u:

1. void HeapSort() {
2. int i;
3. NH = N;
4. for (i=NH/2; i>=0; i--) UHRPI( i );
5. for (i=NH-1; i>=1; i--) {
6. zamjeni( &V[0], &V[i] );
7. NH++;
8. UHRPI( 0 );
9. }}
Međutim ova procedura ima grešku. Napišite u kojoj je liniji greška!

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 7

Ispravan odgovor je: 7

Pitanje 16 Točno Broj bodova: 5,00 od 5,00

U funkciji koja obavlja SEKVENCIJALNO PRETRAŽIVANJE dodajte dijelove koji nedostaju kako bi ona ispravno radila.

int sekv_pret(int V [], int x, int n) {

int i;

for (i = 0 ; i < n ; i++) {

if (V[ i ] == x)

return i;

return -1;

/
Pitanje 17 Djelomično točno Broj bodova: 4,00 od 5,00

U funkciji koja dodaje element u povezanu listu dodajte dijelove koji nedostaju kako bi ona ispravno radila.

struct ppopis{
int broj;
ppopis * next;
};

void obrisi_kraj(ppopis *glava){


ppopis *temp1;
temp1 = new ppopis;

temp1 = glava ;

ppopis *old_temp;
while(temp1->next!=NULL){

old_temp = temp1;

temp1 = temp1-> next ;

old_temp ->next = NULL;

free( old_temp );

/
Pitanje 18 Djelomično točno Broj bodova: 4,00 od 5,00

Ako je stog de niran strukturom:

typedef struct stack {

int sp;

int capacity;

int* array;

} Stack;

ubacite dijelove koda koji nedostaju da bi funkcija PUSH radila ispravno.

void Push( Stack *s, int x) {

if (s->sp >= ( s ->capacity - 1))

printf("Error.Stack overflow.\n");

break; {

s->sp += 1 ;

s->array[s->sp] = x ;

Pitanje 19 Djelomično točno Broj bodova: 1,00 od 5,00

U funkciji za obilazak stabla (ne rekurzivna - koristeći stogove) dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void preorder(cvor * glava){

cvor * p = glava;

cvor * p_temp = glava;

push(p);

while(!emp()){

p_temp = Pop() ;

if(p_temp-> desni ){

push(p_temp-> desni );

if(p_temp-> lijevi ){

push(p_temp-> lijevi );

/
Pitanje 20 Točno Broj bodova: 10,00 od 10,00

Što će ispisati sljedeći program:

#include <stdio.h>
#include <stdlib.h>

struct oe_ { int x; struct oe_ *sljedeci; };


typedef struct oe_ oe;

void ubaci( oe **t, int novix ) {


oe *novi = (oe *)malloc( sizeof(oe) );
novi->x = novix;
novi->sljedeci = *t;
*t = novi;
}

int main() {
oe *p1 = NULL, *p2=NULL, *t1, *t2;
ubaci( &p1, 1 );
ubaci( &p2, 2 );
ubaci( &p1, 3 );
ubaci( &p2, 4 );
ubaci( &p1, 5 );
ubaci( &p2, 6 );
for (t1=p1, t2=p2; t1!=NULL; t1=t1->sljedeci)
printf("%d%d",t1->x, t2->x);
return 0;
}

Odgovor: 563616

Ispravan odgovor je: 563616

/
Pitanje 21 Točno Broj bodova: 10,00 od 10,00

Uredite redoslijed naredbi kako dobili funkciju 'obilazak' koja bi odgovarala preorder (NLD) obilasku stabla.

void obilazak( cvor *t )

printf("%d ",cvor->x);

if (cvor->lijevi!=NULL) obilazak( cvor->lijevi );

if (cvor->desni!=NULL) obilazak( cvor->desni );

Vaš odgovor je točan.

/
Pitanje 22 Netočno Broj bodova: 15,00 od 20,00

Dovršiti funkciju binarno (ako je broj pronađen vratiti index na kojem se nalazi. U slučaju da nije pronađen funkcija će vratiti -1).

#include <stdio.h>

#include <stdlib.h>

#include <ctype.h>

#include <string.h>

#include <stdbool.h>

#include <math.h>

#de ne SEPARATOR "#<ab@17943918#@>#"

int binarno(int arr[], int dg, int gg, int x){

while (dg <= gg) {

int sr = (dg + gg) / 2;

// programski kod koji nedostaje

Answer: (penalty regime: 0,100 %)

Ace editor not ready. Perhaps reload page?


Falling back to raw text area.

if(x==arr[sr])
{
return sr;
break;
}
if(x<arr[sr])
{
gg=sr-1;
}
if(x>arr[sr])
{
dg=sr+1;
}
else
{
return -1;

/
Syntax Error(s)

__tester__.c: In function ‘binarno’:


__tester__.c:38:5: error: ‘main’ is normally a non-static function [-Werror=main]
int main() {
^~~~
__tester__.c:46:1: error: expected declaration or statement at end of input
}
^
__tester__.c:46:1: error: control reaches end of non-void function [-Werror=return-type]
}
^
At top level:
__tester__.c:38:5: error: ‘main’ defined but not used [-Werror=unused-function]
int main() {
^~~~
cc1: all warnings being treated as errors

Netočno

Bodovi za ovaj pokuštaj: 0,00/20,00. Zbog prethodnih pokušaja, broj bodova je: 15,00/20,00.

/
Započeto ponedjeljak, 1. veljače 2021., 18:30
Stanje Završeno
Završeno ponedjeljak, 1. veljače 2021., 19:14
Proteklo vrijeme 44 min 11 s
Ocjena 68,67 od maksimalno 100,00

Pitanje 1 Netočno Broj bodova: 0,00 od 2,00

Sortirani niz se može pretvoriti u nesortirani niz u vremenu O( 1 ).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 2 Točno Broj bodova: 2,00 od 2,00

O-notacija je način mjerenja vremena izvršavanja programa u milisekundama.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 3 Točno Broj bodova: 2,00 od 2,00

Ako imamo dvostruko povezanu listu onda možemo pristupiti svakom podatku trenutačno O(1).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 4 Točno Broj bodova: 2,00 od 2,00

Povezane liste uz svaki podatak imaju vrijednost adrese na sljedeći jednaku NULL.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 5 Netočno Broj bodova: 0,00 od 2,00

Rekurzivne funkcije ili procedure koriste sistemski stog.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 6 Točno Broj bodova: 2,00 od 2,00

Rekurzivno rješavanje problema povrh zahtjeva dva rekurzivna poziva.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 7 Netočno Broj bodova: 0,00 od 2,00

Postoje tri vrste obilaska binarnog stabla po širini.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 8 Točno Broj bodova: 2,00 od 2,00

Kod prikaza binarnog stabla u matrici s tri stupca korijenski čvor mora biti u prvom retku.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 9 Točno Broj bodova: 2,00 od 2,00

Napraviti hrpu od niza podataka od N elemenata se moze napraviti u linearnom vremenu O( N ).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 10 Netočno Broj bodova: 0,00 od 2,00

Za dodavanje novog elementa u hrpu potrebno je linarno vrijeme O( N ).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 11 Točno Broj bodova: 4,00 od 4,00

Zadan je dio programa u C-u koji je napisan prema algoritmu binarnog pretraživanja. Napisani su i brojevi linija. Međutim, u jednoj
liniji se nalazi greška. U kojoj?

1. dg = 0;
2. gg = N-1;
3. for (;;) {
4. s = (dg+gg)/2;
5. if (V[s]==x) {
6. printf( "%d Pronadjen! Na %d. poziciji u nizu.\n", x, s );
7. exit( 0 );
8. }
9. if (x<V[s]) gg = s+1;
10. if (x>V[s]) dg = s+1;
11. if (dg>=gg) {
12. printf( "%d nije pronadjen!\n", x );
13. exit( 1 );
14. }
15. }

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 9

Ispravan odgovor je: 9

Pitanje 12 Točno Broj bodova: 4,00 od 4,00

Povezana lista ima sljedeća svojstva:

Odaberite jedan ili više odgovora:

To je dinamička struktura podataka (koristi dinamičko zauzimanje i oslobađanje memorije)

Svakom elementu se može pristupiti trenutačno O(1)

To je najpogodnija struktura podataka za pretraživanje podataka.

Svaki element zauzima više mjesta u memoriji nego element kod nizova (polja).

Svi elementi povezane liste slijede u memoriji jedan iza drugoga.

Vaš odgovor je točan.

Ispravni odgovori su: To je dinamička struktura podataka (koristi dinamičko zauzimanje i oslobađanje memorije), Svaki element zauzima više
mjesta u memoriji nego element kod nizova (polja).

/
Pitanje 13 Točno Broj bodova: 4,00 od 4,00

Ako je zadana rekurzivna funcija koja računa faktorijele: int fakt( int n ), koliko će biti rekurzivnih poziva ako ju pozovemo s
fakt( 346 )?

Odgovor: 346

Ispravan odgovor je: 346

Pitanje 14 Djelomično točno Broj bodova: 2,67 od 4,00

Stablo na slici je:

Odaberite jedan ili više odgovora:

Poredano binarno stablo

Binarno stablo

Hrpa

Opće stablo

Potpuno binarno stablo

Vaš odgovor je djelomično točan.

Broj točnih odgovora: 2


Ispravni odgovori su: Poredano binarno stablo, Opće stablo, Binarno stablo

/
Pitanje 15 Točno Broj bodova: 4,00 od 4,00

Neka je zadana procedura void UHRPI(int i) koja uhrpljava čvor na i-tom mjestu prema algoritmu koji smo učili na predavanju i
procedura zamjeni(..) koja zamjenjuje mjesta dva elementa u zadanom nizu V od N elemenata. NH je broj elemenata hrpe.

Prema algoritmu za soritranje koristeći hrpu dana je sljedeća procedura u C-u:

1. void HeapSort() {
2. int i;
3. NH = N;
4. for (i=NH/2, i>=0, i--) UHRPI( i );
5. for (i=NH-1, i>=1, i--) {
6. zamjeni( &V[0], &V[i] );
7. NH--;
8. UHRPI( 0 );
9. }}
Međutim ova procedura ima grešku. Napišite u kojoj je liniji greška!

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 4

Ispravan odgovor je: 4

Pitanje 16 Točno Broj bodova: 5,00 od 5,00

U rekurzivnoj funkciji MERGE-SORT koja sortira podatke niza dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void MergeSort(int l, int r) {

if (l < r ) {

int s = (l+r) / 2 ;

MergeSort(l, s);

MergeSort (s + 1 , r);

merge( l , r);

/
Pitanje 17 Djelomično točno Broj bodova: 4,00 od 5,00

U funkciji koja sortira povezanu listu dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void sortiraj(ppopis *glava){

ppopis *temp1;
temp1 = new ppopis;
ppopis *temp2;
temp2 = new ppopis;

int temp=0;

for(temp1 = glava ;temp1!= NULL ;temp1=temp1->next){

for(temp2= glava ->next;temp2!= NULL ;temp2=temp2->next){

if(temp1->broj > temp2->broj){

temp = temp1 ->broj;

temp1->broj = temp2->broj;
temp2->broj=temp;
}
}
}
}

Pitanje 18 Točno Broj bodova: 5,00 od 5,00

U funkciji HEAP SORT koja sortira podatke koristeći hrpu dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void HeapSort(int arr [] , int n) {

for (int i = n / 2 - 1; i >= 0; i--) heapify(arr, n, i);

for (int i = n - 1; i >= 0; i-- ) {

Swap(&arr[0], &arr[ i ]);

heapify (arr, i, 0);

/
Pitanje 19 Djelomično točno Broj bodova: 4,00 od 5,00

U funkciji koja računa povrh koristeći stog dodajte dijelove koji nedostaju kako bi ona ispravno radila.

int povrhStack(Stack* s1, Stack* s2, int a, int b) {

int n, m, povrh= 0 ;

Clear(s1); Clear( s2 );

Push(s1, a); Push (s2, b);

do {

n = Pop(s1);

m = Pop(s2);

if (m == n || n == 1 || m == 0) povrh++;

else {

Push(s1, n - 1);

Push(s2, m - 1);

Push(s1, n - 1);

Push(s2, m-1 );

} while (IsEmpty(s1) == 0);

return povrh;

/
Pitanje 20 Točno Broj bodova: 10,00 od 10,00

Što će ispisati sljedeći program:

#include <stdio.h>
#include <stdlib.h>
struct oe_ { int x; struct oe_ *sljedeci; };
typedef struct oe_ oe;

void ubaci( oe **t, int novix ) {


oe *novi = (oe *)malloc( sizeof(oe) );
novi->x = novix;
novi->sljedeci = *t;
*t = novi;
}

int main() {
oe *prvi = NULL, *t;
ubaci( &prvi, 7 );
ubaci( &prvi, 0 );
ubaci( &prvi, 5 );
for (t=prvi; t!=NULL; t=t->sljedeci)
printf("%d",t->x);
return 0;
}

Odgovor: 507

Ispravan odgovor je: 507

/
Pitanje 21 Točno Broj bodova: 10,00 od 10,00

Povežite predložene vrste obilazaka za stablo na slici:

LND 35,44,20,42,18,43,55,16,85,90

NLD 85,44,35,43,18,20,42,55,16,90

LDN 35,42,20,18,16,55,43,44,90,85

Vaš odgovor je točan.

Ispravan odgovor je: LND → 35,44,20,42,18,43,55,16,85,90, NLD → 85,44,35,43,18,20,42,55,16,90, LDN → 35,42,20,18,16,55,43,44,90,85

/
Pitanje 22 Netočno Broj bodova: 0,00 od 20,00

Napisati funkciju "void obrisiNeparne( oe *prvi )" koja briše sve elemente cjelobrojne povezane liste koji su neparni.

Osnovni element liste oe se sastoji od cjelobrojnog podatka 'x', te pokazivača na isti takav osnovni element 'sljedeci'.

Npr. ako su u povezanoj listi redom elementi 1,7,12,5,4

Lista nakon brisanja neparnih treba izgledati: 12,4

Answer: (penalty regime: 0,100 %)

Ace editor not ready. Perhaps reload page?


Falling back to raw text area.

void obrisiNeparne(oe *prvi)


{
oe *temp = (oe*)malloc(sizeof(oe));
while(prvi != NULL)
{
if(prvi->x % 2 != 0)
{
temp = prvi->sljedeci;
prvi = temp;
}
prvi = prvi->sljedeci;
}
}

/
Test Input Expected Got

Testing was aborted due to error.

Show di erences

Netočno

Broj bodova za ovaj odgovor: 0,00/20,00.

/
Započeto ponedjeljak, 1. veljače 2021., 18:30
Stanje Završeno
Završeno ponedjeljak, 1. veljače 2021., 18:59
Proteklo vrijeme 29 min 35 s
Ocjena 89,00 od maksimalno 100,00

Pitanje 1 Točno Broj bodova: 2,00 od 2,00

Algoritam SELECT-SORT ima kvadratnu vremensku složenost.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 2 Točno Broj bodova: 2,00 od 2,00

Binarno pretraživanje je brže od sekvencijalnog pretraživanja.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.


:
Pitanje 3 Točno Broj bodova: 2,00 od 2,00

Čvor povezane liste mora sadržavati podatkovni element tipa int x; u C-u.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 4 Netočno Broj bodova: 0,00 od 2,00

Pristup svakom elementu povezane liste je trenutačan O(1).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 5 Točno Broj bodova: 2,00 od 2,00

Iterativno rješenje uvijek ima veći programski kod u odnosu na rekruzivno rješenje.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.


:
Pitanje 6 Točno Broj bodova: 2,00 od 2,00

Rekurzivno rješenje se uvijek izvodi puno brže nego iterativno rješenje.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 7 Točno Broj bodova: 2,00 od 2,00

Potpuno binarnos stablo se može prikazati u memoriji pomoću jednog niza.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 8 Točno Broj bodova: 2,00 od 2,00

Binarno stablo je posebni slučaj općeg stabla.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.


:
Pitanje 9 Točno Broj bodova: 2,00 od 2,00

Kod Max-hrpe najveću vrijednost podatka ima korijenski čvor.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 10 Točno Broj bodova: 2,00 od 2,00

Novi čvor se uvijek dodaje kao zadnji element u hrpu i tamo ostaje.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.


:
Pitanje 11 Točno Broj bodova: 4,00 od 4,00

Zadan je dio programa u C-u koji je napisan prema algoritmu binarnog pretraživanja. Napisani
su i brojevi linija. Međutim, u jednoj liniji se nalazi greška. U kojoj?

1. dg = 0;
2. gg = N-1;
3. for (;;) {
4. s = dg+gg/2;
5. if (V[s]==x) {
6. printf( "%d Pronadjen! Na %d. poziciji u nizu.\n", x, s );
7. exit( 0 );
8. }
9. if (x<V[s]) gg = s-1;
10. if (x>V[s]) dg = s+1;
11. if (dg>=gg) {
12. printf( "%d nije pronadjen!\n", x );
13. exit( 1 );
14. }
15. }

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 4

Ispravan odgovor je: 4

Pitanje 12 Točno Broj bodova: 4,00 od 4,00

Kada je povezana lista prazna, onda prvi ima vrijednost NULL . Memorijska adresa kod 64-

bitnih aplikacija zauzima 8 Byte-ova memorije.


:
Pitanje 13 Točno Broj bodova: 4,00 od 4,00

Ako je zadana rekurzivna funcija koja računa faktorijele: int fakt( int n ), koliko će biti
rekurzivnih poziva ako ju pozovemo s fakt( 199 )?

Odgovor: 199

Ispravan odgovor je: 199

Pitanje 14 Točno Broj bodova: 4,00 od 4,00

Povežite naziva vrsta obilazaka.

DLN Takav obilazak ne postoji

LDN Postorder

NLD Preorder

LND Inorder

Vaš odgovor je točan.

Ispravan odgovor je: DLN Takav obilazak ne postoji, LDN Postorder, NLD Preorder, LND
Inorder
:
Pitanje 15 Točno Broj bodova: 4,00 od 4,00

Neka je zadana procedura void UHRPI(int i) koja uhrpljava čvor na i-tom mjestu prema
algoritmu koji smo učili na predavanju i procedura zamjeni(..) koja zamjenjuje mjesta dva
elementa u zadanom nizu V od N elemenata. NH je broj elemenata hrpe.

Prema algoritmu za soritranje koristeći hrpu dana je sljedeća procedura u C-u:

1. void HeapSort() {
2. int i;
3. NH = N;
4. for (i=NH/2; i>=0; i--) UHRPI( i );
5. for (i=NH-1; i>=1; i--) {
6. zamjeni( &V[0], &V[i] );
7. NH--;
8. UHRPI( i );
9. }}
Međutim ova procedura ima grešku. Napišite u kojoj je liniji greška!

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 8

Ispravan odgovor je: 8


:
Pitanje 16 Točno Broj bodova: 5,00 od 5,00

U rekurzivnoj funkciji MERGE-SORT koja sortira podatke niza dodajte dijelove koji nedostaju kako bi
ona ispravno radila.

void MergeSort(int l, int r) {

if (l < r ) {

int s = (l+r) / 2 ;

MergeSort(l, s);

MergeSort (s + 1 , r);

merge( l , r);

}
:
Pitanje 17 Djelomično točno Broj bodova: 4,00 od 5,00

U funkciji koja sortira povezanu listu dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void sortiraj(ppopis *glava){

ppopis *temp1;
temp1 = new ppopis;
ppopis *temp2;
temp2 = new ppopis;

int temp=0;

for(temp1 = glava ;temp1!= NULL ;temp1=temp1->next){

for(temp2= glava ->next;temp2!= NULL ;temp2=temp2->next){

if(temp1->broj > temp2->broj){

temp = temp1 ->broj;

temp1->broj = temp2->broj;
temp2->broj=temp;
}
}
}
}
:
Pitanje 18 Djelomično točno Broj bodova: 2,00 od 5,00

U funkciji za obilazak stabla dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void inOrder (struct cvor* root){

if( root->lijevi==NULL ) return ;

else{

inOrder(root-> lijevi );

printf( root->x );

inOrder(root-> desni );

Pitanje 19 Djelomično točno Broj bodova: 4,00 od 5,00

U funkciji koja obavlja SEKVENCIJALNO PRETRAŽIVANJE dodajte dijelove koji nedostaju kako bi ona
ispravno radila.

int sekv_pret(int polje [], int x, int n) {

int i;

for (i = 0 ; i < n ; i++) {

if (V[ i ] == x)

return i;

return -1;

}
:
Pitanje 20 Točno Broj bodova: 10,00 od 10,00

Preuredi redoslijed naredbi funkcije ubaci koja ubacuje novi čvor na početak kraj povezane
liste.

void ubaci( oe **t, int novix ) {

oe *t2, *novi = (oe *)malloc( sizeof(oe) );

novi->x = novix;
novi->sljedeci = NULL;

if (*t==NULL) { *t = novi; return; }

t2 = *t;
while (t2->sljedeci!=NULL) t2=t2->sljedeci;
t2->sljedeci = novi;

Vaš odgovor je točan.


:
Pitanje 21 Točno Broj bodova: 10,00 od 10,00

Dodjelite svakom čvoru njegove nasljednike (ako ih ima) za poredano binarno stablo
predstavljeno ulaznim vektorom [6,1,22,100,65,43,18,4,80,75].

NAPOMENA: oznaka '-' označava da ne postoji nasljednik!

65 43,80

22 18,100

100 65,-

43 -,-

6 1,22

18 -,-

1 -,4

75 -,-

80 75,-

4 -,-

Vaš odgovor je točan.

Ispravan odgovor je: 65 43,80, 22 18,100, 100 65,-, 43 -,-, 6 1,22, 18 -,-, 1 -,4, 75
-,-, 80 75,-, 4 -,-

Pitanje 22 Djelomično točno Broj bodova: 16,00 od 20,00

Napiši rekurzivnu funkciju "int obrniznam(int n)" koja će obrnuti zanemnke cijelog broja n. Npr.

ako je n=531, funkcija treba vratiti 135.

For example:
:
Test Input Result

test2 105 501

Answer: (penalty regime: 0,25,50,75,100 %)

Ace editor not ready. Perhaps reload page?


Falling back to raw text area.
int obrniznam(int x){

int znam;
int dec = 1;
int check = x;

if(x<1){return 0;}

while(check >10){
check /=10;
dec*=10;
}

znam = x%10;
return (znam*dec)+obrniznam(x/10);

Test Input Expected Got

test1 5 5 5

test2 105 501 51

Show di!erences

Djelomično točno

Broj bodova za ovaj odgovor: 16,00/20,00.


:
Započeto ponedjeljak, 1. veljače 2021., 18:34
Stanje Završeno
Završeno ponedjeljak, 1. veljače 2021., 19:11
Proteklo vrijeme 37 min 9 s
Ocjena 72,00 od maksimalno 100,00

Pitanje 1 Točno Broj bodova: 2,00 od 2,00

Pronaći najveći podatak u nesortiranom nizu se može trenutačno: O(1).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 2 Točno Broj bodova: 2,00 od 2,00

O-notacija je način mjerenja vremena izvršavanja programa u milisekundama.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 3 Točno Broj bodova: 2,00 od 2,00

Pristup prvom elementu povezane liste je trenutačan O(1).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 4 Točno Broj bodova: 2,00 od 2,00

Čvor povezane liste mora sadržavati element koji je pokazivač na sljedeći podatak istog tipa kao čvor.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 5 Točno Broj bodova: 2,00 od 2,00

Rekurzivno rješenje se uvijek izvodi puno brže nego iterativno rješenje.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 6 Točno Broj bodova: 2,00 od 2,00

Rekurzivna funkcija ili procedura može imati samo jedan osnovni slučaj kada se ne poziva rekurzivno.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 7 Točno Broj bodova: 2,00 od 2,00

Obilasci binarnog stabla po dubini se mogu riješiti rekurzivnom funkcijom.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 8 Točno Broj bodova: 2,00 od 2,00

Binarno stablo je posebni slučaj općeg stabla.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

/
Pitanje 9 Točno Broj bodova: 2,00 od 2,00

Svaka hrpa ima izgled proširenog binarnog stabla.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 10 Točno Broj bodova: 2,00 od 2,00

Kod Max-hrpe najveću vrijednost podatka ima korijenski čvor.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

/
Pitanje 11 Točno Broj bodova: 4,00 od 4,00

Zadan je dio programa u C-u koji je napisan prema algoritmu binarnog pretraživanja. Napisani su i brojevi
linija. Međutim, u jednoj liniji se nalazi greška. U kojoj?

1. dg = 0;
2. gg = N-1;
3. for (;;) {
4. s = (dg+gg)/2;
5. if (V[s]==x) {
6. printf( "%d Pronadjen! Na %d. poziciji u nizu.\n", x, s );
7. exit( 0 );
8. }
9. if (x<V[s]) gg = s-1;
10. if (x<V[s]) dg = s+1;
11. if (dg>=gg) {
12. printf( "%d nije pronadjen!\n", x );
13. exit( 1 );
14. }
15. }

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 10

Ispravan odgovor je: 10

/
Pitanje 12 Točno Broj bodova: 4,00 od 4,00

Složenost pretraživanja sortirane povezane liste jeste:

Odaberite jedan odgovor:


2
a. O( n )

b. O( n )

c. O(log n)

d. O( n log n )

e. O( 1 )

Vaš odgovor je točan.

Ispravan odgovor je: O( n )

Pitanje 13 Točno Broj bodova: 4,00 od 4,00

Kod problema povrh(a,b), ako je a=1688, koliko treba biti b, da bi izvršavanje ove funkcije trajalo najduže?

Odgovor: 844

Ispravan odgovor je: 844

/
Pitanje 14 Netočno Broj bodova: 0,00 od 4,00

Stablo na slici je:

Odaberite jedan ili više odgovora:


Binarno stablo

Opće stablo

Potpuno binarno stablo

Poredano binarno stablo

Hrpa

Vaš odgovor nije točan.

Ispravni odgovori su: Poredano binarno stablo, Opće stablo, Binarno stablo

/
Pitanje 15 Točno Broj bodova: 4,00 od 4,00

Neka je zadana procedura void UHRPI(int i) koja uhrpljava čvor na i-tom mjestu prema algoritmu koji
smo učili na predavanju i procedura zamjeni(..) koja zamjenjuje mjesta dva elementa u zadanom nizu V
od N elemenata. NH je broj elemenata hrpe.

Prema algoritmu za soritranje koristeći hrpu dana je sljedeća procedura u C-u:

1. void HeapSort() {
2. int i;
3. NH = N;
4. for (i=NH/2; i>=0; i--) UHRPI( i );
5. for (i=NH-1; i>=1; i--) {
6. zamjeni( &V[0], &V[i] );
7. NH--;
8. UHRPI( i );
9. }}
Međutim ova procedura ima grešku. Napišite u kojoj je liniji greška!

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 8

Ispravan odgovor je: 8

/
Pitanje 16 Točno Broj bodova: 5,00 od 5,00

U funkciji koja računa povrh koristeći stog dodajte dijelove koji nedostaju kako bi ona ispravno radila.

int povrhStack(Stack* s1, Stack* s2, int a, int b) {

int n, m, povrh= 0 ;

Clear(s1); Clear( s2 );

Push(s1, a); Push (s2, b);

do {

n = Pop(s1);

m = Pop(s2);

if (m == n || n == 1 || m == 0) povrh++;

else {

Push(s1, n - 1);

Push(s2, m - 1);

Push(s1, n - 1);

Push(s2, m );

} while (IsEmpty(s1) == 0);

return povrh;

/
Pitanje 17 Točno Broj bodova: 5,00 od 5,00

U funkciji za obilazak stabla dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void preOrder (struct cvor* root){

if( root==NULL ) return ;

else{

printf( root->x );

preOrder( root-> left );

preOrder( root-> right );

Pitanje 18 Djelomično točno Broj bodova: 4,00 od 5,00

U funkciji koja obavlja SEKVENCIJALNO PRETRAŽIVANJE dodajte dijelove koji nedostaju kako bi ona ispravno radila.

int sekv_pret(int V [], int x, int n) {

int i;

for (i = o ; i < n ; i++) {

if (V[ i ] == x)

return i;

return -1;

/
Pitanje 19 Djelomično točno Broj bodova: 2,00 od 5,00

U funkciji koja stvara povezanu listu dodajte dijelove koji nedostaju kako bi ona ispravno radila.

struct cvor{

int x;

struct cvor * prev;

struct cvor *next;

};

struct cvor* stvori_listu(struct cvor* glava, int polje[],int n){

struct cvor * p;

for(int i=0;i<n;i++){

if(i==0){

glava = (struct cvor*)malloc(sizeof(struct cvor));

glava-> prev =NULL;

glava->next=NULL;

p ->x=polje[i];

p=glava;

}else{

struct cvor *tmp;

temp ->next=(struct cvor*)malloc(sizeof(struct cvor));

tmp=p;

p = p->next;

p->next= tmp ;

p-> prev =tmp;

p->x=polje[i];

return glava;

/
Pitanje 20 Točno Broj bodova: 10,00 od 10,00

Preuredi redoslijed naredbi funkcije ubaci koja ubacuje novi čvor na početak povezane liste.

void ubaci( oe **t, int novix )

oe *novi = (oe *)malloc( sizeof(oe) );

novi->x = novix;
novi->sljedeci = *t;

*t = novi;

Vaš odgovor je točan.

Pitanje 21 Točno Broj bodova: 10,00 od 10,00

Uredite redoslijed naredbi kako dobili funkciju 'obilazak' koja bi odgovarala inorder (LND) obilasku stabla.

void obilazak( cvor *t )

if (cvor->lijevi!=NULL) obilazak( cvor->lijevi );

printf("%d ",cvor->x);

if (cvor->desni!=NULL) obilazak( cvor->desni );

Vaš odgovor je točan.

/
Pitanje 22 Netočno Broj bodova: 0,00 od 20,00

Napiši rekurzivnu funkciju "void trokut(int n)" koja će za zadani n=5, ispisati sljedeći uzorak:

*****

****

***

**

For example:

Test Input Result

test1 5 *****
****
***
**
*

Answer: (penalty regime: 0,25,50,75,100 %)

1 void trokut(int n)
2 {
3 int i,j;
4 for(i=1;i<=n;i++)
5 {
6 for(j=1;j<i;j++)
7 {
8 printf("");
9 }
10 for(j=i;j<=n;j++)
11 {
12 printf("*");
13 }
14 printf("\n");
15 }
16 }

Syntax Error(s)

/
__tester__.c: In function ‘trokut’:
__tester__.c:16:16: error: zero-length gnu_printf format string [-Werror=format-zero-length]
printf("");
^~
cc1: all warnings being treated as errors

Netočno

Broj bodova za ovaj odgovor: 0,00/20,00.

/
Započeto ponedjeljak, 1. veljače 2021., 18:30
Stanje Završeno
Završeno ponedjeljak, 1. veljače 2021., 19:12
Proteklo vrijeme 41 min 21 s
Ocjena 80,00 od maksimalno 100,00

Pitanje 1 Točno Broj bodova: 2,00 od 2,00

Sortiranje podataka je jednake vremenske složenosti kao i pretraživanje.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 2 Netočno Broj bodova: 0,00 od 2,00

Svi elementi niza moraju zauzimati jednako mjesta u memoriji.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 3 Točno Broj bodova: 2,00 od 2,00

Pristup prvom elementu povezane liste je trenutačan O(1).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

/
Pitanje 4 Točno Broj bodova: 2,00 od 2,00

Povezane liste uz svaki podatak koriste i dodatnu memorijsku adresu kako bi se znalo gdje je sljedeći podatak.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 5 Točno Broj bodova: 2,00 od 2,00

Najbrže se izračunava povrh(n,n/2), a najsporije povrh(n,0).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 6 Netočno Broj bodova: 0,00 od 2,00

Iterativno rješenje uvijek ima veći programski kod u odnosu na rekruzivno rješenje.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 7 Točno Broj bodova: 2,00 od 2,00

Binarno stablo se u memoriji može prikazivati pomoću matrice s tri stupca.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

/
Pitanje 8 Točno Broj bodova: 2,00 od 2,00

Obilazak binarnog stabla 'Inorder' se naziva još i LND.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 9 Točno Broj bodova: 2,00 od 2,00

Posljednja razina u hrpi ne mora biti popunjena, ali mora biti popunjavana s lijeva na desno.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 10 Točno Broj bodova: 2,00 od 2,00

Svaka hrpa je potpuno binarno stablo.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

/
Pitanje 11 Točno Broj bodova: 4,00 od 4,00

Zadan je dio programa u C-u koji je napisan prema algoritmu binarnog pretraživanja. Napisani su i brojevi linija. Međutim, u
jednoj liniji se nalazi greška. U kojoj?

1. dg = 0;
2. gg = N-1;
3. for (;;) {
4. s = (dg+gg)/2;
5. if (V[s]==x) {
6. printf( "%d Pronadjen! Na %d. poziciji u nizu.\n", x, s );
7. exit( 0 );
8. }
9. if (x<V[s]) gg = s-1;
10. if (x>V[s]) dg = s+1;
11. if (dg<gg) {
12. printf( "%d nije pronadjen!\n", x );
13. exit( 1 );
14. }
15. }

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 11

Ispravan odgovor je: 11

Pitanje 12 Točno Broj bodova: 4,00 od 4,00

Povežite algoritam s povezanim listama s njegovom složenosti.

Neka lista ima n podataka i neka ima samo pokazivač na prvi podatak.

Dodavanje novog podatka na početak povezane liste. O( 1 )

Dodavanje novog podatka u sredinu povezane liste. O( n )

Obilazak povezane liste. O( n )

Brisanje prvog podatka u povezanoj listi. O( 1 )

Pristup prvom elementu. O( 1 )

Vaš odgovor je točan.

Ispravan odgovor je: Dodavanje novog podatka na početak povezane liste. → O( 1 ), Dodavanje novog podatka u sredinu povezane
liste. → O( n ), Obilazak povezane liste. → O( n ), Brisanje prvog podatka u povezanoj listi. → O( 1 ), Pristup prvom elementu. → O( 1 )

/
Pitanje 13 Točno Broj bodova: 4,00 od 4,00

Kod problema povrh(a,b), ako je a=547, koliko treba biti b, da bi izvršavanje ove funkcije trajalo najduže?

Odgovor: 274

Ispravan odgovor je: 274

Pitanje 14 Djelomično točno Broj bodova: 2,00 od 4,00

Binarno stablo se može e kasno prikazati u računalu:

Odaberite jedan ili više odgovora:


Pomoću jedne povezane liste.

Pomoću dinamičke strukture koja sadrži vrijednost čvora i pokazivač na sljedeće čvor

Pomoću matrice s tri stupca

Pomoću 3 matrice

Pomoću dinamičke strukture koja koristi vrijednost čvora, i pokazivače ne lijevi i desni nasljednik

Vaš odgovor je djelomično točan.

Broj točnih odgovora: 1


Ispravni odgovori su: Pomoću matrice s tri stupca, Pomoću dinamičke strukture koja koristi vrijednost čvora, i pokazivače ne lijevi i
desni nasljednik

/
Pitanje 15 Netočno Broj bodova: 0,00 od 4,00

Neka je zadana procedura void UHRPI(int i) koja uhrpljava čvor na i-tom mjestu prema algoritmu koji smo učili na
predavanju i procedura zamjeni(..) koja zamjenjuje mjesta dva elementa u zadanom nizu V od N elemenata. NH je broj
elemenata hrpe.

Prema algoritmu za soritranje koristeći hrpu dana je sljedeća procedura u C-u:

1. void HeapSort() {
2. int i;
3. NH = N;
4. for (i=NH/2; i>=0; i--) UHRPI( 0 );
5. for (i=NH-1; i>=1; i--) {
6. zamjeni( &V[0], &V[i] );
7. NH--;
8. UHRPI( 0 );
9. }}
Međutim ova procedura ima grešku. Napišite u kojoj je liniji greška!

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 6

Ispravan odgovor je: 4

/
Pitanje 16 Djelomično točno Broj bodova: 4,00 od 5,00

U funkciji koja računa povrh koristeći stog dodajte dijelove koji nedostaju kako bi ona ispravno radila.

int povrhStack(Stack* s1, Stack* s2, int a, int b) {

int n, m, povrh= 0 ;

Clear(s1); Clear( s2 );

Push(s1, a); Push (s2, b);

do {

n = Pop(s1);

m = Pop(s2);

if (m == n || n == 1 || m == 0) povrh++;

else {

Push(s1, n - 1);

Push(s2, m - 1);

Push(s1, n - 1);

Push(s2, m-1 );

} while (IsEmpty(s1) == 0);

return povrh;

Pitanje 17 Točno Broj bodova: 5,00 od 5,00

U funkciji koja obavlja SEKVENCIJALNO PRETRAŽIVANJE dodajte dijelove koji nedostaju kako bi ona ispravno radila.

int sekv_pret(int V [], int x, int n) {

int i;

for (i = 0 ; i < n ; i++) {

if (V[ i ] == x)

return i;

return -1;

/
Pitanje 18 Djelomično točno Broj bodova: 1,00 od 5,00

U funkciji koja briše duplikate (pretpostavljamo da je lista sortirana) iz povezane liste dodajte dijelove koji nedostaju kako bi ona ispravno
radila.

struct element{

int X;

element * next;

};

void duplikati(element *glava) {

element *p = glava;

element *tmp = NULL;

while (p->next) {

if (p->X == p->next->x ) {

tmp = p->next ;

free( tmp );

return ;

}else {

return ;

Pitanje 19 Točno Broj bodova: 5,00 od 5,00

U rekurzivnoj funkciji MERGE-SORT koja sortira podatke niza dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void MergeSort(int l, int r) {

if (l < r ) {

int s = (l+r) / 2 ;

MergeSort(l, s);

MergeSort (s + 1 , r);

merge( l , r);

/
Pitanje 20 Točno Broj bodova: 10,00 od 10,00

Što će ispisati sljedeći program:

#include <stdio.h>
#include <stdlib.h>

struct oe_ { int x; struct oe_ *sljedeci; };


typedef struct oe_ oe;

void ubaci( oe **t, int novix ) {


oe *novi = (oe *)malloc( sizeof(oe) );
novi->x = novix;
novi->sljedeci = *t;
*t = novi;
}

int main() {
oe *p1 = NULL, *p2=NULL, *t1, *t2;
ubaci( &p1, 1 );
ubaci( &p2, 2 );
ubaci( &p1, 3 );
ubaci( &p2, 4 );
ubaci( &p1, 5 );
ubaci( &p2, 6 );
for (t1=p1; t1!=NULL; t1=t1->sljedeci)
printf("%d",t1->x);
return 0;
}

Odgovor: 531

Ispravan odgovor je: 531

/
Pitanje 21 Točno Broj bodova: 10,00 od 10,00

Povežite predložene vrste obilazaka za stablo na slici:

LDN 35,42,20,18,16,55,43,44,90,85

LND 35,44,20,42,18,43,55,16,85,90

NLD 85,44,35,43,18,20,42,55,16,90

Vaš odgovor je točan.

Ispravan odgovor je: LDN → 35,42,20,18,16,55,43,44,90,85, LND → 35,44,20,42,18,43,55,16,85,90, NLD → 85,44,35,43,18,20,42,55,16,90

/
Pitanje 22 Točno Broj bodova: 15,00 od 20,00

Napiši rekurzivnu funkciju "int obrniznam(int n)" koja će obrnuti zanemnke cijelog broja n. Npr. ako je n=531, funkcija treba vratiti
135.

For example:

Test Input Result

test2 105 501

Answer: (penalty regime: 0,25,50,75,100 %)

1 int obrniznam(int n)
2 {
3 int obrni=0;
4 while(n>0)
5 {
6 obrni = obrni*10 + n%10;
7 n=n/10;
8 }
9 return obrni;
10 }

Test Input Expected Got

test1 5 5 5

test2 105 501 501

test3 155848551 155848551 155848551

test4 5545 5455 5455

test5 123456 654321 654321

Passed all tests!

Točno

Bodovi za ovaj pokuštaj: 20,00/20,00. Zbog prethodnih pokušaja, broj bodova je: 15,00/20,00.

/
Započeto ponedjeljak, 1. veljače 2021., 18:31
Stanje Završeno
Završeno ponedjeljak, 1. veljače 2021., 19:08
Proteklo vrijeme 37 min 42 s
Ocjena 91,00 od maksimalno 100,00

Pitanje 1 Točno Broj bodova: 2,00 od 2,00

Algoritam sekvencijalnog pretraživanja je najbrži algoritam za pretraživanje podataka koji su sortirani.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 2 Točno Broj bodova: 2,00 od 2,00

n
Kvadratna vremenska složenost se iskazuje u O-notaciji s O( 2 )

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 3 Točno Broj bodova: 2,00 od 2,00

Pristup prvom elementu povezane liste je trenutačan O(1).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 4 Točno Broj bodova: 2,00 od 2,00

Pristup svakom elementu povezane liste je trenutačan O(1).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 5 Točno Broj bodova: 2,00 od 2,00

Rekurzivne funkcije imaju direktnu vezu sa strukturom podataka stog.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 6 Točno Broj bodova: 2,00 od 2,00

Rekurzivne funkcije ili procedure mogu pozivati samu sebe samo jednom.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 7 Točno Broj bodova: 2,00 od 2,00

Svaki čvor binarnog stabla može imati najviše dva nasljednika.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 8 Točno Broj bodova: 2,00 od 2,00

Binarno stablo se u memoriji može prikazivati pomoću matrice s tri stupca.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 9 Točno Broj bodova: 2,00 od 2,00

Algoritam za sortiranje BubbleSort je sporiji od algoritma za sortiranje koji koristi hrpu HeapSort.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

/
Pitanje 10 Točno Broj bodova: 2,00 od 2,00

Za dodavanje novog elementa u hrpu potrebno je linarno vrijeme O( N ).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 11 Točno Broj bodova: 4,00 od 4,00

Zadan je dio programa u C-u koji je napisan prema algoritmu binarnog pretraživanja. Napisani su i brojevi linija. Međutim, u jednoj liniji se nalazi greška. U kojoj?

1. dg = 0;
2. gg = N+1;
3. for (;;) {
4. s = (dg+gg)/2;
5. if (V[s]==x) {
6. printf( "%d Pronadjen! Na %d. poziciji u nizu.\n", x, s );
7. exit( 0 );
8. }
9. if (x<V[s]) gg = s-1;
10. if (x>V[s]) dg = s+1;
11. if (dg>=gg) {
12. printf( "%d nije pronadjen!\n", x );
13. exit( 1 );
14. }
15. }

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 2

Ispravan odgovor je: 2

Pitanje 12 Točno Broj bodova: 4,00 od 4,00

Pristup elementu kod povezanih lista ima složenost O( n ). Ovakva složenost se još naziva i linearna složenost.

Pitanje 13 Točno Broj bodova: 4,00 od 4,00

Kod problema povrh(a,b), ako je a=1495, koliko treba biti b, da bi izvršavanje ove funkcije trajalo najduže?

Odgovor: 747

Ispravan odgovor je: 748

/
Pitanje 14 Točno Broj bodova: 4,00 od 4,00

Stablo na slici je:

Odaberite jedan ili više odgovora:


Opće stablo

Binarno stablo

Potpuno binarno stablo

Hrpa

Poredano binarno stablo

Vaš odgovor je točan.

Ispravni odgovori su: Poredano binarno stablo, Opće stablo, Binarno stablo

Pitanje 15 Točno Broj bodova: 4,00 od 4,00

Neka je zadana procedura void UHRPI(int i) koja uhrpljava čvor na i-tom mjestu prema algoritmu koji smo učili na predavanju i procedura zamjeni(..) koja
zamjenjuje mjesta dva elementa u zadanom nizu V od N elemenata. NH je broj elemenata hrpe.

Prema algoritmu za soritranje koristeći hrpu dana je sljedeća procedura u C-u:

1. void HeapSort() {
2. int i;
3. NH = N;
4. for (i=NH/2; i>=0; i--) UHRPI( 0 );
5. for (i=NH-1; i>=1; i--) {
6. zamjeni( &V[0], &V[i] );
7. NH--;
8. UHRPI( 0 );
9. }}
Međutim ova procedura ima grešku. Napišite u kojoj je liniji greška!

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 4

Ispravan odgovor je: 4

/
Pitanje 16 Djelomično točno Broj bodova: 3,00 od 5,00

U funkciji koja obavlja SELECT-SORT dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void SELEKTsort(float V [] , int n) {

int i, j;

for (i = 0; i < n - 1; i++)

for (j = i + 1; j < n; j++)

if (V[i] < V[j]) {

float temp = V[i ]

V[i] = V[j];

V[j] = temp ;

Pitanje 17 Točno Broj bodova: 5,00 od 5,00

Dana je funkcija koja generira slučajni niz sastavljen od nula i jedinica, tako da se ne mogu pojaviti više od 3 uzastopne jedinice. Popunite polja koja nedostaju tako da programski kod
radi ispravno.

void gen_array(int *a, int n) {

int uzast1=0;

for (int i=0; i<n; i++) {

a[i] = rand()% 2 ;

if (a[i] == 1) uzast1++;

if (uzast1> 3 ) {

a[i] = 0 ;

uzast1 = 0 ;

Pitanje 18 Točno Broj bodova: 5,00 od 5,00

U funkciji koja obavlja SEKVENCIJALNO PRETRAŽIVANJE dodajte dijelove koji nedostaju kako bi ona ispravno radila.

int sekv_pret(int V [], int x, int n) {

int i;

for (i = 0 ; i < n ; i++) {

if (V[ i ] == x)

return i;

return -1;

/
Pitanje 19 Djelomično točno Broj bodova: 3,00 od 5,00

U funkciji za obilazak stabla dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void preOrder (struct cvor* root){

if( root==NULL ) return ;

else{

printf( root->x );

preOrder( root-> lijevi );

preOrder( root-> desni );

Pitanje 20 Točno Broj bodova: 10,00 od 10,00

Preuredi redoslijed naredbi funkcije ubaci koja ubacuje novi čvor na početak kraj povezane liste.

void ubaci( oe **t, int novix ) {

oe *t2, *novi = (oe *)malloc( sizeof(oe) );

novi->x = novix;
novi->sljedeci = NULL;

if (*t==NULL) { *t = novi; return; }

t2 = *t;
while (t2->sljedeci!=NULL) t2=t2->sljedeci;
t2->sljedeci = novi;

Vaš odgovor je točan.

/
Pitanje 21 Točno Broj bodova: 10,00 od 10,00

Povežite predložene vrste obilazaka za stablo na slici:

LND 9,12,14,17,19,23,50,54,67,72,76

LDN 12,14,9,19,23,17,67,72,54,76,50

NLD 50,17,9,14,12,23,19,76,54,72,67

Vaš odgovor je točan.

Ispravan odgovor je: LND → 9,12,14,17,19,23,50,54,67,72,76, LDN → 12,14,9,19,23,17,67,72,54,76,50, NLD → 50,17,9,14,12,23,19,76,54,72,67

/
Pitanje 22 Djelomično točno Broj bodova: 15,00 od 20,00

Napišite funkciju "void nlijevih(struct cvor *root)" koja će izračunati i na ekran ispisati koliko ima čvorova u lijevom podstablu od korijenskog čvora root.

Struktura cvor sastoji se od cjelobrojnog podatka X i pokazivača na lijevi i desni nasljednik (*lijevi, *desni).

Answer: (penalty regime: 0,25,50,75,100 %)

1 int count = 0;
2 void cvorova(struct cvor *root) {
3 if(root == NULL) {
4 return;
5 }
6 cvorova(root->desni);
7 count++;
8 cvorova(root->lijevi);
9 }
10
11 void nlijevih(struct cvor *root){
12 if(root==NULL || root->desni==NULL) {
13 printf("0");
14 }
15 cvorova(root->lijevi);
16 printf("%d\n", count);
17 }

Test Got

test1 9

test2 1

test3 0

test4 ***Error***
Segmentation fault

Djelomično točno

Broj bodova za ovaj odgovor: 15,00/20,00.

/
Započeto ponedjeljak, 1. veljače 2021., 18:30
Stanje Završeno
Završeno ponedjeljak, 1. veljače 2021., 19:15
Proteklo vrijeme 45 min 1 sek
Ocjena 76,00 od maksimalno 100,00

Pitanje 1 Točno Broj bodova: 2,00 od 2,00

Svi elementi niza moraju zauzimati jednako mjesta u memoriji.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 2 Točno Broj bodova: 2,00 od 2,00

O-notacija je način mjerenja vremena izvršavanja programa u milisekundama.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 3 Točno Broj bodova: 2,00 od 2,00

Čvor povezane liste ne možemo koristiti u C-u bez korištenja ključne riječi i naredbe typedef.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 4 Točno Broj bodova: 2,00 od 2,00

Povezane liste uz svaki podatak koriste i dodatnu memorijsku adresu kako bi se znalo gdje je sljedeći podatak.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 5 Točno Broj bodova: 2,00 od 2,00

Rekurzivne funkcije imaju direktnu vezu sa strukturom podataka stog.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 6 Točno Broj bodova: 2,00 od 2,00

b
Složenost rekurzivne funkcije povrh( a, b ) jeste O( a ).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 7 Točno Broj bodova: 2,00 od 2,00

Stablo je linarna struktura podataka.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 8 Točno Broj bodova: 2,00 od 2,00

Obilazak binarnog stabla 'Inorder' se naziva još i LND.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 9 Točno Broj bodova: 2,00 od 2,00

Hrpa sa N čvorova (N>10) može imati u najgorem slučaju N razina.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 10 Točno Broj bodova: 2,00 od 2,00

Drugo ime za hrpu (heap) je gomila.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 11 Točno Broj bodova: 4,00 od 4,00

Zadan je dio programa u C-u koji je napisan prema algoritmu binarnog pretraživanja. Napisani su i brojevi linija.
Međutim, u jednoj liniji se nalazi greška. U kojoj?

1. dg = 0;
2. gg = N-1;
3. for (;;) {
4. s = (dg+gg)/2;
5. if (V[s]==x) {
6. printf( "%d Pronadjen! Na %d. poziciji u nizu.\n", x, s );
7. exit( 0 );
8. }
9. if (x<V[s]) gg = s-1;
10. if (x<V[s]) dg = s+1;
11. if (dg>=gg) {
12. printf( "%d nije pronadjen!\n", x );
13. exit( 1 );
14. }
15. }

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 10

Ispravan odgovor je: 10

/
Pitanje 12 Netočno Broj bodova: 0,00 od 4,00

Ova slika ilustrira:

Odaberite jedan odgovor:


a. Dvostruko povezanu listu

b. Matricu (dvodimenzionalno polje)

c. Niz podataka (jednodimenzionalno polje)

d. Kolonu kamiona

e. Povezanu listu nakon ubacivanja novog čvora N

Vaš odgovor nije točan.

Ispravan odgovor je: Povezanu listu nakon ubacivanja novog čvora N

Pitanje 13 Točno Broj bodova: 4,00 od 4,00

Kod problema povrh(a,b), ako je a=781, koliko treba biti b, da bi izvršavanje ove funkcije trajalo najduže?

Odgovor: 390

Ispravan odgovor je: 390

/
Pitanje 14 Točno Broj bodova: 4,00 od 4,00

Binarno stablo se može e kasno prikazati u računalu:

Odaberite jedan ili više odgovora:

Pomoću 3 matrice

Pomoću dinamičke strukture koja sadrži vrijednost čvora i pokazivač na sljedeće čvor

Pomoću dinamičke strukture koja koristi vrijednost čvora, i pokazivače ne lijevi i desni nasljednik

Pomoću jedne povezane liste.

Pomoću matrice s tri stupca

Vaš odgovor je točan.

Ispravni odgovori su: Pomoću matrice s tri stupca, Pomoću dinamičke strukture koja koristi vrijednost čvora, i pokazivače
ne lijevi i desni nasljednik

Pitanje 15 Točno Broj bodova: 4,00 od 4,00

Neka je zadana procedura void UHRPI(int i) koja uhrpljava čvor na i-tom mjestu prema algoritmu koji smo učili na
predavanju i procedura zamjeni(..) koja zamjenjuje mjesta dva elementa u zadanom nizu V od N elemenata. NH
je broj elemenata hrpe.

Prema algoritmu za soritranje koristeći hrpu dana je sljedeća procedura u C-u:

1. void HeapSort() {
2. int i;
3. NH = N;
4. for (i=NH/2; i>=0; i--) UHRPI( i );
5. for (i=NH-1; i>=1; i--) {
6. zamjeni( &V[i], &V[i-1] );
7. NH--;
8. UHRPI( 0 );
9. }}
Međutim ova procedura ima grešku. Napišite u kojoj je liniji greška!

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 6

Ispravan odgovor je: 6

/
Pitanje 16 Točno Broj bodova: 5,00 od 5,00

U funkciji koja obavlja BINARNO PRETRAŽIVANJE dodajte dijelove koji nedostaju kako bi ona ispravno radila.

int binarySearch(int arr[], int x, int n) {

int r= n -1, i, mid, l=0;

for (;;) {

mid = (l + r) / 2 ;

if (arr[mid] == x) return mid;

if (arr[mid] > x) r = mid - 1;

if (arr[mid] < x) l = mid + 1;

if (l >= r) return -1;

Pitanje 17 Točno Broj bodova: 5,00 od 5,00

U funkciji koja dodaje element u povezanu listu dodajte dijelove koji nedostaju kako bi ona ispravno radila.

struct ppopis{
int broj;
ppopis * next;
};

void obrisi_kraj(ppopis *glava){


ppopis *temp1;
temp1 = new ppopis;

temp1 = glava ;

ppopis *old_temp;
while(temp1->next!=NULL){

old_temp = temp1;

temp1 = temp1-> next ;

old_temp ->next = NULL;

free( temp1 );

/
Pitanje 18 Točno Broj bodova: 5,00 od 5,00

U funkciji BUBBLE-SORT koja sortira podatke niza dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void bubble_sort(int *V, int n) {

for (int i = 0 ; i < n - 1; i++)

for (int j = 0; j < n - 1 - i; j++)

if (V[j] > V[j + 1])

Swap(&V[ j ], &V[j + 1]);

Pitanje 19 Točno Broj bodova: 5,00 od 5,00

U funkciji koja obavlja SELECT-SORT dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void SELEKTsort(float V [] , int n) {

int i, j;

for (i = 0; i < n - 1; i++)

for (j = i + 1; j < n; j++)

if (V[i] > V[j]) {

float temp = V[i ];

V[i] = V[j];

V[j] = temp ;

/
Pitanje 20 Točno Broj bodova: 10,00 od 10,00

Preuredi redoslijed naredbi funkcije brojparnih koja izračunava i vraća kao rezultat broj parnih podataka u
povezanoj listi.

int brojparnih( oe *pr ) {

int rez = 0;
oe *t;

for (t=pr; t!=NULL; t=t->sljedeci)

if (t->x%2==0) rez++;

return rez;

Vaš odgovor je točan.

/
Pitanje 21 Točno Broj bodova: 10,00 od 10,00

Dodijelite svakom čvoru njegove nasljednike (ako ih ima) za poredano binarno stablo predstavljeno ulaznim
vektorom [6,8,1,22,30,48,18,12,100,20,40,19].

NAPOMENA: oznaka '-' označava da ne postoji nasljednik!

8 -,22

18 12,20

40 -,-

12 -,-

6 1,8

100 -,-

1 -,-

30 -,48

20 19,-

48 40,100

22 18,30

19 -,-

Vaš odgovor je točan.

Ispravan odgovor je: 8 → -,22, 18 → 12,20, 40 → -,-, 12 → -,-, 6 → 1,8, 100 → -,-, 1 → -,-, 30 → -,48, 20 → 19,-, 48 → 40,100, 22
→ 18,30, 19 → -,-

/
Pitanje 22 Djelomično točno Broj bodova: 0,00 od 20,00

Napisati funkciju "void obrisiNeparne( oe *prvi )" koja briše sve elemente cjelobrojne povezane liste koji su neparni.

Osnovni element liste oe se sastoji od cjelobrojnog podatka 'x', te pokazivača na isti takav osnovni element 'sljedeci'.

Npr. ako su u povezanoj listi redom elementi 1,7,12,5,4

Lista nakon brisanja neparnih treba izgledati: 12,4

Answer: (penalty regime: 0,100 %)

1 void obrisiNeparne(oe* prvi){


2 if(prvi==NULL) return;
3 oe* temp = NULL;
4 oe* p = prvi;
5 oe* zaobrisat;
6
7 if(prvi->x % 2 != 0 && prvi != NULL)
8 free(prvi);
9
10 while(p != NULL){
11 if(p->x%2==0){
12 temp=p;
13 p=p->sljedeci;
14 }
15 else{
16 zaobrisat = p;
17 if(temp==NULL){
18 prvi = prvi->sljedeci;
19 p=prvi;
20 p=p->sljedeci;
21 }
22 else{
23 temp->sljedeci=p->sljedeci;
24 p=p->sljedeci;
25 }
26 free(zaobrisat);
27 }
28 }
29 }

/
Test Input Expected

test2 2 8 0

test3 3

test4 4 18

test5 5

Some hidden test cases failed, too.

Djelomično točno

Bodovi za ovaj pokuštaj: 8,00/20,00. Zbog prethodnih pokušaja, broj bodova je: 0,00/20,00.

/
Započeto ponedjeljak, 1. veljače 2021., 18:30
Stanje Završeno
Završeno ponedjeljak, 1. veljače 2021., 19:13
Proteklo vrijeme 43 min 21 s
Ocjena 60,67 od maksimalno 100,00

Pitanje 1 Točno Broj bodova: 2,00 od 2,00

Vremenska složenost O( n ) je bolja (brži algoritam) od vremenske složenosti O( n log n ).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 2 Točno Broj bodova: 2,00 od 2,00

Najbrži algoritam za sortiranje niza podataka je SELECT SORT algoritam.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.


/
Pitanje 3 Točno Broj bodova: 2,00 od 2,00

Čvor povezane liste ne možemo koristiti u C-u bez korištenja ključne riječi i naredbe typedef.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 4 Točno Broj bodova: 2,00 od 2,00

Povezane liste su dinamička struktura podataka (koriste dinamičko zauzimanje memorije).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

/
Pitanje 5 Netočno Broj bodova: 0,00 od 2,00

Rekurzivne funkcije ili procedure koriste sistemski stog.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 6 Točno Broj bodova: 2,00 od 2,00

Rekurzivno rješavanje problema povrh zahtjeva dva rekurzivna poziva.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

/
Pitanje 7 Točno Broj bodova: 2,00 od 2,00

Stablo se u memoriji prikazuje pomoću jednog niza i jednog pokazivača.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 8 Točno Broj bodova: 2,00 od 2,00

Kod prikaza binarnog stabla u matrici s tri stupca korijenski čvor mora biti u prvom retku.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

/
Pitanje 9 Točno Broj bodova: 2,00 od 2,00

Svako potpuno binarno stablo je hrpa.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 10 Točno Broj bodova: 2,00 od 2,00

Posljednja razina u hrpi ne mora biti popunjena, ali mora biti popunjavana s lijeva na desno.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

/
Pitanje 11 Točno Broj bodova: 4,00 od 4,00

Zadan je dio programa u C-u koji je napisan prema algoritmu binarnog pretraživanja. Napisani su i brojevi linija. Međutim, u jednoj liniji se nalazi
greška. U kojoj?

1. dg = 0;
2. gg = N-1;
3. for (;;) {
4. s = (dg+gg)/2;
5. if (V[s]==x) {
6. printf( "%d Pronadjen! Na %d. poziciji u nizu.\n", x, s );
7. exit( 0 );
8. }
9. if (x<V[s]) gg = s-1;
10. if (x>V[s]) dg = s+1;
11. if (V[s]!=x) {
12. printf( "%d nije pronadjen!\n", x );
13. exit( 1 );
14. }
15. }

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 11

Ispravan odgovor je: 11

/
Pitanje 12 Točno Broj bodova: 4,00 od 4,00

Povezana lista ima sljedeća svojstva:

Odaberite jedan ili više odgovora:


To je dinamička struktura podataka (koristi dinamičko zauzimanje i oslobađanje memorije)

To je najpogodnija struktura podataka za pretraživanje podataka.

Svaki element zauzima više mjesta u memoriji nego element kod nizova (polja).

Svi elementi povezane liste slijede u memoriji jedan iza drugoga.

Svakom elementu se može pristupiti trenutačno O(1)

Vaš odgovor je točan.

Ispravni odgovori su: To je dinamička struktura podataka (koristi dinamičko zauzimanje i oslobađanje memorije), Svaki element zauzima više mjesta u
memoriji nego element kod nizova (polja).

Pitanje 13 Točno Broj bodova: 4,00 od 4,00

Ako je zadana rekurzivna funcija koja računa faktorijele: int fakt( int n ), koliko će biti rekurzivnih poziva ako ju pozovemo s fakt( 272 )?

Odgovor: 272

Ispravan odgovor je: 272

/
Pitanje 14 Točno Broj bodova: 4,00 od 4,00

Stablo kod kojeg sve razine moraju biti popunjene, osim zadnje razine koja mora biti popunjena s lijeva na desno se naziva:

Odaberite jedan odgovor:


a. Hu manovo binarno stablo

b. Opće stablo

c. Prošireno binarno stablo

d. Potpuno binarno stablo

e. Poredano binarno stablo

Vaš odgovor je točan.

Ispravan odgovor je: Potpuno binarno stablo

/
Pitanje 15 Netočno Broj bodova: 0,00 od 4,00

Neka je zadana procedura void UHRPI(int i) koja uhrpljava čvor na i-tom mjestu prema algoritmu koji smo učili na predavanju i
procedura zamjeni(..) koja zamjenjuje mjesta dva elementa u zadanom nizu V od N elemenata. NH je broj elemenata hrpe.

Prema algoritmu za soritranje koristeći hrpu dana je sljedeća procedura u C-u:

1. void HeapSort() {
2. int i;
3. NH = N;
4. for (i=NH/2, i>=0, i--) UHRPI( i );
5. for (i=NH-1, i>=1, i--) {
6. zamjeni( &V[0], &V[i] );
7. NH--;
8. UHRPI( 0 );
9. }}
Međutim ova procedura ima grešku. Napišite u kojoj je liniji greška!

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 6

Ispravan odgovor je: 4

/
Pitanje 16 Djelomično točno Broj bodova: 2,00 od 5,00

U funkciji koja dodaje element u povezanu listu dodajte dijelove koji nedostaju kako bi ona ispravno radila.

struct ppopis{
int broj;
ppopis * next;
};

void obrisi_kraj(ppopis *glava){


ppopis *temp1;
temp1 = new ppopis;

temp1 = &glava ;

ppopis *old_temp;
while(temp1->next!=NULL){

old_temp = temp1;

temp1 = temp1-> next ;

temp1 ->next = NULL;

free( old_temp->next );

/
Pitanje 17 Točno Broj bodova: 5,00 od 5,00

U rekurzivnoj funkciji MERGE-SORT koja sortira podatke niza dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void MergeSort(int l, int r) {

if (l < r ) {

int s = (l+r) / 2 ;

MergeSort(l, s);

MergeSort (s + 1 , r);

merge( l , r);

/
Pitanje 18 Točno Broj bodova: 5,00 od 5,00

U funkciji koja briše duplikate (pretpostavljamo da je lista sortirana) iz povezane liste dodajte dijelove koji nedostaju kako bi ona ispravno radila.

struct element{

int X;

element * next;

};

void duplikati(element *glava) {

element *p = glava;

element *tmp = NULL;

while (p->next) {

if (p->X == p->next->X ) {

tmp = p->next->next ;

free( p->next );

p->next = tmp ;

}else {

p = p->next ;

/
Pitanje 19 Djelomično točno Broj bodova: 3,00 od 5,00

U funkciji za obilazak stabla dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void inOrder (struct cvor* root){

if( root == NULL ) return ;

else{

inOrder(root-> left );

printf( "%d",root->x );

inOrder(root-> right );

/
Pitanje 20 Djelomično točno Broj bodova: 1,67 od 10,00

Preuredi redoslijed naredbi funkcije brojparnih koja izračunava i vraća kao rezultat broj parnih podataka u povezanoj listi.

for (t=pr; t!=NULL; t=t->sljedeci)

int rez = 0;
oe *t;

if (t->x%2==0) rez++;

int brojparnih( oe *pr ) {

return rez;

Vaš odgovor je djelomično točan.

Vrsta ocjenjivanja: Apsolutna pozicija

Detalji ocjene: 1 / 6 = 17%

Here are the scores for each item in this response:

1. 0 / 1 = 0%
2. 1 / 1 = 100%
3. 0 / 1 = 0%
4. 0 / 1 = 0%
5. 0 / 1 = 0%
6. 0 / 1 = 0%

Točan redoslijed za ove odgovore je slijedeći:

1. int brojparnih( oe *pr ) {


2. int rez = 0;
oe *t;
3. for (t=pr; t!=NULL; t=t->sljedeci)
/
4. if (t->x%2==0) rez++;
5. return rez;
6. }

Pitanje 21 Točno Broj bodova: 10,00 od 10,00

Uredite redoslijed naredbi kako dobili funkciju 'obilazak' koja bi odgovarala postorder (LDN) obilasku stabla.

void obilazak( cvor *t )

if (cvor->lijevi!=NULL) obilazak( cvor->lijevi );

if (cvor->desni!=NULL) obilazak( cvor->desni );

printf("%d ",cvor->x);

Vaš odgovor je točan.

/
Pitanje 22 Netočno Broj bodova: 0,00 od 20,00

Dovršite C program za ubacivanje novog čvora u poredano binarno stablo:

void ubaci(struct cvor *r, struct cvor *p){

if((r->desni==NULL)&&(p->X > r->X)){

r->desni = p;

//vaš kod

Answer: (penalty regime: 0,25,50,75,100 %)

1 else if((r->desni != NULL)&&(p->x > r->x)){


2 ubaci(r->desni,p);
3 }
4
5 if((r->lijevi == NULL)&& (p->x < r->x)){
6 r->lijevi = p;
7 }
8
9 else if ((r->lijevi != NULL)&&(p->x < r->x)){
10 ubaci(r->lijevi,p);
11 }

Syntax Error(s) /
__tester__.c: In function ‘ubaci’:
__tester__.c:18:32: error: ‘struct cvor’ has no member named ‘x’
else if((r->desni != NULL)&&(p->x > r->x)){
^~
__tester__.c:18:39: error: ‘struct cvor’ has no member named ‘x’
else if((r->desni != NULL)&&(p->x > r->x)){
^~
__tester__.c:22:28: error: ‘struct cvor’ has no member named ‘x’
if((r->lijevi == NULL)&& (p->x < r->x)){
^~
__tester__.c:22:35: error: ‘struct cvor’ has no member named ‘x’
if((r->lijevi == NULL)&& (p->x < r->x)){
^~
__tester__.c:26:33: error: ‘struct cvor’ has no member named ‘x’
else if ((r->lijevi != NULL)&&(p->x < r->x)){
^~
__tester__.c:26:40: error: ‘struct cvor’ has no member named ‘x’
else if ((r->lijevi != NULL)&&(p->x < r->x)){
^~

Netočno

Broj bodova za ovaj odgovor: 0,00/20,00.

/
Započeto ponedjeljak, 1. veljače 2021., 18:30
Stanje Završeno
Završeno ponedjeljak, 1. veljače 2021., 18:57
Proteklo vrijeme 27 min 22 s
Ocjena 91,67 od maksimalno 100,00

Pitanje 1 Točno Broj bodova: 2,00 od 2,00

Algoritam sekvencijalnog pretraživanja je najbrži algoritam za pretraživanje podataka koji su sortirani.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 2 Točno Broj bodova: 2,00 od 2,00

Pronaći najveći podatak u nesortiranom nizu se može trenutačno: O(1).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 3 Točno Broj bodova: 2,00 od 2,00

Ako imamo sortiranu povezanu listu onda ju možemo pretraživati algoritmom binarnog pretraživanja.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 4 Točno Broj bodova: 2,00 od 2,00

Povezana lista se može obići unatrag (od zadnjeg elementa do prvog) u linearnom vremenu O( n ).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 5 Točno Broj bodova: 2,00 od 2,00

Rekurzivno rješenje se uvijek izvodi puno brže nego iterativno rješenje.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 6 Netočno Broj bodova: 0,00 od 2,00

Rekurzivne funkcije ili procedure koriste sistemski stog.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 7 Točno Broj bodova: 2,00 od 2,00

Kod prikaza binarnog stabla u matrici s tri stupca korijenski čvor mora biti u prvom retku.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 8 Točno Broj bodova: 2,00 od 2,00

Postoje tri vrste obilaska binarnog stabla po širini.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 9 Točno Broj bodova: 2,00 od 2,00

Svaka hrpa je potpuno binarno stablo.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 10 Točno Broj bodova: 2,00 od 2,00

Min-hrpa uvijek ima manji broj elemenata (čvorova) od Max-hrpe.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 11 Točno Broj bodova: 4,00 od 4,00

Zadan je dio programa u C-u koji je napisan prema algoritmu binarnog pretraživanja. Napisani su i brojevi
linija. Međutim, u jednoj liniji se nalazi greška. U kojoj?

1. dg = 0;
2. gg = N-1;
3. for (;;) {
4. s = (dg+gg)/2;
5. if (s==x) {
6. printf( "%d Pronadjen! Na %d. poziciji u nizu.\n", x, s );
7. exit( 0 );
8. }
9. if (x<V[s]) gg = s-1;
10. if (x>V[s]) dg = s+1;
11. if (dg>=gg) {
12. printf( "%d nije pronadjen!\n", x );
13. exit( 1 );
14. }
15. }

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 5

Ispravan odgovor je: 5

/
Pitanje 12 Točno Broj bodova: 4,00 od 4,00

Poredajte po vremenskom trajanju slijedeće operacije (od najkraćeg do najduljeg trajanja).

Dodavanje novog elementa na početak povezane liste 2 (srednje)

Brisanje svih elemenata liste 3 (najsporije)

Ispitivanje je li povezana lista prazna 1 (najbrže)

Vaš odgovor je točan.

Ispravan odgovor je: Dodavanje novog elementa na početak povezane liste → 2 (srednje), Brisanje svih elemenata
liste → 3 (najsporije), Ispitivanje je li povezana lista prazna → 1 (najbrže)

Pitanje 13 Točno Broj bodova: 4,00 od 4,00

Ako je zadana rekurzivna funcija koja računa faktorijele: int fakt( int n ), koliko će biti rekurzivnih
poziva ako ju pozovemo s fakt( 207 )?

Odgovor: 207

Ispravan odgovor je: 207

/
Pitanje 14 Djelomično točno Broj bodova: 2,67 od 4,00

Stablo na slici je:

Odaberite jedan ili više odgovora:


Binarno stablo

Opće stablo

Hrpa

Potpuno binarno stablo

Poredano binarno stablo

Vaš odgovor je djelomično točan.

Broj točnih odgovora: 2


Ispravni odgovori su: Poredano binarno stablo, Opće stablo, Binarno stablo

/
Pitanje 15 Netočno Broj bodova: 0,00 od 4,00

Neka je zadana procedura void UHRPI(int i) koja uhrpljava čvor na i-tom mjestu prema algoritmu koji
smo učili na predavanju i procedura zamjeni(..) koja zamjenjuje mjesta dva elementa u zadanom nizu V
od N elemenata. NH je broj elemenata hrpe.

Prema algoritmu za soritranje koristeći hrpu dana je sljedeća procedura u C-u:

1. void HeapSort() {
2. int i;
3. NH = N;
4. for (i=NH/2; i>=0; i--) UHRPI( i );
5. for (i=NH-1; i>=1; i--) {
6. zamjeni( &V[0], &V[i] );
7. NH--;
8. UHRPI( 1 );
9. }}
Međutim ova procedura ima grešku. Napišite u kojoj je liniji greška!

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 6

Ispravan odgovor je: 8

/
Pitanje 16 Točno Broj bodova: 5,00 od 5,00

U funkciji koja obavlja BINARNO PRETRAŽIVANJE dodajte dijelove koji nedostaju kako bi ona ispravno radila.

int binarySearch(int arr[], int x, int n) {

int r= n -1, i, mid, l=0;

for (;;) {

mid = (l + r) / 2 ;

if (arr[mid] == x) return mid;

if (arr[mid] > x) r = mid - 1;

if (arr[mid] < x) l = mid + 1;

if (l >= r) return -1;

Pitanje 17 Točno Broj bodova: 5,00 od 5,00

U funkciji koja obavlja SEKVENCIJALNO PRETRAŽIVANJE dodajte dijelove koji nedostaju kako bi ona ispravno radila.

int sekv_pret(int V [], int x, int n) {

int i;

for (i = 0 ; i < n ; i++) {

if (V[ i ] == x)

return i;

return -1;

/
Pitanje 18 Točno Broj bodova: 5,00 od 5,00

U funkciji HEAP SORT koja sortira podatke koristeći hrpu dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void HeapSort(int arr [] , int n) {

for (int i = n / 2 - 1; i >= 0; i--) heapify(arr, n, i);

for (int i = n - 1; i >= 0; i-- ) {

Swap(&arr[0], &arr[ i ]);

heapify (arr, i, 0);

/
Pitanje 19 Djelomično točno Broj bodova: 4,00 od 5,00

U funkciji koja stvara povezanu listu dodajte dijelove koji nedostaju kako bi ona ispravno radila.

struct cvor{

int x;

struct cvor * prev;

struct cvor *next;

};

struct cvor* stvori_listu(struct cvor* glava, int polje[],int n){

struct cvor * p;

for(int i=0;i<n;i++){

if(i==0){

glava = (struct cvor*)malloc(sizeof(struct cvor));

glava-> prev =NULL;

glava->next=NULL;

glava ->x=polje[i];

p=glava;

}else{

struct cvor *tmp;

tmp ->next=(struct cvor*)malloc(sizeof(struct cvor));

tmp=p;

p = p->next;

p->next= NULL ;

p-> prev =tmp;

p->x=polje[i];

return glava;

/
Pitanje 20 Točno Broj bodova: 10,00 od 10,00

Što će ispisati sljedeći program:

#include <stdio.h>
#include <stdlib.h>

struct oe_ { int x; struct oe_ *sljedeci; };


typedef struct oe_ oe;

void ubaci( oe **t, int novix ) {


oe *novi = (oe *)malloc( sizeof(oe) );
novi->x = novix;
novi->sljedeci = *t;
*t = novi;
}

int main() {
oe *p1 = NULL, *p2=NULL, *t1, *t2;
ubaci( &p1, 1 );
ubaci( &p2, 2 );
ubaci( &p1, 3 );
ubaci( &p2, 4 );
ubaci( &p1, 5 );
ubaci( &p2, 6 );
for (t1=p1, t2=p2; t1!=NULL; t1=t1->sljedeci)
printf("%d%d",t1->x, t2->x);
return 0;
}

Odgovor: 563616

Ispravan odgovor je: 563616

/
Pitanje 21 Točno Broj bodova: 10,00 od 10,00

Uredite redoslijed naredbi kako dobili funkciju 'obilazak' koja bi odgovarala inorder (LND) obilasku stabla.

void obilazak( cvor *t )

if (cvor->lijevi!=NULL) obilazak( cvor->lijevi );

printf("%d ",cvor->x);

if (cvor->desni!=NULL) obilazak( cvor->desni );

Vaš odgovor je točan.

/
Pitanje 22 Točno Broj bodova: 20,00 od 20,00

Dovršite C program za ubacivanje novog čvora u poredano binarno stablo:

void ubaci(struct cvor *r, struct cvor *p){

if((r->desni==NULL)&&(p->X > r->X)){

r->desni = p;

//vaš kod

Answer: (penalty regime: 0,25,50,75,100 %)

1 else if((r->desni != NULL) && (p->X > r->X)){


2 ubaci(r->desni,p);
3 }
4 if((r->lijevi == NULL) && (p->X < r->X)){
5 r->lijevi = p;
6 }
7 else if((r->lijevi != NULL) && (p->X < r->X)){
8 ubaci(r->lijevi,p);
9 }

Test Expected Got

test1 88 12 4 1 5 7 18 13 36 44 100 88 12 4 1 5 7 18 13 36 44 100

Passed all tests!

Točno

Broj bodova za ovaj odgovor: 20,00/20,00.

/
Započeto ponedjeljak, 1. veljače 2021., 18:30
 Navigacija u testu Stanje Završeno
Završeno ponedjeljak, 1. veljače 2021., 19:10
1 2 3 4 5 6 7
Proteklo vrijeme 40 min 7 s
Ocjena 93,00 od maksimalno 100,00
8 9 10 11 12 13 14

15 16 17 18 19 20 21
Pitanje 1 Netočno Broj bodova: 0,00 od 2,00 Označi pitanje

22 Vremenska složenost O( n ) je bolja (brži algoritam) od vremenske složenosti O( n log n ).

Odaberite jedan odgovor:


Prikaži jednu po jednu stranicu
Točno
Završi pregled
Netočno

Ispravan odgovor je 'Točno'.

Pitanje 2 Točno Broj bodova: 2,00 od 2,00 Označi pitanje

Algoritam SELECT-SORT ima kvadratnu vremensku složenost.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 3 Točno Broj bodova: 2,00 od 2,00 Označi pitanje

Povezane liste uz svaki podatak koriste i dodatnu memorijsku adresu kako bi se znalo gdje je sljedeći podatak.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 4 Netočno Broj bodova: 0,00 od 2,00 Označi pitanje

Ako povezana lista ima pokazivače na prvog i na zadnjeg, onda možemo trenutačno (u vremenu O(1)) obrisati zadnji podatak.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 5 Točno Broj bodova: 2,00 od 2,00 Označi pitanje

Rekurzivno rješavanje problema povrh zahtjeva dva rekurzivna poziva.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 6 Točno Broj bodova: 2,00 od 2,00 Kliknite za uklanjanje oznake neprikladnosti

Rekurzivne funkcije imaju direktnu vezu sa strukturom podataka stog.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 7 Točno Broj bodova: 2,00 od 2,00 Označi pitanje

Kod prikaza binarnog stabla u matrici s tri stupca korijenski čvor mora biti u prvom retku.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 8 Točno Broj bodova: 2,00 od 2,00 Označi pitanje

Potpuno binarnos stablo se može prikazati u memoriji pomoću jednog niza.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 9 Točno Broj bodova: 2,00 od 2,00 Kliknite za uklanjanje oznake neprikladnosti

Hrpa sa N čvorova (N>10) može imati u najgorem slučaju N razina.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 10 Točno Broj bodova: 2,00 od 2,00 Označi pitanje

Roditeljski čvor od i-tog čvora u hrpi se nalazi po formuli 2*i.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 11 Točno Broj bodova: 4,00 od 4,00 Označi pitanje

Zadan je dio programa u C-u koji je napisan prema algoritmu binarnog pretraživanja. Napisani su i brojevi linija. Međutim, u jednoj liniji se
nalazi greška. U kojoj?

1. dg = 0;
2. gg = N-1;
3. for (;;) {
4. s = (dg+gg)/2;
5. if (V[s]==x) {
6. printf( "%d Pronadjen! Na %d. poziciji u nizu.\n", x, s );
7. exit( 0 );
8. }
9. if (x>V[s]) gg = s-1;
10. if (x>V[s]) dg = s+1;
11. if (dg>=gg) {
12. printf( "%d nije pronadjen!\n", x );
13. exit( 1 );
14. }
15. }

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 9

Ispravan odgovor je: 9

Pitanje 12 Točno Broj bodova: 4,00 od 4,00 Označi pitanje

Povezana lista ima sljedeća svojstva:

Odaberite jedan ili više odgovora:

To je dinamička struktura podataka (koristi dinamičko zauzimanje i oslobađanje memorije)

Svakom elementu se može pristupiti trenutačno O(1)

Svaki element zauzima više mjesta u memoriji nego element kod nizova (polja).

To je najpogodnija struktura podataka za pretraživanje podataka.

Svi elementi povezane liste slijede u memoriji jedan iza drugoga.

Vaš odgovor je točan.

Ispravni odgovori su: To je dinamička struktura podataka (koristi dinamičko zauzimanje i oslobađanje memorije), Svaki element zauzima više mjesta u
memoriji nego element kod nizova (polja).

Pitanje 13 Točno Broj bodova: 4,00 od 4,00 Označi pitanje

Ako je zadana rekurzivna funcija koja računa faktorijele: int fakt( int n ), koliko će biti rekurzivnih poziva ako ju pozovemo s fakt( 801 )?

Odgovor: 801

Ispravan odgovor je: 801

Pitanje 14 Točno Broj bodova: 4,00 od 4,00 Označi pitanje

Stablo na slici je:

Odaberite jedan ili više odgovora:

Poredano binarno stablo

Binarno stablo

Potpuno binarno stablo

Hrpa

Opće stablo

Vaš odgovor je točan.

Ispravni odgovori su: Poredano binarno stablo, Opće stablo, Binarno stablo

Pitanje 15 Točno Broj bodova: 4,00 od 4,00 Označi pitanje

Neka je zadana procedura void UHRPI(int i) koja uhrpljava čvor na i-tom mjestu prema algoritmu koji smo učili na predavanju i
procedura zamjeni(..) koja zamjenjuje mjesta dva elementa u zadanom nizu V od N elemenata. NH je broj elemenata hrpe.

Prema algoritmu za soritranje koristeći hrpu dana je sljedeća procedura u C-u:

1. void HeapSort() {
2. int i;
3. NH = N;
4. for (i=NH/2; i>=0; i--) UHRPI( i );
5. for (i=NH-1; i>=1; i--) {
6. zamjeni( &V[0], &V[i] );
7. NH--;
8. UHRPI( i );
9. }}
Međutim ova procedura ima grešku. Napišite u kojoj je liniji greška!

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 8

Ispravan odgovor je: 8

Pitanje 16 Točno Broj bodova: 5,00 od 5,00 Označi pitanje

U funkciji koja sortira povezanu listu dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void sortiraj(ppopis *glava){

ppopis *temp1;
temp1 = new ppopis;
ppopis *temp2;
temp2 = new ppopis;

int temp=0;

for(temp1 = glava ;temp1!= NULL ;temp1=temp1->next){

for(temp2= temp1 ->next;temp2!= NULL ;temp2=temp2->next){

if(temp1->broj > temp2->broj){

temp = temp1 ->broj;

temp1->broj = temp2->broj;
temp2->broj=temp;
}
}
}
}

Pitanje 17 Djelomično točno Broj bodova: 4,00 od 5,00 Označi pitanje

U rekurzivnoj funkciji MERGE-SORT koja sortira podatke niza dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void MergeSort(int l, int r) {

if (l < r ) {

int s = (l+r) / 2 ;

MergeSort(l, s);

MergeSort (s + 1 , r);

merge( s , r);

Pitanje 18 Točno Broj bodova: 5,00 od 5,00 Označi pitanje

U funkciji koja obavlja SELECT-SORT dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void SELEKTsort(float V [] , int n) {

int i, j;

for (i = 0; i < n - 1; i++)

for (j = i + 1; j < n; j++)

if (V[i] > V[j]) {

float temp = V[i ];

V[i] = V[j];

V[j] = temp ;

Pitanje 19 Djelomično točno Broj bodova: 3,00 od 5,00 Označi pitanje

U funkciji koja briše duplikate (pretpostavljamo da je lista sortirana) iz povezane liste dodajte dijelove koji nedostaju kako bi ona ispravno radila.

struct element{

int X;

element * next;

};

void duplikati(element *glava) {

element *p = glava;

element *tmp = NULL;

while (p->next) {

if (p->X == p->next->X ) {

tmp = p->next->next ;

free( p->next );

p->next=tmp ;

}else {

p=p->next ;

Pitanje 20 Točno Broj bodova: 10,00 od 10,00 Označi pitanje

Preuredi redoslijed naredbi funkcije ubaci koja ubacuje novi čvor na početak kraj povezane liste.

void ubaci( oe **t, int novix ) {

oe *t2, *novi = (oe *)malloc( sizeof(oe) );

novi->x = novix;
novi->sljedeci = NULL;

if (*t==NULL) { *t = novi; return; }

t2 = *t;
while (t2->sljedeci!=NULL) t2=t2->sljedeci;
t2->sljedeci = novi;

Vaš odgovor je točan.

Pitanje 21 Točno Broj bodova: 10,00 od 10,00 Označi pitanje

Uredite redoslijed naredbi kako dobili funkciju 'obilazak' koja bi odgovarala postorder (LDN) obilasku stabla.

void obilazak( cvor *t )

if (cvor->lijevi!=NULL) obilazak( cvor->lijevi );

if (cvor->desni!=NULL) obilazak( cvor->desni );

printf("%d ",cvor->x);

Vaš odgovor je točan.

Pitanje 22 Točno Broj bodova: 20,00 od 20,00 Označi pitanje

Napisati funkciju "void usporedi( oe *p1, oe *p2 )" koja uspoređuje dvije liste i ispisuje "DA" ako su liste potpuno iste, "NE" ako imaju bilo koji
element različit.

Osnovni element liste oe se sastoji od cjelobrojnog podatka 'x', te pokazivača na isti takav osnovni element 'sljedeci'.

Npr. ako je prva povezana lista: 1,7,12,5,4, druga 1,7,12,5,4, onda funkcija treba ispisati "DA".

Npr. ako je prva povezana lista: 9,7,13, druga 1,7,,5,4, onda funkcija treba ispisati "NE".

Answer: (penalty regime: 0,100 %)

1 void usporedi( oe *p1, oe *p2 ) {


2 oe *t1 = p1;
3 oe *t2 = p2;
4
5 while(t1 != NULL && t2 != NULL) {
6 if (t1->x != t2->x) {
7 printf("NE");
8 return;
9 }
10 t1 = t1->sljedeci;
11 t2 = t2->sljedeci;
12 }
13 printf("DA");
14 }

Test Input Expected Got

test1 1 DA DA

Passed all tests!

Točno

Broj bodova za ovaj odgovor: 20,00/20,00.

Završi pregled
Započeto ponedjeljak, 1. veljače 2021., 18:30
Stanje Završeno
Završeno ponedjeljak, 1. veljače 2021., 19:15
Proteklo vrijeme 45 min 1 sek
Ocjena 68,00 od maksimalno 100,00

Pitanje 1 Točno Broj bodova: 2,00 od 2,00

Ako imamo 3 n + 7 operacija u nekom algoritmu onda kažemo da on ima složenost O( 3 n ).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 2 Točno Broj bodova: 2,00 od 2,00

Svi elementi niza moraju zauzimati jednako mjesta u memoriji.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 3 Točno Broj bodova: 2,00 od 2,00

Pristup prvom elementu povezane liste je trenutačan O(1).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 4 Točno Broj bodova: 2,00 od 2,00

Pristup svakom elementu povezane liste je trenutačan O(1).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 5 Točno Broj bodova: 2,00 od 2,00

Složenost rekurzivne funkcije int fakt( int n ) koja računa faktorijel je O( n ).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 6 Točno Broj bodova: 2,00 od 2,00

Najbrže se izračunava povrh(n,n/2), a najsporije povrh(n,0).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 7 Točno Broj bodova: 2,00 od 2,00

Binarno stablo se u memoriji može prikazivati pomoću matrice s tri stupca.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 8 Točno Broj bodova: 2,00 od 2,00

Kod prikaza binarnog stabla u matrici s tri stupca korijenski čvor mora biti u prvom retku.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 9 Točno Broj bodova: 2,00 od 2,00

Min-hrpa uvijek ima manji broj elemenata (čvorova) od Max-hrpe.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 10 Točno Broj bodova: 2,00 od 2,00

2
HeapSort algoritam koji koristi hrpu za sortiranje je brži algoritam za sortiranje i njegova složenost je O( N ).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 11 Točno Broj bodova: 4,00 od 4,00

Zadan je dio programa u C-u koji je napisan prema algoritmu binarnog pretraživanja. Napisani su i brojevi linija. Međutim, u jednoj liniji se nalazi greška. U kojoj?

1. dg = 0;
2. gg = N-1;
3. for (;;) {
4. s = (dg+gg)/2;
5. if (V[s]==x) {
6. printf( "%d Pronadjen! Na %d. poziciji u nizu.\n", x, s );
7. exit( 0 );
8. }
9. if (x>V[s]) gg = s-1;
10. if (x>V[s]) dg = s+1;
11. if (dg>=gg) {
12. printf( "%d nije pronadjen!\n", x );
13. exit( 1 );
14. }
15. }

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 9

Ispravan odgovor je: 9

Pitanje 12 Točno Broj bodova: 4,00 od 4,00

Pristup elementu kod povezanih lista ima složenost O( n ). Ovakva složenost se još naziva i linearna složenost.

Pitanje 13 Nije odgovoreno Broj bodova od 4,00

Kod problema povrh(a,b), ako je a=1674, koliko treba biti b, da bi izvršavanje ove funkcije trajalo najduže?

Odgovor:

Ispravan odgovor je: 837

/
Pitanje 14 Netočno Broj bodova: 0,00 od 4,00

Stablo na slici je:

Odaberite jedan ili više odgovora:


Hrpa

Opće stablo

Poredano binarno stablo

Potpuno binarno stablo

Binarno stablo

Vaš odgovor nije točan.

Ispravni odgovori su: Poredano binarno stablo, Opće stablo, Binarno stablo

Pitanje 15 Točno Broj bodova: 4,00 od 4,00

Neka je zadana procedura void UHRPI(int i) koja uhrpljava čvor na i-tom mjestu prema algoritmu koji smo učili na predavanju i procedura zamjeni(..) koja
zamjenjuje mjesta dva elementa u zadanom nizu V od N elemenata. NH je broj elemenata hrpe.

Prema algoritmu za soritranje koristeći hrpu dana je sljedeća procedura u C-u:

1. void HeapSort() {
2. int i;
3. NH = N;
4. for (i=NH/2; i>=0; i--) UHRPI( i );
5. for (i=NH-1; i>=1; i--) {
6. zamjeni( &V[0], &V[i] );
7. NH--;
8. UHRPI( i );
9. }}
Međutim ova procedura ima grešku. Napišite u kojoj je liniji greška!

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 8

Ispravan odgovor je: 8

/
Pitanje 16 Točno Broj bodova: 5,00 od 5,00

Dana je funkcija koja generira slučajni niz sastavljen od nula i jedinica, tako da se ne mogu pojaviti više od 3 uzastopne jedinice. Popunite polja koja nedostaju tako da programski kod
radi ispravno.

void gen_array(int *a, int n) {

int uzast1=0;

for (int i=0; i<n; i++) {

a[i] = rand()% 2 ;

if (a[i] == 1) uzast1++;

if (uzast1> 3 ) {

a[i] = 0 ;

uzast1 = 0 ;

Pitanje 17 Djelomično točno Broj bodova: 4,00 od 5,00

U funkciji koja računa povrh koristeći stog dodajte dijelove koji nedostaju kako bi ona ispravno radila.

int povrhStack(Stack* s1, Stack* s2, int a, int b) {

int n, m, povrh= 0 ;

Clear(s1); Clear( s2 );

Push(s1, a); Push (s2, b);

do {

n = Pop(s1);

m = Pop(s2);

if (m == n || n == 1 then m == 0) povrh++;

else {

Push(s1, n - 1);

Push(s2, m - 1);

Push(s1, n - 1);

Push(s2, m );

} while (IsEmpty(s1) == 0);

return povrh;

/
Pitanje 18 Točno Broj bodova: 5,00 od 5,00

U funkciji koja dodaje element u povezanu listu dodajte dijelove koji nedostaju kako bi ona ispravno radila.

struct ppopis{
int broj;
ppopis * next;
};

void obrisi_kraj(ppopis *glava){


ppopis *temp1;
temp1 = new ppopis;

temp1 = glava ;

ppopis *old_temp;
while(temp1->next!=NULL){

old_temp = temp1;

temp1 = temp1-> next ;

old_temp ->next = NULL;

free( temp1 );

Pitanje 19 Djelomično točno Broj bodova: 2,00 od 5,00

U funkciji (ne rekurzivnoj) koja pretražuje poredano binarno stablo dodajte dijelove koji nedostaju kako bi ona ispravno radila.

int pretrazi(struct cvor *glava, int broj){

cvor *p = glava;

while ( glava!=NULL ){

if (broj > glava->x) glava=glava->right ;

else if(broj < glava->x) glava=glava->left ;

else return 1 ;

return 0 ;

/
Pitanje 20 Točno Broj bodova: 10,00 od 10,00

Preuredi redoslijed naredbi funkcije brojparnih koja izračunava i vraća kao rezultat broj parnih podataka u povezanoj listi.

int brojparnih( oe *pr ) {

int rez = 0;
oe *t;

for (t=pr; t!=NULL; t=t->sljedeci)

if (t->x%2==0) rez++;

return rez;

Vaš odgovor je točan.

Pitanje 21 Točno Broj bodova: 10,00 od 10,00

Povežite predložene vrste obilazaka za stablo na slici:

LND 35,44,20,42,18,43,55,16,85,90

NLD 85,44,35,43,18,20,42,55,16,90

LDN 35,42,20,18,16,55,43,44,90,85

Vaš odgovor je točan.

Ispravan odgovor je: LND → 35,44,20,42,18,43,55,16,85,90, NLD → 85,44,35,43,18,20,42,55,16,90, LDN → 35,42,20,18,16,55,43,44,90,85

/
Pitanje 22 Netočno Broj bodova: 0,00 od 20,00

Napisati rekurzivnu funkciju "int pronadji(struct cvor *root, int n)" koja će pronaći (ako postoji) traženu vrijednost n u poredanom binarnom stablu. Ako cvor sa trazenom

vrijednoscu postoji funkcija treba vratiti vrijednost 1, a ukoliko ne postoji 0. Stablo je predstavljeno strukturom cvor koja sadrzi cjelobrojni podatak X te pokazivače na lijevog
nasljednika lijevi i pokazivača na desnog nasljednika desni;

Answer: (penalty regime: 0,25,50,75,100 %)

1 int pronadji(struct cvor *root, int n){


2 while(root!=NULL){
3 if(n>root->x){
4 return pronadji(root->right,n);
5 }
6 else if

Syntax Error(s)

__tester__.c: In function ‘pronadji’:


__tester__.c:52:10: error: ‘struct cvor’ has no member named ‘x’
if(n>root->x){
^~
__tester__.c:53:21: error: ‘struct cvor’ has no member named ‘right’
return pronadji(root->right,n);
^~
__tester__.c:57:1: error: expected ‘(’ before ‘int’
int main() {
^~~
__tester__.c:98:0: note: -Wmisleading-indentation is disabled from this point onwards, since column-tracking was disabled due to the size of the code
}

__tester__.c:98:1: error: expected declaration or statement at end of input


}
^
__tester__.c:98:1: error: expected declaration or statement at end of input
__tester__.c:98:1: error: control reaches end of non-void function [-Werror=return-type]
}
^
cc1: all warnings being treated as errors

Netočno

Broj bodova za ovaj odgovor: 0,00/20,00.

/
Započeto ponedjeljak, 1. veljače 2021., 18:33
Stanje Završeno
Završeno ponedjeljak, 1. veljače 2021., 19:16
Proteklo vrijeme 43 min 50 s
Ocjena 74,33 od maksimalno 100,00

Pitanje 1 Točno Broj bodova: 2,00 od 2,00

Pronaći najveći podatak u nesortiranom nizu se može trenutačno: O(1).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 2 Točno Broj bodova: 2,00 od 2,00

O-notacija je način mjerenja vremena izvršavanja programa u milisekundama.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 3 Točno Broj bodova: 2,00 od 2,00

Ako imamo dvostruko povezanu listu onda možemo pristupiti svakom podatku trenutačno O(1).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 4 Točno Broj bodova: 2,00 od 2,00

Pristup svakom elementu povezane liste je trenutačan O(1).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 5 Netočno Broj bodova: 0,00 od 2,00

Svaki algoritam koji je dan kao rekurzivna funkcija ili procedura moze se rijestiti iterativno pomocu reda.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 6 Točno Broj bodova: 2,00 od 2,00

Najbrže se izračunava povrh(n,n/2), a najsporije povrh(n,0).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 7 Točno Broj bodova: 2,00 od 2,00

Stablo se sastoji od čvorova i vrhova.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 8 Točno Broj bodova: 2,00 od 2,00

Obilazak binarnog stabla 'Inorder' se naziva još i LND.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

/
Pitanje 9 Točno Broj bodova: 2,00 od 2,00

Na slici je prikazana Min-hrpa:

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 10 Točno Broj bodova: 2,00 od 2,00

Algoritam za sortiranje BubbleSort je sporiji od algoritma za sortiranje koji koristi hrpu HeapSort.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 11 Točno Broj bodova: 4,00 od 4,00

Zadan je dio programa u C-u koji je napisan prema algoritmu binarnog pretraživanja. Napisani su i brojevi linija. Međutim, u jednoj liniji se nalazi greška. U kojoj?

1. dg = 0;
2. gg = N-1;
3. for (;;) {
4. s = (dg+gg)/2;
5. if (s==x) {
6. printf( "%d Pronadjen! Na %d. poziciji u nizu.\n", x, s );
7. exit( 0 );
8. }
9. if (x<V[s]) gg = s-1;
10. if (x>V[s]) dg = s+1;
11. if (dg>=gg) {
12. printf( "%d nije pronadjen!\n", x );
13. exit( 1 );
14. }
15. }

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 5

Ispravan odgovor je: 5

/
Pitanje 12 Točno Broj bodova: 4,00 od 4,00

Pristup elementu kod povezanih lista ima složenost O( n ). Ovakva složenost se još naziva i linearna složenost.

Pitanje 13 Točno Broj bodova: 4,00 od 4,00

Kod problema povrh(a,b), ako je a=1240, koliko treba biti b, da bi izvršavanje ove funkcije trajalo najduže?

Odgovor: 620

Ispravan odgovor je: 620

Pitanje 14 Djelomično točno Broj bodova: 1,33 od 4,00

Stablo na slici je:

Odaberite jedan ili više odgovora:


Poredano binarno stablo

Opće stablo

Binarno stablo

Hrpa

Potpuno binarno stablo

Vaš odgovor je djelomično točan.

Broj točnih odgovora: 1


Ispravni odgovori su: Poredano binarno stablo, Opće stablo, Binarno stablo

/
Pitanje 15 Točno Broj bodova: 4,00 od 4,00

Neka je zadana procedura void UHRPI(int i) koja uhrpljava čvor na i-tom mjestu prema algoritmu koji smo učili na predavanju i
procedura zamjeni(..) koja zamjenjuje mjesta dva elementa u zadanom nizu V od N elemenata. NH je broj elemenata hrpe.

Prema algoritmu za soritranje koristeći hrpu dana je sljedeća procedura u C-u:

1. void HeapSort() {
2. int i;
3. NH = N;
4. for (i=NH/2; i>=0; i--) UHRPI( i );
5. for (i=NH-1; i<0; i--) {
6. zamjeni( &V[0], &V[i] );
7. NH--;
8. UHRPI( 0 );
9. }}
Međutim ova procedura ima grešku. Napišite u kojoj je liniji greška!

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 5

Ispravan odgovor je: 5

Pitanje 16 Točno Broj bodova: 5,00 od 5,00

U funkciji koja računa povrh koristeći rekurziju dodajte dijelove koji nedostaju kako bi ona ispravno radila.

int povrhRek( int n , int m ) {

if (m == n || n == 1 || m == 0)

return 1 ;

else

return povrhRek(n - 1, m - 1) + povrhRek(n - 1, m );

Pitanje 17 Točno Broj bodova: 5,00 od 5,00

U funkciji BUBBLE-SORT koja sortira podatke niza dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void bubble_sort(int *V, int n) {

for (int i = 0 ; i < n - 1; i++)

for (int j = 0; j < n - 1 - i; j++)

if (V[j] > V[j + 1])

Swap(&V[ j ], &V[j + 1]);

/
Pitanje 18 Točno Broj bodova: 5,00 od 5,00

Ako je stog de niran strukturom:

typedef struct stack {

int sp;

int capacity;

int* array;

} Stack;

ubacite dijelove koda koji nedostaju da bi funkcija PUSH radila ispravno.

void Push( Stack *s, int x) {

if (s->sp >= ( s ->capacity - 1))

printf("Error.Stack overflow.\n");

else {

s->sp += 1 ;

s->array[s->sp] = x ;

Pitanje 19 Djelomično točno Broj bodova: 4,00 od 5,00

U funkciji koja dodaje element u povezanu listu dodajte dijelove koji nedostaju kako bi ona ispravno radila.

struct ppopis{
int broj;
ppopis * next;
};

void obrisi_kraj(ppopis *glava){


ppopis *temp1;
temp1 = new ppopis;

temp1 = glava ;

ppopis *old_temp;
while(temp1->next!=NULL){

old_temp = temp1;

temp1 = temp1-> next ;

old_temp ->next = NULL;

free( old_temp );

/
Pitanje 20 Točno Broj bodova: 10,00 od 10,00

Preuredi redoslijed naredbi funkcije ubaci koja ubacuje novi čvor na početak povezane liste.

void ubaci( oe **t, int novix )

oe *novi = (oe *)malloc( sizeof(oe) );

novi->x = novix;
novi->sljedeci = *t;

*t = novi;

Vaš odgovor je točan.

Pitanje 21 Točno Broj bodova: 10,00 od 10,00

Povežite predložene vrste obilazaka za stablo na slici:

NLD 85,44,35,43,18,20,42,55,16,90

LND 35,44,20,42,18,43,55,16,85,90

LDN 35,42,20,18,16,55,43,44,90,85

Vaš odgovor je točan.

Ispravan odgovor je: NLD → 85,44,35,43,18,20,42,55,16,90, LND → 35,44,20,42,18,43,55,16,85,90, LDN → 35,42,20,18,16,55,43,44,90,85

/
Pitanje 22 Netočno Broj bodova: 0,00 od 20,00

Zadana je povezana lista predstavljena strukturom element koja se sastoji od cjelobrojnog podatka X i pokazivača next na sljedeći element povezane liste.

Napisati algoritam koji će stvoriti novu listu koja će sadržavati sve parne brojeve zadane liste u obrnutom redoslijedu.

Napisati funkciju "povezanaLista(struct element * glava)" koja na ekran ispisuje izgled nove povezane liste.

NAPOMENA:

** Koristiti C jezik!

** Za ispis povezane liste pozvati već spremnu funkciju ispis(struct element * glava).

** Elementi povezane liste su prede nirani.

Npr.

void povezanaLista(struct element * glava){

//vaš kod

ispis(nova_lista);

Answer: (penalty regime: 0,100 %)

Ace editor not ready. Perhaps reload page?


Falling back to raw text area.

void povezanaLista(struct element * glava)


{
struct element* p=(struct element*)malloc(sizeof(struct element);
struct element* novi=(struct element*)malloc(sizeof(struct element);
struct element* novitemp = novi;
p=glava;
while(p!=NULL)
{
if(p->x%2==0)
{
struct element* novitemp = (struct element*)malloc(sizeof(struct element);
novitemp->x=p->x;
novitemp->next=NULL;
}
p=p->next;
}

ispis(nova_lista);
}

/
Syntax Error(s)

__tester__.c: In function ‘povezanaLista’:


__tester__.c:24:65: error: expected ‘)’ before ‘;’ token
struct element* p=(struct element*)malloc(sizeof(struct element);
^
__tester__.c:70:1: error: expected declaration or statement at end of input
}
^
__tester__.c:24:17: error: unused variable ‘p’ [-Werror=unused-variable]
struct element* p=(struct element*)malloc(sizeof(struct element);
^
cc1: all warnings being treated as errors

Netočno

Broj bodova za ovaj odgovor: 0,00/20,00.

/
Započeto ponedjeljak, 1. veljače 2021., 18:30
Stanje Završeno
Završeno ponedjeljak, 1. veljače 2021., 19:07
Proteklo vrijeme 37 min 2 s
Ocjena 89,17 od maksimalno 100,00

Pitanje 1 Točno Broj bodova: 2,00 od 2,00

Sortirani niz se može pretvoriti u nesortirani niz u vremenu O( 1 ).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 2 Točno Broj bodova: 2,00 od 2,00

Složenost binarnog pretraživanja je O( n ).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 3 Točno Broj bodova: 2,00 od 2,00

Povezane liste su dinamička struktura podataka (koriste dinamičko zauzimanje memorije).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 4 Točno Broj bodova: 2,00 od 2,00

Pristup prvom elementu povezane liste je trenutačan O(1).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

/
Pitanje 5 Točno Broj bodova: 2,00 od 2,00

Rekurzivno rješavanje problema povrh zahtjeva samo jedan rekurzivni poziv.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 6 Točno Broj bodova: 2,00 od 2,00

Rekurzivna funkcija ili procedura uvijek mora sadržavati osnovni slučaj koji je nerekurzivan.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

/
Pitanje 7 Točno Broj bodova: 2,00 od 2,00

Stablo se u memoriji prikazuje pomoću jednog niza i jednog pokazivača.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 8 Točno Broj bodova: 2,00 od 2,00

Potpuno binarnos stablo se može prikazati u memoriji pomoću jednog niza.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

/
Pitanje 9 Netočno Broj bodova: 0,00 od 2,00

Svaki uzlazno sortirani niz je Min hrpa.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 10 Točno Broj bodova: 2,00 od 2,00

Novi čvor se uvijek dodaje kao zadnji element u hrpu i tamo ostaje.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 11 Netočno Broj bodova: 0,00 od 4,00

Zadan je dio programa u C-u koji je napisan prema algoritmu binarnog pretraživanja. Napisani su i brojevi linija. Međutim, u jednoj liniji se nalazi greška. U kojoj?

1. dg = 0;
2. gg = N-1;
3. for (;;) {
4. s = (dg+gg)/2;
5. if (V[s]==x) {
6. printf( "%d Pronadjen! Na %d. poziciji u nizu.\n", x, s );
7. exit( 0 );
8. }
9. if (x<V[s]) gg = s-1;
10. if (x<V[s]) dg = s+1;
11. if (dg>=gg) {
12. printf( "%d nije pronadjen!\n", x );
13. exit( 1 );
14. }
15. }

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 9

Ispravan odgovor je: 10

Pitanje 12 Točno Broj bodova: 4,00 od 4,00

Pristup elementu kod povezanih lista ima složenost O( n ). Ovakva složenost se još naziva i linearna složenost.

/
Pitanje 13 Nije odgovoreno Broj bodova od 4,00

Kod problema povrh(a,b), ako je a=1557, koliko treba biti b, da bi izvršavanje ove funkcije trajalo najduže?

Odgovor:

Ispravan odgovor je: 778

Pitanje 14 Točno Broj bodova: 4,00 od 4,00

Stablo na slici je:

Odaberite jedan ili više odgovora:


Binarno stablo

Hrpa

Poredano binarno stablo

Opće stablo

Potpuno binarno stablo

Vaš odgovor je točan.

Ispravni odgovori su: Poredano binarno stablo, Opće stablo, Binarno stablo

/
Pitanje 15 Točno Broj bodova: 4,00 od 4,00

Neka je zadana procedura void UHRPI(int i) koja uhrpljava čvor na i-tom mjestu prema algoritmu koji smo učili na predavanju i procedura zamjeni(..) koja
zamjenjuje mjesta dva elementa u zadanom nizu V od N elemenata. NH je broj elemenata hrpe.

Prema algoritmu za soritranje koristeći hrpu dana je sljedeća procedura u C-u:

1. void HeapSort() {
2. int i;
3. NH = N;
4. for (i=NH/2; i>=0; i--) UHRPI( i );
5. for (i=NH-1; i>=1; i--) {
6. zamjeni( &V[0], &V[i] );
7. NH--;
8. UHRPI( i );
9. }}
Međutim ova procedura ima grešku. Napišite u kojoj je liniji greška!

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 8

Ispravan odgovor je: 8

/
Pitanje 16 Točno Broj bodova: 5,00 od 5,00

U funkciji za obilazak stabla (ne rekurzivna - koristeći stogove) dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void preorder(cvor * glava){

cvor * p = glava;

cvor * p_temp = glava;

push(p);

while(!emp()){

p_temp = pop() ;

if(p_temp-> right ){

push(p_temp-> right );

if(p_temp-> left ){

push(p_temp-> left );

/
Pitanje 17 Točno Broj bodova: 5,00 od 5,00

U funkciji koja računa povrh koristeći rekurziju dodajte dijelove koji nedostaju kako bi ona ispravno radila.

int povrhRek( int n , int m ) {

if (m == n || n == 1 || m == 0)

return 1 ;

else

return povrhRek(n - 1, m - 1) + povrhRek(n - 1, m );

/
Pitanje 18 Točno Broj bodova: 5,00 od 5,00

U funkciji koja računa povrh koristeći stog dodajte dijelove koji nedostaju kako bi ona ispravno radila.

int povrhStack(Stack* s1, Stack* s2, int a, int b) {

int n, m, povrh= 0 ;

Clear(s1); Clear( s2 );

Push(s1, a); Push (s2, b);

do {

n = Pop(s1);

m = Pop(s2);

if (m == n || n == 1 || m == 0) povrh++;

else {

Push(s1, n - 1);

Push(s2, m - 1);

Push(s1, n - 1);

Push(s2, m );

} while (IsEmpty(s1) == 0);

return povrh;

/
Pitanje 19 Točno Broj bodova: 5,00 od 5,00

U funkciji za obilazak stabla dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void inOrder (struct cvor* root){

if( root==NULL ) return ;

else{

inOrder(root-> left );

printf( root->x );

inOrder(root-> right );

/
Pitanje 20 Točno Broj bodova: 10,00 od 10,00

Što će ispisati sljedeći program:

#include <stdio.h>
#include <stdlib.h>

struct oe_ { int x; struct oe_ *sljedeci; };


typedef struct oe_ oe;

void ubaci( oe **t, int novix ) {


oe *novi = (oe *)malloc( sizeof(oe) );
novi->x = novix;
novi->sljedeci = *t;
*t = novi;
}

int main() {
oe *p1 = NULL, *p2=NULL, *t1, *t2;
ubaci( &p1, 1 );
ubaci( &p2, 2 );
ubaci( &p1, 3 );
ubaci( &p2, 4 );
ubaci( &p1, 5 );
ubaci( &p2, 6 );
for (t1=p1, t2=p2; t1!=NULL; t1=t1->sljedeci)
printf("%d%d",t1->x, t2->x);
return 0;
}

Odgovor: 563616

Ispravan odgovor je: 563616

/
Pitanje 21 Djelomično točno Broj bodova: 9,17 od 10,00

Dodijelite svakom čvoru njegove nasljednike (ako ih ima) za poredano binarno stablo predstavljeno ulaznim vektorom [6,8,1,22,30,48,18,12,100,20,40,19].

NAPOMENA: oznaka '-' označava da ne postoji nasljednik!

30 -,48

22 18,30

8 -,22

20 19,-

19 -,-

40 -,-

1 -,-

12 -,-

18 80,12

48 40,100

100 -,-

6 1,8

Vaš odgovor je djelomično točan.

Broj točnih odgovora: 11


Ispravan odgovor je: 30 → -,48, 22 → 18,30, 8 → -,22, 20 → 19,-, 19 → -,-, 40 → -,-, 1 → -,-, 12 → -,-, 18 → 12,20, 48 → 40,100, 100 → -,-, 6 → 1,8

/
Pitanje 22 Točno Broj bodova: 20,00 od 20,00

Dovršite C program za ubacivanje novog čvora u poredano binarno stablo:

void ubaci(struct cvor *r, struct cvor *p){

if((r->desni==NULL)&&(p->X > r->X)){

r->desni = p;

//vaš kod

Answer: (penalty regime: 0,25,50,75,100 %)

Ace editor not ready. Perhaps reload page?


Falling back to raw text area.

else if((r->desni != NULL) && (p->X > r->X)){


ubaci(r->desni, p);
}

if((r->lijevi == NULL)&&(p->X < r->X)){


r->lijevi = p;
}
else if((r->lijevi != NULL)&&(p->X < r->X)){
ubaci(r->lijevi,p);
}

Test Expected Got

test1 88 12 4 1 5 7 18 13 36 44 100 88 12 4 1 5 7 18 13 36 44 100

/
Passed all tests!

Točno

Broj bodova za ovaj odgovor: 20,00/20,00.

/
Započeto ponedjeljak, 1. veljače 2021., 18:30
Stanje Završeno
Završeno ponedjeljak, 1. veljače 2021., 19:06
Proteklo vrijeme 35 min 47 s
Ocjena 99,00 od maksimalno 100,00

Pitanje 1 Točno Broj bodova: 2,00 od 2,00

Algoritam SELECT-SORT je najbrži algoritam za sortiranje podataka.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 2 Točno Broj bodova: 2,00 od 2,00

Složenost binarnog pretraživanja je O( n ).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 3 Točno Broj bodova: 2,00 od 2,00

Čvor povezane liste ne možemo koristiti u C-u bez korištenja ključne riječi i naredbe typedef.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 4 Točno Broj bodova: 2,00 od 2,00

Ako imamo sortiranu povezanu listu onda ju možemo pretraživati algoritmom binarnog pretraživanja.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 5 Točno Broj bodova: 2,00 od 2,00

Složenost rekurzivne funkcije int fakt( int n ) koja računa faktorijel je O( n ).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

/
Pitanje 6 Točno Broj bodova: 2,00 od 2,00

Rekurzivna funkcija ili procedura uvijek mora sadržavati osnovni slučaj koji je nerekurzivan.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 7 Točno Broj bodova: 2,00 od 2,00

Svaki čvor binarnog stabla može imati najviše dva nasljednika.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 8 Točno Broj bodova: 2,00 od 2,00

Obilazak binarnog stabla 'Inorder' se naziva još i LND.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

/
Pitanje 9 Točno Broj bodova: 2,00 od 2,00

Desni nasljednik od i-tog čvora u hrpi se nalazi po formuli 2*i+1, ukoliko je to manje od broja elemenata
hrpe.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 10 Točno Broj bodova: 2,00 od 2,00

Novi čvor se uvijek dodaje kao zadnji element u hrpu i tamo ostaje.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 11 Točno Broj bodova: 4,00 od 4,00

Zadan je dio programa u C-u koji je napisan prema algoritmu binarnog pretraživanja. Napisani su i brojevi
linija. Međutim, u jednoj liniji se nalazi greška. U kojoj?

1. dg = 0;
2. gg = N-1;
3. for (;;) {
4. s = (dg+gg)/2;
5. if (s==x) {
6. printf( "%d Pronadjen! Na %d. poziciji u nizu.\n", x, s );
7. exit( 0 );
8. }
9. if (x<V[s]) gg = s-1;
10. if (x>V[s]) dg = s+1;
11. if (dg>=gg) {
12. printf( "%d nije pronadjen!\n", x );
13. exit( 1 );
14. }
15. }

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 5

Ispravan odgovor je: 5

/
Pitanje 12 Točno Broj bodova: 4,00 od 4,00

Dinamičko zauzimanje i oslobađanje memorije u C-u se vrši funkcijama malloc i free. U kojoj standardnoj
biblioteci su de nirane ove funkcije?

Odaberite jedan odgovor:


a. memory.h

b. mallocfree.h

c. stdlib.h

d. math.h

e. stdio.h

Vaš odgovor je točan.

Ispravan odgovor je: stdlib.h

Pitanje 13 Točno Broj bodova: 4,00 od 4,00

Kod problema povrh(a,b), ako je a=549, koliko treba biti b, da bi izvršavanje ove funkcije trajalo najduže?

Odgovor: 274

Ispravan odgovor je: 274

/
Pitanje 14 Točno Broj bodova: 4,00 od 4,00

Povežite naziva vrsta obilazaka.

NLD Preorder

LDN Postorder

LND Inorder

DLN Takav obilazak ne postoji

Vaš odgovor je točan.

Ispravan odgovor je: NLD → Preorder, LDN → Postorder, LND → Inorder, DLN → Takav obilazak ne postoji

/
Pitanje 15 Točno Broj bodova: 4,00 od 4,00

Neka je zadana procedura void UHRPI(int i) koja uhrpljava čvor na i-tom mjestu prema algoritmu koji
smo učili na predavanju i procedura zamjeni(..) koja zamjenjuje mjesta dva elementa u zadanom nizu V
od N elemenata. NH je broj elemenata hrpe.

Prema algoritmu za soritranje koristeći hrpu dana je sljedeća procedura u C-u:

1. void HeapSort() {
2. int i;
3. NH = N;
4. for (i=NH/2; i>=0; i--) UHRPI( i );
5. for (i=NH-1; i>=1; i--) {
6. zamjeni( &V[0], &V[i] );
7. NH--;
8. UHRPI( i );
9. }}
Međutim ova procedura ima grešku. Napišite u kojoj je liniji greška!

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 8

Ispravan odgovor je: 8

Pitanje 16 Točno Broj bodova: 5,00 od 5,00

U funkciji BUBBLE-SORT koja sortira podatke niza dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void bubble_sort(int *V, int n) {

for (int i = 0 ; i < n - 1; i++)

for (int j = 0; j < n - 1 - i; j++)

if (V[j] > V[j + 1])

Swap(&V[ j ], &V[j + 1]);

/
Pitanje 17 Djelomično točno Broj bodova: 4,00 od 5,00

Ako je stog de niran strukturom:

typedef struct stack {

int sp;

int capacity;

int* array;

} Stack;

ubacite dijelove koda koji nedostaju da bi funkcija PUSH radila ispravno.

void Push( stack *s, int x) {

if (s->sp >= ( stack ->capacity - 1))

printf("Error.Stack overflow.\n");

else {

s->sp += 1 ;

s->array[s->sp] = x ;

Pitanje 18 Točno Broj bodova: 5,00 od 5,00

U rekurzivnoj funkciji MERGE-SORT koja sortira podatke niza dodajte dijelove koji nedostaju kako bi ona ispravno
radila.

void MergeSort(int l, int r) {

if (l < r ) {

int s = (l+r) / 2 ;

MergeSort(l, s);

MergeSort (s + 1 , r);

merge( l , r);

/
Pitanje 19 Točno Broj bodova: 5,00 od 5,00

U funkciji koja stvara povezanu listu dodajte dijelove koji nedostaju kako bi ona ispravno radila.

struct cvor{

int x;

struct cvor * prev;

struct cvor *next;

};

struct cvor* stvori_listu(struct cvor* glava, int polje[],int n){

struct cvor * p;

for(int i=0;i<n;i++){

if(i==0){

glava = (struct cvor*)malloc(sizeof(struct cvor));

glava-> prev =NULL;

glava->next=NULL;

glava ->x=polje[i];

p=glava;

}else{

struct cvor *tmp;

p ->next=(struct cvor*)malloc(sizeof(struct cvor));

tmp=p;

p = p->next;

p->next= NULL ;

p-> prev =tmp;

p->x=polje[i];

return glava;

/
Pitanje 20 Točno Broj bodova: 10,00 od 10,00

Što će ispisati sljedeći program:

#include <stdio.h>
#include <stdlib.h>
struct oe_ { int x; struct oe_ *sljedeci; };
typedef struct oe_ oe;

void ubaci( oe **t, int novix ) {


oe *novi = (oe *)malloc( sizeof(oe) );
novi->x = novix;
novi->sljedeci = *t;
*t = novi;
}

int main() {
oe *prvi = NULL, *t;
ubaci( &prvi, 7 );
ubaci( &prvi, 0 );
ubaci( &prvi, 5 );
for (t=prvi; t!=NULL; t=t->sljedeci)
printf("%d",t->x);
return 0;
}

Odgovor: 507

Ispravan odgovor je: 507

/
Pitanje 21 Točno Broj bodova: 10,00 od 10,00

Uredite redoslijed naredbi kako dobili funkciju 'obilazak' koja bi odgovarala preorder (NLD) obilasku stabla.

void obilazak( cvor *t )

printf("%d ",cvor->x);

if (cvor->lijevi!=NULL) obilazak( cvor->lijevi );

if (cvor->desni!=NULL) obilazak( cvor->desni );

Vaš odgovor je točan.

/
Pitanje 22 Točno Broj bodova: 20,00 od 20,00

Napišite funkciju "void ncvorova(struct cvor *root)" koja će izračunati i na ekran ispisati koliko ima ukupno
čvorova u stablu.

Struktura cvor sastoji se od cjelobrojnog podatka X i pokazivača na lijevi i desni nasljednik (*lijevi, *desni).

Answer: (penalty regime: 0,25,50,75,100 %)

1 int countNodes(struct cvor *root){


2 static int count=0;
3 if(root!=NULL){
4 countNodes(root->lijevi);
5 count++;
6 countNodes(root->desni);
7 }
8 return count;
9 }
10 void ncvorova(struct cvor *root){
11 int num=countNodes(root);
12 printf("%d",num);
13 }

Test Got

test1 11

test2 7

test3 2

test4 0

Passed all tests!

Točno

Broj bodova za ovaj odgovor: 20,00/20,00.

/
Započeto ponedjeljak, 1. veljače 2021., 18:31
Stanje Završeno
Završeno ponedjeljak, 1. veljače 2021., 19:14
Proteklo vrijeme 43 min 24 s
Ocjena 62,00 od maksimalno 100,00

Pitanje 1 Točno Broj bodova: 2,00 od 2,00

Zamjena mjesta dva podatka u nizu od N elemenata je operacija trenutačne složenosti.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 2 Točno Broj bodova: 2,00 od 2,00

Algoritam SELECT-SORT je najbrži algoritam za sortiranje podataka.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 3 Točno Broj bodova: 2,00 od 2,00

Čvor povezane liste ne možemo koristiti u C-u bez korištenja ključne riječi i naredbe typedef.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 4 Točno Broj bodova: 2,00 od 2,00

Ako imamo sortiranu povezanu listu onda ju možemo pretraživati algoritmom binarnog pretraživanja.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 5 Točno Broj bodova: 2,00 od 2,00

Rekurzivno rješenje problema povrh zahtjeva samo jedan osnovni slučaj koji ima direktno rješenje.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 6 Netočno Broj bodova: 0,00 od 2,00

Svaki algoritam koji je dan kao rekurzivna funkcija ili procedura moze se rijestiti iterativno pomocu reda.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 7 Točno Broj bodova: 2,00 od 2,00

Stablo se sastoji od čvorova i vrhova.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 8 Netočno Broj bodova: 0,00 od 2,00

Binarno stablo je posebni slučaj općeg stabla.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

/
Pitanje 9 Točno Broj bodova: 2,00 od 2,00

Svaka hrpa je potpuno binarno stablo.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 10 Točno Broj bodova: 2,00 od 2,00

Svaki uzlazno sortirani niz je Min hrpa.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

/
Pitanje 11 Netočno Broj bodova: 0,00 od 4,00

Zadan je dio programa u C-u koji je napisan prema algoritmu binarnog pretraživanja. Napisani su i brojevi
linija. Međutim, u jednoj liniji se nalazi greška. U kojoj?

1. dg = 0;
2. gg = N-1;
3. for (;;) {
4. s = (dg+gg)/2;
5. if (s==x) {
6. printf( "%d Pronadjen! Na %d. poziciji u nizu.\n", x, s );
7. exit( 0 );
8. }
9. if (x<V[s]) gg = s-1;
10. if (x>V[s]) dg = s+1;
11. if (dg>=gg) {
12. printf( "%d nije pronadjen!\n", x );
13. exit( 1 );
14. }
15. }

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 10

Ispravan odgovor je: 5

/
Pitanje 12 Točno Broj bodova: 4,00 od 4,00

Ova slika ilustrira:

Odaberite jedan odgovor:

a. Niz podataka (jednodimenzionalno polje)

b. Dvostruko povezanu listu

c. Povezanu listu nakon ubacivanja novog čvora N

d. Matricu (dvodimenzionalno polje)

e. Kolonu kamiona

Vaš odgovor je točan.

Ispravan odgovor je: Povezanu listu nakon ubacivanja novog čvora N

Pitanje 13 Točno Broj bodova: 4,00 od 4,00

Ako je zadana rekurzivna funcija koja računa faktorijele: int fakt( int n ), koliko će biti rekurzivnih
poziva ako ju pozovemo s fakt( 866 )?

Odgovor: 866

Ispravan odgovor je: 866

/
Pitanje 14 Točno Broj bodova: 4,00 od 4,00

Stablo kod kojeg sve razine moraju biti popunjene, osim zadnje razine koja mora biti popunjena s lijeva na
desno se naziva:

Odaberite jedan odgovor:

a. Hu manovo binarno stablo

b. Opće stablo

c. Poredano binarno stablo

d. Prošireno binarno stablo

e. Potpuno binarno stablo

Vaš odgovor je točan.

Ispravan odgovor je: Potpuno binarno stablo

/
Pitanje 15 Točno Broj bodova: 4,00 od 4,00

Neka je zadana procedura void UHRPI(int i) koja uhrpljava čvor na i-tom mjestu prema algoritmu koji
smo učili na predavanju i procedura zamjeni(..) koja zamjenjuje mjesta dva elementa u zadanom nizu V
od N elemenata. NH je broj elemenata hrpe.

Prema algoritmu za soritranje koristeći hrpu dana je sljedeća procedura u C-u:

1. void HeapSort() {
2. int i;
3. NH = N;
4. for (i=NH/2; i>=0; i--) UHRPI( i );
5. for (i=NH-1; i>=1; i--) {
6. zamjeni( &V[0], &V[i] );
7. NH++;
8. UHRPI( 0 );
9. }}
Međutim ova procedura ima grešku. Napišite u kojoj je liniji greška!

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 7

Ispravan odgovor je: 7

/
Pitanje 16 Djelomično točno Broj bodova: 2,00 od 5,00

Ako je stog de niran strukturom:

typedef struct stack {

int sp;

int capacity;

int* array;

} Stack;

ubacite dijelove koda koji nedostaju da bi funkcija POP radila ispravno.

int Pop( polje *s) {

if (s->sp == -1)

printf("Error.Stack underflow.\n");

else {

int x = s->array[ ppolje ->sp];

s->sp = s->sp - 1 ;

return s ;

return -1;

/
Pitanje 17 Djelomično točno Broj bodova: 4,00 od 5,00

U funkciji koja obavlja SEKVENCIJALNO PRETRAŽIVANJE dodajte dijelove koji nedostaju kako bi ona ispravno radila.

int sekv_pret(int polje [], int x, int n) {

int i;

for (i = 0 ; i < n ; i++) {

if (V[ i ] == x)

return i;

return -1;

Pitanje 18 Točno Broj bodova: 5,00 od 5,00

U funkciji za obilazak stabla dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void inOrder (struct cvor* root){

if( root==NULL ) return ;

else{

inOrder(root-> left );

printf( root->x );

inOrder(root-> right );

/
Pitanje 19 Djelomično točno Broj bodova: 4,00 od 5,00

U funkciji za obilazak stabla (ne rekurzivna - koristeći stogove) dodajte dijelove koji nedostaju kako bi ona ispravno
radila.

void preorder(cvor * glava){

cvor * p = glava;

cvor * p_temp = glava;

push(p);

while(!emp()){

p_temp = pop ;

if(p_temp-> right ){

push(p_temp-> right );

if(p_temp-> left ){

push(p_temp-> left );

/
Pitanje 20 Točno Broj bodova: 10,00 od 10,00

Preuredi redoslijed naredbi funkcije brojparnih koja izračunava i vraća kao rezultat broj parnih podataka
u povezanoj listi.

int brojparnih( oe *pr ) {

int rez = 0;
oe *t;

for (t=pr; t!=NULL; t=t->sljedeci)

if (t->x%2==0) rez++;

return rez;

Vaš odgovor je točan.

/
Pitanje 21 Djelomično točno Broj bodova: 5,00 od 10,00

Uredite redoslijed naredbi kako dobili funkciju 'obilazak' koja bi odgovarala preorder (NLD) obilasku stabla.

void obilazak( cvor *t )

if (cvor->lijevi!=NULL) obilazak( cvor->lijevi );

if (cvor->desni!=NULL) obilazak( cvor->desni );

printf("%d ",cvor->x);

Vaš odgovor je djelomično točan.

Vrsta ocjenjivanja: Apsolutna pozicija

Detalji ocjene: 3 / 6 = 50%

Here are the scores for each item in this response:

1. 1 / 1 = 100%
2. 1 / 1 = 100%
3. 0 / 1 = 0%
4. 0 / 1 = 0%
5. 0 / 1 = 0%
6. 1 / 1 = 100%

Točan redoslijed za ove odgovore je slijedeći:

1. void obilazak( cvor *t )


2. {
3. printf("%d ",cvor->x);
4. if (cvor->lijevi!=NULL) obilazak( cvor->lijevi );
5. if (cvor->desni!=NULL) obilazak( cvor->desni );
6. }

/
Pitanje 22 Netočno Broj bodova: 0,00 od 20,00

Napišite funkciju "void ndesnih(struct cvor *root)" koja će izračunati i na ekran ispisati koliko ima čvorova u

desnom podstablu od korijenskog čvora root.

Struktura cvor sastoji se od cjelobrojnog podatka X i pokazivača na lijevi i desni nasljednik (*lijevi, *desni).

Answer: (penalty regime: 0,25,50,75,100 %)

1 int count=0;
2 void cvorova(struct cvor* root){
3 if(root==NULL){
4 return;
5 }
6 cvorova(root->lijevi );
7 count++;
8 cvorova(root->desni );
9 }
10 void ndesni(struct cvor* root){
11 if(root==NULL || root->lijevi ==NULL){
12 printf("0");
13 }
14 cvorova(root->desni);
15 printf("%d\n", count);
16 }

Syntax Error(s)

__tester__.c: In function ‘main’:


__tester__.c:60:5: error: implicit declaration of function ‘ndesnih’; did you mean ‘ndesni’? [
ndesnih(root);
^~~~~~~
ndesni
cc1: all warnings being treated as errors

Netočno

Broj bodova za ovaj odgovor: 0,00/20,00.

/
Započeto ponedjeljak, 1. veljače 2021., 18:31
Stanje Završeno
Završeno ponedjeljak, 1. veljače 2021., 19:16
Proteklo vrijeme 45 min
Ocjena 88,00 od maksimalno 100,00

Pitanje 1 Točno Broj bodova: 2,00 od 2,00

Složenost binarnog pretraživanja je O( n ).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 2 Točno Broj bodova: 2,00 od 2,00

Vremenska složenost O( n ) je bolja (brži algoritam) od vremenske složenosti O( n log n ).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 3 Točno Broj bodova: 2,00 od 2,00

Čvor povezane liste mora sadržavati podatkovni element tipa int x; u C-u.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.


Pitanje 4 Točno Broj bodova: 2,00 od 2,00

Pristup svakom elementu povezane liste je trenutačan O(1).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 5 Točno Broj bodova: 2,00 od 2,00

Rekurzivno rješenje problema povrh zahtjeva samo jedan osnovni slučaj koji ima direktno rješenje.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 6 Netočno Broj bodova: 0,00 od 2,00

Iterativno rješenje uvijek ima veći programski kod u odnosu na rekruzivno rješenje.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 7 Točno Broj bodova: 2,00 od 2,00

Stablo je linarna struktura podataka.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.


Pitanje 8 Točno Broj bodova: 2,00 od 2,00

Svaki čvor stabla može imati najviše dva nasljednika.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 9 Točno Broj bodova: 2,00 od 2,00

Hrpa se u računalu efikasno prikazuje pomoću jednog niza.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 10 Točno Broj bodova: 2,00 od 2,00

2
HeapSort algoritam koji koristi hrpu za sortiranje je brži algoritam za sortiranje i njegova složenost je O( N ).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.


Pitanje 11 Točno Broj bodova: 4,00 od 4,00

Zadan je dio programa u C-u koji je napisan prema algoritmu binarnog pretraživanja. Napisani su i brojevi linija.
Međutim, u jednoj liniji se nalazi greška. U kojoj?

1. dg = 0;
2. gg = N-1;
3. for (;;) {
4. s = (dg+gg)/2;
5. if (V[s]==x) {
6. printf( "%d Pronadjen! Na %d. poziciji u nizu.\n", x, s );
7. exit( 0 );
8. }
9. if (x<V[s]) gg = s-1;
10. if (x>V[s]) dg = s+1;
11. if (dg<gg) {
12. printf( "%d nije pronadjen!\n", x );
13. exit( 1 );
14. }
15. }

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 11

Ispravan odgovor je: 11

Pitanje 12 Netočno Broj bodova: 0,00 od 4,00

Složenost pretraživanja sortirane povezane liste jeste:

Odaberite jedan odgovor:


2
a. O( n )

b. O(log n)

c. O( 1 )

d. O( n )

e. O( n log n )

Vaš odgovor nije točan.

Ispravan odgovor je: O( n )


Pitanje 13 Točno Broj bodova: 4,00 od 4,00

Ako je zadana rekurzivna funcija koja računa faktorijele: int fakt( int n ), koliko će biti rekurzivnih poziva
ako ju pozovemo s fakt( 194 )?

Odgovor: 194

Ispravan odgovor je: 194

Pitanje 14 Točno Broj bodova: 4,00 od 4,00

Binarno stablo se može efikasno prikazati u računalu:

Odaberite jedan ili više odgovora:

Pomoću dinamičke strukture koja sadrži vrijednost čvora i pokazivač na sljedeće čvor

Pomoću 3 matrice

Pomoću jedne povezane liste.

 Pomoću dinamičke strukture koja koristi vrijednost čvora, i pokazivače ne lijevi i desni nasljednik

 Pomoću matrice s tri stupca

Vaš odgovor je točan.

Ispravni odgovori su: Pomoću matrice s tri stupca, Pomoću dinamičke strukture koja koristi vrijednost čvora, i
pokazivače ne lijevi i desni nasljednik
Pitanje 15 Točno Broj bodova: 4,00 od 4,00

Neka je zadana procedura void UHRPI(int i) koja uhrpljava čvor na i-tom mjestu prema algoritmu koji smo
učili na predavanju i procedura zamjeni(..) koja zamjenjuje mjesta dva elementa u zadanom nizu V od N
elemenata. NH je broj elemenata hrpe.

Prema algoritmu za soritranje koristeći hrpu dana je sljedeća procedura u C-u:

1. void HeapSort() {
2. int i;
3. NH = N;
4. for (i=NH/4; i>=0; i--) UHRPI( i );
5. for (i=NH-1; i>=1; i--) {
6. zamjeni( &V[0], &V[i] );
7. NH--;
8. UHRPI( 0 );
9. }}
Međutim ova procedura ima grešku. Napišite u kojoj je liniji greška!

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 4

Ispravan odgovor je: 4


Pitanje 16 Točno Broj bodova: 5,00 od 5,00

U funkciji koja računa povrh koristeći stog dodajte dijelove koji nedostaju kako bi ona ispravno radila.

int povrhStack(Stack* s1, Stack* s2, int a, int b) {

int n, m, povrh= 0

Clear(s1); Clear( s2 );

Push(s1, a); Push (s2, b);

do {

n = Pop(s1);

m = Pop(s2);

if (m == n || n == 1 || m == 0) povrh++;

else {

Push(s1, n - 1);

Push(s2, m - 1);

Push(s1, n - 1);

Push(s2, m );

} while (IsEmpty(s1) == 0);

return povrh;

Pitanje 17 Točno Broj bodova: 5,00 od 5,00

U funkciji UHRPI koja uhrpljava zadani čvor i dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void heapify(int arr[], int n, int i) {

int largest = i;

int left = 2 * i + 1;

int right = 2

* i + 2;

if (left < n && arr[left] > arr[largest])

largest = left ;

if (right < n && arr[right] > arr[largest])

largest = right;

if (largest != i) {

Swap(&arr[i], &arr[ largest ]);

heapify(arr, n, largest);

}
Pitanje 18 Točno Broj bodova: 5,00 od 5,00

U funkciji koja obavlja SEKVENCIJALNO PRETRAŽIVANJE dodajte dijelove koji nedostaju kako bi ona ispravno radila.

int sekv_pret(int V

[], int x, int n) {

int i;

for (i = 0 ; i < n ; i++) {

if (V[ i ] == x)

return i;

return -1;

Pitanje 19 Djelomično točno Broj bodova: 4,00 od 5,00

U funkciji koja briše duplikate (pretpostavljamo da je lista sortirana) iz povezane liste dodajte dijelove koji nedostaju kako bi
ona ispravno radila.

struct element{

int X;

element * next;

};

void duplikati(element *glava) {

element *p = glava;

element *tmp = NULL;

while (p->next) {

if (p->X == p->next->X

) { tmp = p->next->next ; free( p->next ); p->next = tmp ; }else { p=p->next ; } } }


Pitanje 20 Točno Broj bodova: 10,00 od 10,00

Što će ispisati sljedeći program:

#include <stdio.h>
#include <stdlib.h>

struct oe_ { int x; struct oe_ *sljedeci; };


typedef struct oe_ oe;

void ubaci( oe **t, int novix ) {


oe *novi = (oe *)malloc( sizeof(oe) );
novi->x = novix;
novi->sljedeci = *t;
*t = novi;
}

int main() {
oe *p1 = NULL, *p2=NULL, *t1;
ubaci( &p1, 1 );
ubaci( &p2, 2 );
ubaci( &p1, 3 );
ubaci( &p2, 4 );
ubaci( &p1, 5 );
ubaci( &p2, 6 );
for (t1=p2; t1!=NULL; t1=t1->sljedeci)
printf("%d",t1->x);
return 0;
}

Odgovor: 642

Ispravan odgovor je: 642

Pitanje 21 Točno Broj bodova: 10,00 od 10,00

Uredite redoslijed naredbi kako dobili funkciju 'obilazak' koja bi odgovarala preorder (NLD) obilasku stabla.

void obilazak( cvor *t )

printf("%d ",cvor->x);

if (cvor->lijevi!=NULL) obilazak( cvor->lijevi );

if (cvor->desni!=NULL) obilazak( cvor->desni );

Vaš odgovor je točan.


Pitanje 22 Djelomično točno Broj bodova: 15,00 od 20,00

Napišite funkciju "void maxlevel(struct cvor *root)" koja će izračunati i na ekran ispisati najveću razinu zadanog

stabla. Razina korjenskog čvora je 0, iduća je 1, itd.

Struktura cvor sastoji se od cjelobrojnog podatka X i pokazivača na lijevi i desni nasljednik (*lijevi, *desni).

Answer: (penalty regime: 0,25,50,75,100 %)

1 void maxlevel(struct cvor *root){


2 struct cvor* lijeviobilazak=root;
3 struct cvor* desniobilazak=root;
4 static int lijevaraz=0;
5 static int desnaraz=0;
6
7 if(root==NULL){
8 printf("0");
9 return;
10 }
11 while(lijeviobilazak->lijevi!=NULL){
12 lijeviobilazak=lijeviobilazak->lijevi;
13 lijevaraz+=1;
14 }
15 while(desniobilazak->desni!=NULL){
16 desniobilazak=desniobilazak->desni;
17 desnaraz+=1;
18 }
19
20 if(lijevaraz>desnaraz){

Test Got

test1 4

test2 8

test3 1

test4 0

Djelomično točno

Broj bodova za ovaj odgovor: 15,00/20,00.


Započeto ponedjeljak, 1. veljače 2021., 18:31
Stanje Završeno
Završeno ponedjeljak, 1. veljače 2021., 19:16
Proteklo vrijeme 44 min 54 s
Ocjena 60,00 od maksimalno 100,00

Pitanje 1 Točno Broj bodova: 2,00 od 2,00

Pronaći najveći podatak u nesortiranom nizu se može trenutačno: O(1).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 2 Točno Broj bodova: 2,00 od 2,00

O-notacija je način mjerenja vremena izvršavanja programa u milisekundama.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 3 Točno Broj bodova: 2,00 od 2,00

Povezane liste su dinamička struktura podataka (koriste dinamičko zauzimanje memorije).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

/
Pitanje 4 Netočno Broj bodova: 0,00 od 2,00

Ako imamo dvostruko povezanu listu onda možemo pristupiti svakom podatku trenutačno O(1).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 5 Točno Broj bodova: 2,00 od 2,00

b
Složenost rekurzivne funkcije povrh( a, b ) jeste O( a ).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 6 Netočno Broj bodova: 0,00 od 2,00

Rekurzivno rješenje problema povrh zahtjeva samo jedan osnovni slučaj koji ima direktno rješenje.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 7 Točno Broj bodova: 2,00 od 2,00

Stablo se u memoriji prikazuje pomoću jednog niza i jednog pokazivača.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 8 Netočno Broj bodova: 0,00 od 2,00

Svaki čvor stabla može imati najviše dva nasljednika.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 9 Točno Broj bodova: 2,00 od 2,00

Hrpa sa N čvorova (N>10) može imati u najgorem slučaju N razina.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 10 Netočno Broj bodova: 0,00 od 2,00

Kod Max-hrpe najveću vrijednost podatka ima korijenski čvor.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 11 Nije odgovoreno Broj bodova od 4,00

Zadan je dio programa u C-u koji je napisan prema algoritmu binarnog pretraživanja. Napisani su i brojevi linija. Međutim,
u jednoj liniji se nalazi greška. U kojoj?

1. dg = 0;
2. gg = N-1;
3. for (;;) {
4. s = (dg+gg)/2;
5. if (V[s]==x) {
6. printf( "%d Pronadjen! Na %d. poziciji u nizu.\n", x, s );
7. exit( 0 );
8. }
9. if (x>V[s]) gg = s-1;
10. if (x>V[s]) dg = s+1;
11. if (dg>=gg) {
12. printf( "%d nije pronadjen!\n", x );
13. exit( 1 );
14. }
15. }

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor:

Ispravan odgovor je: 9

/
Pitanje 12 Točno Broj bodova: 4,00 od 4,00

Ova slika ilustrira:

Odaberite jedan odgovor:

a. Kolonu kamiona

b. Povezanu listu nakon ubacivanja novog čvora N

c. Dvostruko povezanu listu

d. Niz podataka (jednodimenzionalno polje)

e. Matricu (dvodimenzionalno polje)

Vaš odgovor je točan.

Ispravan odgovor je: Povezanu listu nakon ubacivanja novog čvora N

Pitanje 13 Točno Broj bodova: 4,00 od 4,00

Ako je zadana rekurzivna funcija koja računa faktorijele: int fakt( int n ), koliko će biti rekurzivnih poziva ako ju
pozovemo s fakt( 801 )?

Odgovor: 801

Ispravan odgovor je: 801

/
Pitanje 14 Djelomično točno Broj bodova: 2,00 od 4,00

Povežite naziva vrsta obilazaka.

LND Takav obilazak ne postoji

NLD Preorder

DLN Inorder

LDN Postorder

Vaš odgovor je djelomično točan.

Broj točnih odgovora: 2


Ispravan odgovor je: LND → Inorder, NLD → Preorder, DLN → Takav obilazak ne postoji, LDN → Postorder

Pitanje 15 Točno Broj bodova: 4,00 od 4,00

Neka je zadana procedura void UHRPI(int i) koja uhrpljava čvor na i-tom mjestu prema algoritmu koji smo učili na
predavanju i procedura zamjeni(..) koja zamjenjuje mjesta dva elementa u zadanom nizu V od N elemenata. NH je broj
elemenata hrpe.

Prema algoritmu za soritranje koristeći hrpu dana je sljedeća procedura u C-u:

1. void HeapSort() {
2. int i;
3. NH = N;
4. for (i=NH/2, i>=0, i--) UHRPI( i );
5. for (i=NH-1, i>=1, i--) {
6. zamjeni( &V[0], &V[i] );
7. NH--;
8. UHRPI( 0 );
9. }}
Međutim ova procedura ima grešku. Napišite u kojoj je liniji greška!

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 5

Ispravan odgovor je: 4

/
Pitanje 16 Djelomično točno Broj bodova: 4,00 od 5,00

U funkciji koja sortira povezanu listu dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void sortiraj(ppopis *glava){

ppopis *temp1;
temp1 = new ppopis;
ppopis *temp2;
temp2 = new ppopis;

int temp=0;

for(temp1 = glava ;temp1!= NULL ;temp1=temp1->next){

for(temp2= glava ->next;temp2!= NULL ;temp2=temp2->next){

if(temp1->broj > temp2->broj){

temp = temp1 ->broj;

temp1->broj = temp2->broj;
temp2->broj=temp;
}
}
}
}

/
Pitanje 17 Djelomično točno Broj bodova: 3,00 od 5,00

U funkciji koja računa povrh koristeći stog dodajte dijelove koji nedostaju kako bi ona ispravno radila.

int povrhStack(Stack* s1, Stack* s2, int a, int b) {

int n, m, povrh= 0 ;

Clear(s1); Clear( s2 );

Push(s1, a); Push (s2, b);

do {

n = Pop(s1);

m = Pop(s2);

if (m == n || n == 1 && m == 0) povrh++;

else {

Push(s1, n - 1);

Push(s2, m - 1);

Push(s1, n - 1);

Push(s2, m-1 );

} while (IsEmpty(s1) == 0);

return povrh;

Pitanje 18 Djelomično točno Broj bodova: 4,00 od 5,00

U rekurzivnoj funkciji MERGE-SORT koja sortira podatke niza dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void MergeSort(int l, int r) {

if (l < r ) {

int s = (l+r) / 2 ;

MergeSort(l, s);

MergeSort (s + 1 , r);

merge( s , r);

/
Pitanje 19 Djelomično točno Broj bodova: 3,00 od 5,00

U funkciji koja stvara povezanu listu dodajte dijelove koji nedostaju kako bi ona ispravno radila.

struct cvor{

int x;

struct cvor * prev;

struct cvor *next;

};

struct cvor* stvori_listu(struct cvor* glava, int polje[],int n){

struct cvor * p;

for(int i=0;i<n;i++){

if(i==0){

glava = (struct cvor*)malloc(sizeof(struct cvor));

glava-> polje[i] =NULL;

glava->next=NULL;

glava ->x=polje[i];

p=glava;

}else{

struct cvor *tmp;

p ->next=(struct cvor*)malloc(sizeof(struct cvor));

tmp=p;

p = p->next;

p->next= NULL ;

p-> polje[i] =tmp;

p->x=polje[i];

return glava;

/
Pitanje 20 Točno Broj bodova: 10,00 od 10,00

Što će ispisati sljedeći program:

#include <stdio.h>
#include <stdlib.h>
struct oe_ { int x; struct oe_ *sljedeci; };
typedef struct oe_ oe;

void ubaci( oe **t, int novix ) {


oe *novi = (oe *)malloc( sizeof(oe) );
novi->x = novix;
novi->sljedeci = *t;
*t = novi;
}

int main() {
oe *prvi = NULL, *t;
ubaci( &prvi, 7 );
ubaci( &prvi, 0 );
ubaci( &prvi, 5 );
for (t=prvi; t!=NULL; t=t->sljedeci)
printf("%d",t->x);
return 0;
}

Odgovor: 507

Ispravan odgovor je: 507

/
Pitanje 21 Točno Broj bodova: 10,00 od 10,00

Uredite redoslijed naredbi kako dobili funkciju 'obilazak' koja bi odgovarala preorder (NLD) obilasku stabla.

void obilazak( cvor *t )

printf("%d ",cvor->x);

if (cvor->lijevi!=NULL) obilazak( cvor->lijevi );

if (cvor->desni!=NULL) obilazak( cvor->desni );

Vaš odgovor je točan.

/
Pitanje 22 Netočno Broj bodova: 0,00 od 20,00

Napišite funkciju "void ndesnih(struct cvor *root)" koja će izračunati i na ekran ispisati koliko ima čvorova u desnom

podstablu od korijenskog čvora root.

Struktura cvor sastoji se od cjelobrojnog podatka X i pokazivača na lijevi i desni nasljednik (*lijevi, *desni).

Answer: (penalty regime: 0,25,50,75,100 %)

1 void ndesnih(struct cvor *root){


2 int razina=0;
3 desniDio(root, 1, &razina);
4 }
5
6 void desniDio(struct node *root, int razina, int *zadnjaRazina){
7 if(root==NULL) return;
8 if(*zadnjaRazina<razina){
9 printf("%d ", root->X);
10 *zadnjaRazina=razina;
11 }
12 desniDio(root->desni, razina+1, zadnjaRazina);
13 desniDio(root->lijevi, razina+1, zadnjaRazina);
14 }

Syntax Error(s)

__tester__.c: In function ‘ndesnih’:


__tester__.c:38:5: error: implicit declaration of function ‘desniDio’; did you mean ‘ndesnih’? [-Werror=impl
desniDio(root, 1, &razina);
^~~~~~~~
ndesnih
__tester__.c: At top level:
__tester__.c:41:22: error: ‘struct node’ declared inside parameter list will not be visible outside of this
void desniDio(struct node *root, int razina, int *zadnjaRazina){
^~~~
__tester__.c:41:6: error: conflicting types for ‘desniDio’ [-Werror]
void desniDio(struct node *root, int razina, int *zadnjaRazina){
^~~~~~~~
__tester__.c:38:5: note: previous implicit declaration of ‘desniDio’ was here
desniDio(root, 1, &razina);
^~~~~~~~
__tester__.c: In function ‘desniDio’:
__tester__.c:44:27: error: dereferencing pointer to incomplete type ‘struct node’
printf("%d ", root->X);
^~
cc1: all warnings being treated as errors

Netočno
/
Broj bodova za ovaj odgovor: 0,00/20,00.

/
Započeto ponedjeljak, 1. veljače 2021., 18:30
Stanje Završeno
Završeno ponedjeljak, 1. veljače 2021., 19:15
Proteklo vrijeme 45 min
Ocjena 92,20 od maksimalno 100,00

Pitanje 1 Točno Broj bodova: 2,00 od 2,00

Pronaći najveći podatak u sortiranom nizu se može trenutačno: O(1).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 2 Točno Broj bodova: 2,00 od 2,00

Binarno pretraživanje je brže od sekvencijalnog pretraživanja.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 3 Točno Broj bodova: 2,00 od 2,00

U C-u moramo koristiti ključnu riječ struct kako bi de nirali čvor povezane liste.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

/
Pitanje 4 Točno Broj bodova: 2,00 od 2,00

Povezane liste uz svaki podatak koriste i dodatnu memorijsku adresu kako bi se znalo gdje je sljedeći
podatak.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 5 Točno Broj bodova: 2,00 od 2,00

Najbrže se izračunava povrh(n,n/2), a najsporije povrh(n,0).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 6 Točno Broj bodova: 2,00 od 2,00

Rekurzivno rješenje se uvijek izvodi puno brže nego iterativno rješenje.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 7 Točno Broj bodova: 2,00 od 2,00

Binarno stablo je posebni slučaj općeg stabla.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 8 Točno Broj bodova: 2,00 od 2,00

Obilasci binarnog stabla po dubini se mogu riješiti rekurzivnom funkcijom.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 9 Točno Broj bodova: 2,00 od 2,00

Min-hrpa uvijek ima manji broj elemenata (čvorova) od Max-hrpe.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 10 Točno Broj bodova: 2,00 od 2,00

Svaka hrpa je istovremeno i sortirani niz.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 11 Točno Broj bodova: 4,00 od 4,00

Zadan je dio programa u C-u koji je napisan prema algoritmu binarnog pretraživanja. Napisani su i brojevi
linija. Međutim, u jednoj liniji se nalazi greška. U kojoj?

1. dg = 0;
2. gg = N-1;
3. for (;;) {
4. s = dg+gg/2;
5. if (V[s]==x) {
6. printf( "%d Pronadjen! Na %d. poziciji u nizu.\n", x, s );
7. exit( 0 );
8. }
9. if (x<V[s]) gg = s-1;
10. if (x>V[s]) dg = s+1;
11. if (dg>=gg) {
12. printf( "%d nije pronadjen!\n", x );
13. exit( 1 );
14. }
15. }

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 4

Ispravan odgovor je: 4

/
Pitanje 12 Djelomično točno Broj bodova: 3,20 od 4,00

Povežite algoritam s povezanim listama s njegovom složenosti.

Neka lista ima n podataka i neka ima samo pokazivač na prvi podatak.

Pristup prvom elementu. O( 1 )

Dodavanje novog podatka u sredinu povezane liste. O( 1 )

Obilazak povezane liste. O( n )

Dodavanje novog podatka na početak povezane liste. O( 1 )

Brisanje prvog podatka u povezanoj listi. O( 1 )

Vaš odgovor je djelomično točan.

Broj točnih odgovora: 4


Ispravan odgovor je: Pristup prvom elementu. → O( 1 ), Dodavanje novog podatka u sredinu povezane liste. → O( n
), Obilazak povezane liste. → O( n ), Dodavanje novog podatka na početak povezane liste. → O( 1 ), Brisanje prvog
podatka u povezanoj listi. → O( 1 )

Pitanje 13 Točno Broj bodova: 4,00 od 4,00

Ako je zadana rekurzivna funcija koja računa faktorijele: int fakt( int n ), koliko će biti rekurzivnih
poziva ako ju pozovemo s fakt( 893 )?

Odgovor: 893

Ispravan odgovor je: 893

/
Pitanje 14 Točno Broj bodova: 4,00 od 4,00

Povežite naziva vrsta obilazaka.

NLD Preorder

LDN Postorder

DLN Takav obilazak ne postoji

LND Inorder

Vaš odgovor je točan.

Ispravan odgovor je: NLD → Preorder, LDN → Postorder, DLN → Takav obilazak ne postoji, LND → Inorder

Pitanje 15 Točno Broj bodova: 4,00 od 4,00

Neka je zadana procedura void UHRPI(int i) koja uhrpljava čvor na i-tom mjestu prema algoritmu koji
smo učili na predavanju i procedura zamjeni(..) koja zamjenjuje mjesta dva elementa u zadanom nizu V
od N elemenata. NH je broj elemenata hrpe.

Prema algoritmu za soritranje koristeći hrpu dana je sljedeća procedura u C-u:

1. void HeapSort() {
2. int i;
3. NH = N;
4. for (i=NH/2; i>=0; i--) UHRPI( i );
5. for (i=NH-1; i>=1; i--) {
6. zamjeni( &V[1], &V[i] );
7. NH--;
8. UHRPI( 0 );
9. }}
Međutim ova procedura ima grešku. Napišite u kojoj je liniji greška!

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 6

Ispravan odgovor je: 6

/
Pitanje 16 Točno Broj bodova: 5,00 od 5,00

U funkciji HEAP SORT koja sortira podatke koristeći hrpu dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void HeapSort(int arr [] , int n) {

for (int i = n / 2 - 1; i >= 0; i--) heapify(arr, n, i);

for (int i = n - 1; i >= 0; i-- ) {

Swap(&arr[0], &arr[ i ]);

heapify (arr, i, 0);

Pitanje 17 Djelomično točno Broj bodova: 4,00 od 5,00

U rekurzivnoj funkciji MERGE-SORT koja sortira podatke niza dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void MergeSort(int l, int r) {

if (l < r ) {

int s = (l+r) / 2 ;

MergeSort(l, s);

MergeSort (s + 1 , r);

merge( l,s , r);

/
Pitanje 18 Djelomično točno Broj bodova: 4,00 od 5,00

Dana je funkcija koja generira slučajni niz sastavljen od nula i jedinica, tako da se ne mogu pojaviti više od 3 uzastopne
jedinice. Popunite polja koja nedostaju tako da programski kod radi ispravno.

void gen_array(int *a, int n) {

int uzast1=0;

for (int i=0; i<n; i++) {

a[i] = rand()% 2 ;

if (a[i] == 1) uzast1++;

if (uzast1> 2 ) {

a[i] = 0 ;

uzast1 = 0 ;

/
Pitanje 19 Djelomično točno Broj bodova: 4,00 od 5,00

U funkciji koja stvara povezanu listu dodajte dijelove koji nedostaju kako bi ona ispravno radila.

struct cvor{

int x;

struct cvor * prev;

struct cvor *next;

};

struct cvor* stvori_listu(struct cvor* glava, int polje[],int n){

struct cvor * p;

for(int i=0;i<n;i++){

if(i==0){

glava = (struct cvor*)malloc(sizeof(struct cvor));

glava-> prev =NULL;

glava->next=NULL;

glava ->x=polje[i];

p=glava;

}else{

struct cvor *tmp;

p ->next=(struct cvor*)malloc(sizeof(struct cvor));

tmp=p;

p = p->next;

p->next= tmp ;

p-> prev =tmp;

p->x=polje[i];

return glava;

/
Pitanje 20 Točno Broj bodova: 10,00 od 10,00

Preuredi redoslijed naredbi funkcije ubaci koja ubacuje novi čvor na početak povezane liste.

void ubaci( oe **t, int novix )

oe *novi = (oe *)malloc( sizeof(oe) );

novi->x = novix;
novi->sljedeci = *t;

*t = novi;

Vaš odgovor je točan.

Pitanje 21 Točno Broj bodova: 10,00 od 10,00

Uredite redoslijed naredbi kako dobili funkciju 'obilazak' koja bi odgovarala inorder (LND) obilasku stabla.

void obilazak( cvor *t )

if (cvor->lijevi!=NULL) obilazak( cvor->lijevi );

printf("%d ",cvor->x);

if (cvor->desni!=NULL) obilazak( cvor->desni );

Vaš odgovor je točan.

/
Pitanje 22 Djelomično točno Broj bodova: 16,00 od 20,00

Napisati funkciju "void pretraziZnamenku( oe *prvi, int n )" koja će iszračunati i ispisati koliko ima elemenata

u povezanoj listi koji imaju bilo koju znamenku jednaku jednoznamenkastom parametru n.

Osnovni element liste oe se sastoji od cjelobrojnog podatka 'x', te pokazivača na isti takav osnovni element 'sljedeci'.

Npr. ako je povezana lista sadrži vrijednosti: 1,72,21,5,624 i n=2, onda funkcija treba ispisati 3, zato što u 72, 21 i 624
imamo znamenku 2.

Answer: (penalty regime: 0,100 %)

1 int imaZnamenku(int broj,int n);


2
3 void pretraziZnamenku( oe *prvi, int n)
4 {
5 if(n<0 || n>9)
6 {
7 printf("n mora biti izmedu 0 i 9");
8 return;
9 }
10 int elemenata=0;
11 while(prvi!=NULL)
12 {
13 if(imaZnamenku(prvi->x,n) ==1)
14 {
15 elemenata++;
16 }
17 prvi=prvi->sljedeci;
18 }
19 printf("%d\n",elemenata);
20 }
21
22 int imaZnamenku(int broj,int n){

Test Input Expected Got

test1 1, 8 5 5

Your code failed one or more hidden tests.

Djelomično točno

Broj bodova za ovaj odgovor: 16,00/20,00.

/
Započeto ponedjeljak, 1. veljače 2021., 18:32
Stanje Završeno
Završeno ponedjeljak, 1. veljače 2021., 19:17
Proteklo vrijeme 45 min
Ocjena 62,67 od maksimalno 100,00

Pitanje 1 Točno Broj bodova: 2,00 od 2,00

Ako imamo 3 n + 7 operacija u nekom algoritmu onda kažemo da on ima složenost O( 3 n ).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 2 Točno Broj bodova: 2,00 od 2,00

Sortiranje podataka je jednake vremenske složenosti kao i pretraživanje.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 3 Točno Broj bodova: 2,00 od 2,00

Pristup prvom elementu povezane liste je trenutačan O(1).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

/
Pitanje 4 Točno Broj bodova: 2,00 od 2,00

Svi elementi povezane liste u memoriji slijede jedan iza drugoga.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 5 Točno Broj bodova: 2,00 od 2,00

Rekurzivne funkcije ili procedure mogu pozivati samu sebe samo jednom.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 6 Točno Broj bodova: 2,00 od 2,00

Svaki rekurzivni problem bi se trebao moći rede nirati pomoću jednog ili više manjih podproblema koji su po
prirodi identični, ali manji po veličini.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

/
Pitanje 7 Točno Broj bodova: 2,00 od 2,00

Svaki čvor stabla može imati najviše dva nasljednika.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 8 Točno Broj bodova: 2,00 od 2,00

Binarno stablo se u memoriji može prikazivati pomoću matrice s tri stupca.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 9 Netočno Broj bodova: 0,00 od 2,00

2
HeapSort algoritam koji koristi hrpu za sortiranje je brži algoritam za sortiranje i njegova složenost je O( N ).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 10 Točno Broj bodova: 2,00 od 2,00

Novi čvor se uvijek dodaje kao zadnji element u hrpu i tamo ostaje.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 11 Točno Broj bodova: 4,00 od 4,00

Zadan je dio programa u C-u koji je napisan prema algoritmu binarnog pretraživanja. Napisani su i brojevi
linija. Međutim, u jednoj liniji se nalazi greška. U kojoj?

1. dg = 0;
2. gg = N-1;
3. for (;;) {
4. s = (dg+gg)/2;
5. if (V[s]==x) {
6. printf( "%d Pronadjen! Na %d. poziciji u nizu.\n", x, s );
7. exit( 0 );
8. }
9. if (x<V[s]) gg = s+1;
10. if (x>V[s]) dg = s+1;
11. if (dg>=gg) {
12. printf( "%d nije pronadjen!\n", x );
13. exit( 1 );
14. }
15. }

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 9

Ispravan odgovor je: 9

/
Pitanje 12 Djelomično točno Broj bodova: 1,33 od 4,00

Poredajte po vremenskom trajanju slijedeće operacije (od najkraćeg do najduljeg trajanja).

Ispitivanje je li povezana lista prazna 2 (srednje)

Dodavanje novog elementa na početak povezane liste 1 (najbrže)

Brisanje svih elemenata liste 3 (najsporije)

Vaš odgovor je djelomično točan.

Broj točnih odgovora: 1


Ispravan odgovor je: Ispitivanje je li povezana lista prazna → 1 (najbrže), Dodavanje novog elementa na početak
povezane liste → 2 (srednje), Brisanje svih elemenata liste → 3 (najsporije)

Pitanje 13 Točno Broj bodova: 4,00 od 4,00

Kod problema povrh(a,b), ako je a=1958, koliko treba biti b, da bi izvršavanje ove funkcije trajalo najduže?

Odgovor: 979

Ispravan odgovor je: 979

Pitanje 14 Točno Broj bodova: 4,00 od 4,00

Stablo kod kojeg sve razine moraju biti popunjene, osim zadnje razine koja mora biti popunjena s lijeva na
desno se naziva:

Odaberite jedan odgovor:


a. Potpuno binarno stablo

b. Poredano binarno stablo

c. Hu manovo binarno stablo

d. Opće stablo

e. Prošireno binarno stablo

Vaš odgovor je točan.

Ispravan odgovor je: Potpuno binarno stablo

/
Pitanje 15 Točno Broj bodova: 4,00 od 4,00

Neka je zadana procedura void UHRPI(int i) koja uhrpljava čvor na i-tom mjestu prema algoritmu koji
smo učili na predavanju i procedura zamjeni(..) koja zamjenjuje mjesta dva elementa u zadanom nizu V od
N elemenata. NH je broj elemenata hrpe.

Prema algoritmu za soritranje koristeći hrpu dana je sljedeća procedura u C-u:

1. void HeapSort() {
2. int i;
3. NH = N;
4. for (i=NH/2, i>=0, i--) UHRPI( i );
5. for (i=NH-1, i>=1, i--) {
6. zamjeni( &V[0], &V[i] );
7. NH--;
8. UHRPI( 0 );
9. }}
Međutim ova procedura ima grešku. Napišite u kojoj je liniji greška!

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 4

Ispravan odgovor je: 4

/
Pitanje 16 Djelomično točno Broj bodova: 4,00 od 5,00

U funkciji koja obavlja BINARNO PRETRAŽIVANJE dodajte dijelove koji nedostaju kako bi ona ispravno radila.

int binarySearch(int arr[], oat x, int n) {

int r= n -1, i, mid, l=0;

for (;;) {

mid = (l + r) / 2 ;

if (arr[mid] == x) return mid;

if (arr[mid] > x) r = mid - 1;

if (arr[mid] < x) l = mid + 1;

if (l >= r) return -1;

/
Pitanje 17 Djelomično točno Broj bodova: 3,00 od 5,00

U funkciji koja briše duplikate (pretpostavljamo da je lista sortirana) iz povezane liste dodajte dijelove koji nedostaju kako
bi ona ispravno radila.

struct element{

int X;

element * next;

};

void duplikati(element *glava) {

element *p = glava;

element *tmp = NULL;

while (p->next) {

if (p->X == p->next->X ) {

tmp = p->next->next ;

free( p->next );

p->next=tmp ;

}else {

p=p->next ;

/
Pitanje 18 Djelomično točno Broj bodova: 4,00 od 5,00

Ako je stog de niran strukturom:

typedef struct stack {

int sp;

int capacity;

int* array;

} Stack;

ubacite dijelove koda koji nedostaju da bi funkcija PUSH radila ispravno.

void Push( struct Stack *s, int x) {

if (s->sp >= ( s ->capacity - 1))

printf("Error.Stack overflow.\n");

else {

s->sp += 1 ;

s->array[s->sp] = x ;

/
Pitanje 19 Djelomično točno Broj bodova: 3,00 od 5,00

U funkciji koja računa povrh koristeći stog dodajte dijelove koji nedostaju kako bi ona ispravno radila.

int povrhStack(Stack* s1, Stack* s2, int a, int b) {

int n, m, povrh= 1 ;

Clear(s1); Clear( s2 );

Push(s1, a); Push (s2, b);

do {

n = Pop(s1);

m = Pop(s2);

if (m == n || n == 1 || m == 0) povrh++;

else {

Push(s1, n - 1);

Push(s2, m - 1);

Push(s1, n - 1);

Push(s2, m-1 );

} while (IsEmpty(s1) == 0);

return povrh;

/
Pitanje 20 Djelomično točno Broj bodova: 6,67 od 10,00

Preuredi redoslijed naredbi funkcije arsr koja izračunava i vraća kao rezultat aritmetičku sredinu povezane
liste.

oat arsr( oe *pr ) {

if (pr==NULL) return 0;

oat rez = 0; int n = 0; oe *t;

for (t=pr; t!=NULL; t=t->sljedeci) { rez+=t->x; n++; }

return rez/n;

Vaš odgovor je djelomično točan.

Vrsta ocjenjivanja: Apsolutna pozicija

Detalji ocjene: 4 / 6 = 67%

Here are the scores for each item in this response:

1. 1 / 1 = 100%
2. 0 / 1 = 0%
3. 0 / 1 = 0%
4. 1 / 1 = 100%
5. 1 / 1 = 100%
6. 1 / 1 = 100%

Točan redoslijed za ove odgovore je slijedeći:

1. oat arsr( oe *pr ) {


2. oat rez = 0; int n = 0; oe *t;
3. if (pr==NULL) return 0;
4. for (t=pr; t!=NULL; t=t->sljedeci) { rez+=t->x; n++; }
5. return rez/n;
6. }

/
Pitanje 21 Djelomično točno Broj bodova: 6,67 od 10,00

Uredite redoslijed naredbi kako dobili funkciju 'obilazak' koja bi odgovarala inorder (LND) obilasku stabla.

void obilazak( cvor *t )

if (cvor->lijevi!=NULL) obilazak( cvor->lijevi );

if (cvor->desni!=NULL) obilazak( cvor->desni );

printf("%d ",cvor->x);

Vaš odgovor je djelomično točan.

Vrsta ocjenjivanja: Apsolutna pozicija

Detalji ocjene: 4 / 6 = 67%

Here are the scores for each item in this response:

1. 1 / 1 = 100%
2. 1 / 1 = 100%
3. 1 / 1 = 100%
4. 0 / 1 = 0%
5. 0 / 1 = 0%
6. 1 / 1 = 100%

Točan redoslijed za ove odgovore je slijedeći:

1. void obilazak( cvor *t )


2. {
3. if (cvor->lijevi!=NULL) obilazak( cvor->lijevi );
4. printf("%d ",cvor->x);
5. if (cvor->desni!=NULL) obilazak( cvor->desni );
6. }

/
Pitanje 22 Netočno Broj bodova: 0,00 od 20,00

Napiši rekurzivnu funkciju "void znakovi(int n)" koja će za n=6 ispisati sljedeći uzorak:

******

*****

****

***

**

**

***

****

*****

******

Answer: (penalty regime: 0,25,50,75,100 %)

1 void znakovi (int n){


2
3 for (int j=0;j<n;j++){
4 printf("*");}
5 printf("\n");
6 if (n>0){ znakovi(int n-1);}
7 if (n+1==7) {return;}}
8
9

Syntax Error(s)

__tester__.c: In function ‘znakovi’:


__tester__.c:14:23: error: expected expression before ‘int’
if (n>0){ znakovi(int n-1);}
^~~

Netočno

Broj bodova za ovaj odgovor: 0,00/20,00. /


/
Započeto ponedjeljak, 1. veljače 2021., 18:30
Stanje Završeno
Završeno ponedjeljak, 1. veljače 2021., 19:13
Proteklo vrijeme 43 min 49 s
Ocjena 74,00 od maksimalno 100,00

Pitanje 1 Točno Broj bodova: 2,00 od 2,00

Sortirani niz se može pretvoriti u nesortirani niz u vremenu O( 1 ).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 2 Točno Broj bodova: 2,00 od 2,00

Pronaći najveći podatak u sortiranom nizu se može trenutačno: O(1).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 3 Točno Broj bodova: 2,00 od 2,00

Ako povezana lista ima pokazivače na prvog i na zadnjeg, onda možemo trenutačno (u vremenu O(1)) obrisati
zadnji podatak.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 4 Točno Broj bodova: 2,00 od 2,00

Povezana lista se može obići unatrag (od zadnjeg elementa do prvog) u linearnom vremenu O( n ).

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 5 Točno Broj bodova: 2,00 od 2,00

Rekurzivno rješavanje problema povrh zahtjeva samo jedan rekurzivni poziv.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

Pitanje 6 Točno Broj bodova: 2,00 od 2,00

Faktorijel se može izračunati isključivo koristeći rekurziju.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 7 Točno Broj bodova: 2,00 od 2,00

Obilasci binarnog stabla po dubini se mogu riješiti rekurzivnom funkcijom.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 8 Točno Broj bodova: 2,00 od 2,00

Potpuno binarnos stablo se može prikazati u memoriji pomoću jednog niza.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Točno'.

Pitanje 9 Točno Broj bodova: 2,00 od 2,00

Svaka hrpa ima izgled proširenog binarnog stabla.

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 10 Netočno Broj bodova: 0,00 od 2,00

Na slici je prikazana Min-hrpa:

Odaberite jedan odgovor:

Točno

Netočno

Ispravan odgovor je 'Netočno'.

/
Pitanje 11 Točno Broj bodova: 4,00 od 4,00

Zadan je dio programa u C-u koji je napisan prema algoritmu binarnog pretraživanja. Napisani su i brojevi
linija. Međutim, u jednoj liniji se nalazi greška. U kojoj?

1. dg = 0;
2. gg = N-1;
3. for (;;) {
4. s = (dg+gg)/2;
5. if (s==x) {
6. printf( "%d Pronadjen! Na %d. poziciji u nizu.\n", x, s );
7. exit( 0 );
8. }
9. if (x<V[s]) gg = s-1;
10. if (x>V[s]) dg = s+1;
11. if (dg>=gg) {
12. printf( "%d nije pronadjen!\n", x );
13. exit( 1 );
14. }
15. }

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 5

Ispravan odgovor je: 5

/
Pitanje 12 Točno Broj bodova: 4,00 od 4,00

Povežite algoritam s povezanim listama s njegovom složenosti.

Neka lista ima n podataka i neka ima samo pokazivač na prvi podatak.

Dodavanje novog podatka na početak povezane liste. O( 1 )

Dodavanje novog podatka u sredinu povezane liste. O( n )

Obilazak povezane liste. O( n )

Pristup prvom elementu. O( 1 )

Brisanje prvog podatka u povezanoj listi. O( 1 )

Vaš odgovor je točan.

Ispravan odgovor je: Dodavanje novog podatka na početak povezane liste. → O( 1 ), Dodavanje novog podatka u
sredinu povezane liste. → O( n ), Obilazak povezane liste. → O( n ), Pristup prvom elementu. → O( 1 ), Brisanje prvog
podatka u povezanoj listi. → O( 1 )

Pitanje 13 Točno Broj bodova: 4,00 od 4,00

Kod problema povrh(a,b), ako je a=720, koliko treba biti b, da bi izvršavanje ove funkcije trajalo najduže?

Odgovor: 360

Ispravan odgovor je: 360

/
Pitanje 14 Točno Broj bodova: 4,00 od 4,00

Povežite naziva vrsta obilazaka.

LND Inorder

NLD Preorder

DLN Takav obilazak ne postoji

LDN Postorder

Vaš odgovor je točan.

Ispravan odgovor je: LND → Inorder, NLD → Preorder, DLN → Takav obilazak ne postoji, LDN → Postorder

Pitanje 15 Točno Broj bodova: 4,00 od 4,00

Neka je zadana procedura void UHRPI(int i) koja uhrpljava čvor na i-tom mjestu prema algoritmu koji smo učili
na predavanju i procedura zamjeni(..) koja zamjenjuje mjesta dva elementa u zadanom nizu V od N
elemenata. NH je broj elemenata hrpe.

Prema algoritmu za soritranje koristeći hrpu dana je sljedeća procedura u C-u:

1. void HeapSort() {
2. int i;
3. NH = N;
4. for (i=NH/2; i>=0; i--) UHRPI( i );
5. for (i=NH-1; i>=1; i--) {
6. zamjeni( &V[i], &V[i-1] );
7. NH--;
8. UHRPI( 0 );
9. }}
Međutim ova procedura ima grešku. Napišite u kojoj je liniji greška!

(unesite samo broj linije u kojoj je greška, bez točke na kraju)

Odgovor: 6

Ispravan odgovor je: 6

/
Pitanje 16 Djelomično točno Broj bodova: 2,00 od 5,00

U funkciji koja obavlja SELECT-SORT dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void SELEKTsort(float V [] , int n) {

int i, j;

for (i = 0; i < n - 1; i++)

for (j = i+1 + 1; j < n; j++)

if (V[i] < V[j]) {

float temp = V[i ]

V[i] = V[j];

V[j] = temp ;

/
Pitanje 17 Točno Broj bodova: 5,00 od 5,00

U funkciji koja računa povrh koristeći stog dodajte dijelove koji nedostaju kako bi ona ispravno radila.

int povrhStack(Stack* s1, Stack* s2, int a, int b) {

int n, m, povrh= 0 ;

Clear(s1); Clear( s2 );

Push(s1, a); Push (s2, b);

do {

n = Pop(s1);

m = Pop(s2);

if (m == n || n == 1 || m == 0) povrh++;

else {

Push(s1, n - 1);

Push(s2, m - 1);

Push(s1, n - 1);

Push(s2, m );

} while (IsEmpty(s1) == 0);

return povrh;

/
Pitanje 18 Točno Broj bodova: 5,00 od 5,00

U funkciji koja obavlja BINARNO PRETRAŽIVANJE dodajte dijelove koji nedostaju kako bi ona ispravno radila.

int binarySearch(int arr[], int x, int n) {

int r= n -1, i, mid, l=0;

for (;;) {

mid = (l + r) / 2 ;

if (arr[mid] == x) return mid;

if (arr[mid] > x) r = mid - 1;

if (arr[mid] < x) l = mid + 1;

if (l >= r) return -1;

Pitanje 19 Djelomično točno Broj bodova: 4,00 od 5,00

U funkciji HEAP SORT koja sortira podatke koristeći hrpu dodajte dijelove koji nedostaju kako bi ona ispravno radila.

void HeapSort(int arr [] , int n) {

for (int i = n / 2 - 1; i >= 0; i--) heapify(arr, n, i);

for (int i = n - 1; i >= 0; i-- ) {

Swap(&arr[0], &arr[ n-1 ]);

heapify (arr, i, 0);

/
Pitanje 20 Točno Broj bodova: 10,00 od 10,00

Što će ispisati sljedeći program:

#include <stdio.h>
#include <stdlib.h>

struct oe_ { int x; struct oe_ *sljedeci; };


typedef struct oe_ oe;

void ubaci( oe **t, int novix ) {


oe *novi = (oe *)malloc( sizeof(oe) );
novi->x = novix;
novi->sljedeci = *t;
*t = novi;
}

int main() {
oe *p1 = NULL, *p2=NULL, *t1, *t2;
ubaci( &p1, 1 );
ubaci( &p2, 2 );
ubaci( &p1, 3 );
ubaci( &p2, 4 );
ubaci( &p1, 5 );
ubaci( &p2, 6 );
for (t1=p1, t2=p2; t1!=NULL; t1=t1->sljedeci)
printf("%d%d",t1->x, t2->x);
return 0;
}

Odgovor: 563616

Ispravan odgovor je: 563616

/
Pitanje 21 Točno Broj bodova: 10,00 od 10,00

Uredite redoslijed naredbi kako dobili funkciju 'obilazak' koja bi odgovarala inorder (LND) obilasku stabla.

void obilazak( cvor *t )

if (cvor->lijevi!=NULL) obilazak( cvor->lijevi );

printf("%d ",cvor->x);

if (cvor->desni!=NULL) obilazak( cvor->desni );

Vaš odgovor je točan.

/
Pitanje 22 Netočno Broj bodova: 0,00 od 20,00

Napisati rekurzivnu funkciju "int pronadji(struct cvor *root, int n)" koja će pronaći (ako postoji) traženu
vrijednost n u poredanom binarnom stablu. Ako cvor sa trazenom vrijednoscu postoji funkcija treba vratiti vrijednost 1, a
ukoliko ne postoji 0. Stablo je predstavljeno strukturom cvor koja sadrzi cjelobrojni podatak X te pokazivače na lijevog
nasljednika lijevi i pokazivača na desnog nasljednika desni;

Answer: (penalty regime: 0,25,50,75,100 %)

Ace editor not ready. Perhaps reload page?


Falling back to raw text area.

int pronadji( struct cvor *root, int n){

while (root!=NULL)
{
if(n > root->X)
{
return pronadji(root->desni, n);
}

else if(n < root->X)


{
return pronadji(root -> lijevi, n);
}

else{
return 1;
}
}

Syntax Error(s)

__tester__.c:73:1: error: expected identifier or ‘(’ before ‘}’ token


}
^

Netočno

Broj bodova za ovaj odgovor: 0,00/20,00.

You might also like