opća pitanja, IK Flashcards

1
Q

Najbrži algoritam za sortiranje niza podataka je SELECT SORT algoritam. (T ili N)

A

Netočno

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Vremenska složenost O(n) je bolja (brži algoritam) od vremenske složenosti O(n*logn). (T ili N)

A

Točno

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

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

A

Točno

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Neka je zadan niz od 49842 podataka. Koliko će biti ponavljanja petlje kod algoritma binarnog pretraživanja?

A

16

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Za “Veliko O”, O-notaciju vrijedi:

  • To je funkcija rasta vremena izvršavanja ili potrebnog prostora s obzirom na ulazni broj podataka
  • To je matematička formulacija koja definira vremensku i prostornu složenost algoritma
  • Ova notacija definira točnost našeg algoritma
  • To je mjera efikasnosti (učinkovitosti) algoritma/programa
  • Prikazuje ponašanje algoritma u najkraćem, tj. najboljem slučaju izvršavanja
A
  • To je funkcija rasta vremena izvršavanja ili potrebnog prostora s obzirom na ulazni broj podataka
  • To je mjera efikasnosti (učinkovitosti) algoritma/programa
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

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 (V[s]<x) gg = s-1;
  10. if (V[s]<x) dg = s+1;
  11. if (dg>=gg) {
  12. printf( “%d nije pronadjen!\n”, x );
  13. exit( 1 );
  14. }
  15. }
A

9

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Ako povezana lista ima pokazivače na prvog i na zadnjeg, onda možemo trenutačno (u vremenu O(1)) dodati novi podatak na kraj. (T ili N)

A

Točno

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Neka je povezana lista definirana strukturom u C-u:

struct oe_ {

float x;

struct oe_ *sljedeci;

} prvi = NULL;

Zadan je dio programa u C-u koji je napisan prema algoritmu obilaska (ispisa) povezane liste. Napisani su i brojevi linija. Međutim, u jednoj liniji se nalazi greška. U kojoj? Uzeti u obzir da je lista već popunjena podacima, da je t deklariran kao pokazivač na osnovni element liste, te da je i cjelobrojna varijabla.

  1. t = prvi; i = 1;
  2. for (;;) {
  3. if (t==NULL) break;
  4. printf( “Element %d. je %f\n”, i++, t->x );
  5. prvi = prvi->sljedeci;
  6. }
A

5

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

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 u sredinu povezane liste.
- Dodavanje novog podatka na početak povezane liste.
- Brisanje prvog podatka u povezanoj listi.
- Pristup prvom elementu.
- Obilazak povezane liste.

A
  • 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)
  • Pristup prvom elementu. O(1)
  • Obilazak povezane liste. O(n)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Ako imamo sortiranu povezanu listu onda ju možemo pretraživati algoritmom binarnog pretraživanja. (T ili N)

A

Netočno

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Na nekom računalu se dodavanje elementa na početak povezane liste izvršava za 50ns. Koliko će nanosekundi biti potrebno za dodavanje 462 elemenata u takvu povezanu listu.

A

23100

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

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

A

Netočno

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Rekurzivne funkcije ili procedure mogu pozivati samu sebe samo jednom. (T ili N)

A

Netočno

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Funkcija int fakt( int n ), može izračunati točno fakt( 12 ) = 479001600. Zašto ova funkcija ne može točno izračunati fakt( n ), za n>12?

  • Faktorijel nije niti definiran za n>12
  • Zato što računalo nema dovoljno memorije
  • Rezultat prelazi izvan opsega vrijednosti 32-bitnog tipa podataka int
  • Funkcija može točno izračunati i za n>12
  • Za n>12 računanje predugo traje
A

Rezultat prelazi izvan opsega vrijednosti 32-bitnog tipa podataka int

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

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

A

430

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

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

A

Točno

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Rekurzivna funkcija ili procedura uvijek mora sadržavati osnovni slučaj koji je nerekurzivan.

A

Točno

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Neka je zadana rekurzivna funkcija koja računa faktorijele. Napišite u kojoj liniji koda se pojavljuje greška.

  1. int fakt( int n );
  2. {
  3. if (n<=1) return 1;
  4. else return n*fakt( n-1 );
  5. }
A

1

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Stablo se u memoriji prikazuje pomoću jednog niza i jednog pokazivača. (T ili N)

A

Netočno

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Na kojem mjestu se nalazi roditeljski čvor od čvora na mjestu 20713 kod potpunog binarnog stabla?

21
Q

Obilasci binarnog stabla po dubini se mogu riješiti rekurzivnom funkcijom. (T ili N)

22
Q

Svaki čvor binarnog stabla može imati najviše dva nasljednika. (T ili N)

23
Q

U stablu na slici koji po redu se ispisuje čvor 11 kod ‘Inorder’ obilaska?

                        11
                      /       \
                    6         19
                  /    \       /     \
                4      8   17     43
                   \       \         /     \
                    5      10   31     49
24
Q

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

  • Pomoću dinamičke strukture koja sadrži vrijednost čvora i pokazivač na sljedeće čvor
  • 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
  • Pomoću 3 matrice
A
  • Pomoću dinamičke strukture koja koristi vrijednost čvora, i pokazivače ne lijevi i desni nasljednik
  • Pomoću matrice s tri stupca
25
Q

Hrpa ima 6398 čvorova. Koliko razina ima ovakva hrpa?

26
Q

Za hrpu (gomilu) vrijede slijedeće tvrdnje:

  • Svaki čvor hrpe mora imati vrijednost usporedivu s vrijednostima ostalih čvorova.
  • Hrpa je nelinearna struktura podataka.
  • Hrpa uvijek ima manje razina nego čvorova.
  • Hrpa se efikasno ostvaruje koristeći matricu s tri stupca u memoriji računala.
  • Hrpa može imati čvor koji ima samo jednog nasljednika.
A
  • Svaki čvor hrpe mora imati vrijednost usporedivu s vrijednostima ostalih čvorova.
  • Hrpa je nelinearna struktura podataka.
  • Hrpa može imati čvor koji ima samo jednog nasljednika.
27
Q

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. }}
28
Q

Novi čvor se uvijek dodaje kao zadnji element u hrpu i tamo ostaje. (T ili N)

29
Q

Svaka hrpa je istovremeno i sortirani niz. (T ili N)

30
Q

Algoritam za sortiranje BubbleSort je sporiji od algoritma za sortiranje koji koristi hrpu HeapSort. (T ili N)

31
Q

Kakvo je to binarno stablo?

A

Stablo čiji čvorovi mogu imati najviše dva nasljednika

32
Q

Koliko binarno stablo s i razina može imati čvorova?

A

2 na i čvorova

33
Q

Kako se binarno stablo može prikazati u memoriji?

A

Statički (kao matrica s 3 stupca) ili dinamički.

34
Q

Što je to obilazak po dubini?

A

Od korjena prema dnu stabla.

35
Q

Objasni preorder obilazak.

A

NLD ispis, Nadređeni -> Lijevi - > Desni

36
Q

Objasni inorder obilazak.

A

LND ispis, Lijevi - > Nadređeni -> Desni

37
Q

Objasni postorder obilazak.

A

LDN ispis, Lijevi -> Desni - > Nadređeni

38
Q

Što je to obilazak po širini?

A

obilazak po razinama s lijeva na desno, potrebna je struktura red

39
Q

Kakvo je to poredano binarno stablo?

A

lijevi nasljednik i njegova oznaka su strogo manji od nadređenog, a desni nasljednik i njegova oznaka su strogo veći od nadređenog.

40
Q

Kakvo je to izbalansirano stablo?

A

Stablo koje ima najmanju moguću visinu, tj. najmanji mogući broj razina.

41
Q

Kakvo je to potpuno binarno stablo?

A

Stablo u kojem su sve razine osim zadnje popunjene.

42
Q

Koliko na svakoj razini ima čvorova u potpunom binarnom stablu?

A

Ako se korjen označi s 0, onda na svakoj razini ima 2 na n čvorova (n - broj razina)

43
Q

Objasni redne brojeve čvorova u potpunom binarnom stablu

A
  • lijevi nasljednik ima uvjek parni redni broj
  • desni nasljednik ima uvjek neparni redni broj
  • nadređeni čvor i-tom čvoru ima redni broj floor(i / 2)
  • lijevi nasljednik i-tog čvora ima redni broj 2*i
  • desni nasljednik i-tog čvora ima redni broj 2*i + 1
44
Q

Kako se u računalu može prikazati potpuno binarno stablo?

A

Pomoću niza koji se popunjava po razinama.

45
Q

Kakvo je to prošireno binarno stablo?

A

stablo kojem svaki čvor može imati ili 2 ili nijednog nasljednika

46
Q

Koliki je težinski put od i-tog vanjskog čvora do korjena u proširenom binarnom stablu?

A

težina(i) * razina(i)

47
Q

Kakvo je to Huffmanovo stablo?

A

Prošireno stablo s najmanjim težinskim putem (čvorovi s većim težinama su bliže korjenu).

48
Q

Što je to hrpa?

A

Potpuno binarno stablo za kojeg vrijedi da je vrijednost čvora manja ili jednaka vrijednosti njemu nadređenog čvora.