opća pitanja, IK Flashcards
Najbrži algoritam za sortiranje niza podataka je SELECT SORT algoritam. (T ili N)
Netočno
Vremenska složenost O(n) je bolja (brži algoritam) od vremenske složenosti O(n*logn). (T ili N)
Točno
Sortirani niz se može pretvoriti u nesortirani niz u vremenu O( 1 ). (T ili N)
Točno
Neka je zadan niz od 49842 podataka. Koliko će biti ponavljanja petlje kod algoritma binarnog pretraživanja?
16
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
- To je funkcija rasta vremena izvršavanja ili potrebnog prostora s obzirom na ulazni broj podataka
- To je mjera efikasnosti (učinkovitosti) algoritma/programa
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?
- dg = 0;
- gg = N-1;
- for (;;) {
- s = (dg+gg)/2;
- if (V[s]==x) {
- printf( “%d Pronadjen! Na %d. poziciji u nizu.\n”, x, s );
- exit( 0 );
- }
- if (V[s]<x) gg = s-1;
- if (V[s]<x) dg = s+1;
- if (dg>=gg) {
- printf( “%d nije pronadjen!\n”, x );
- exit( 1 );
- }
- }
9
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)
Točno
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.
- t = prvi; i = 1;
- for (;;) {
- if (t==NULL) break;
- printf( “Element %d. je %f\n”, i++, t->x );
- prvi = prvi->sljedeci;
- }
5
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.
- 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)
Ako imamo sortiranu povezanu listu onda ju možemo pretraživati algoritmom binarnog pretraživanja. (T ili N)
Netočno
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.
23100
Ako imamo dvostruko povezanu listu onda možemo pristupiti svakom podatku trenutačno O(1). (T ili N)
Netočno
Rekurzivne funkcije ili procedure mogu pozivati samu sebe samo jednom. (T ili N)
Netočno
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
Rezultat prelazi izvan opsega vrijednosti 32-bitnog tipa podataka int
Kod problema povrh(a,b), ako je a=861, koliko treba biti b, da bi izvršavanje ove funkcije trajalo najduže?
430
Složenost rekurzivne funkcije int fakt( int n ) koja računa faktorijel je O( n ). (T ili N)
Točno
Rekurzivna funkcija ili procedura uvijek mora sadržavati osnovni slučaj koji je nerekurzivan.
Točno
Neka je zadana rekurzivna funkcija koja računa faktorijele. Napišite u kojoj liniji koda se pojavljuje greška.
- int fakt( int n );
- {
- if (n<=1) return 1;
- else return n*fakt( n-1 );
- }
1
Stablo se u memoriji prikazuje pomoću jednog niza i jednog pokazivača. (T ili N)
Netočno
Na kojem mjestu se nalazi roditeljski čvor od čvora na mjestu 20713 kod potpunog binarnog stabla?
10356
Obilasci binarnog stabla po dubini se mogu riješiti rekurzivnom funkcijom. (T ili N)
Točno
Svaki čvor binarnog stabla može imati najviše dva nasljednika. (T ili N)
Točno
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
6
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
- Pomoću dinamičke strukture koja koristi vrijednost čvora, i pokazivače ne lijevi i desni nasljednik
- Pomoću matrice s tri stupca