<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="sr">
	<id>https://siwiki.rs/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%D0%98%D0%B2%D0%B0%D0%BD+%D0%A6%D0%B2%D0%B5%D1%82%D0%B8%D1%9B</id>
	<title>SI Wiki - Кориснички доприноси [sr]</title>
	<link rel="self" type="application/atom+xml" href="https://siwiki.rs/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%D0%98%D0%B2%D0%B0%D0%BD+%D0%A6%D0%B2%D0%B5%D1%82%D0%B8%D1%9B"/>
	<link rel="alternate" type="text/html" href="https://siwiki.rs/wiki/%D0%9F%D0%BE%D1%81%D0%B5%D0%B1%D0%BD%D0%BE:%D0%94%D0%BE%D0%BF%D1%80%D0%B8%D0%BD%D0%BE%D1%81%D0%B8/%D0%98%D0%B2%D0%B0%D0%BD_%D0%A6%D0%B2%D0%B5%D1%82%D0%B8%D1%9B"/>
	<updated>2026-06-04T02:18:18Z</updated>
	<subtitle>Кориснички доприноси</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9E%D0%9E2/%D0%88%D1%83%D0%BD_2021&amp;diff=2076</id>
		<title>ОО2/Јун 2021</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9E%D0%9E2/%D0%88%D1%83%D0%BD_2021&amp;diff=2076"/>
		<updated>2021-06-08T22:05:48Z</updated>

		<summary type="html">&lt;p&gt;Иван Цветић: Dodat 6. zadatak za G4&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
* Za pitanja sa više odgovora, tačni odgovori su &amp;lt;span class=&amp;quot;solution-example&amp;quot;&amp;gt;podebljani i uokvireni&amp;lt;/span&amp;gt;.&lt;br /&gt;
* Za pitanja za koje se odgovori unose, tačni odgovori su podvučeni i sakriveni: &amp;lt;span class=&amp;quot;spoiler-example&amp;quot;&amp;gt;ovako&amp;lt;/span&amp;gt;.&lt;br /&gt;
* Pritisnite na sledeće dugme kako biste ih sakrili ili otkrili: &amp;lt;span class=&amp;quot;unhide-spoilers unhide-solutions&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== G1/G2 ==&lt;br /&gt;
=== 1. zadatak ===&lt;br /&gt;
Koja od sledećih tvrđenja su tačna za programski jezik Java?&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Moguće je imenovati promenljive u izvornom kodu napisanom na jeziku Java koristeći srpsko ćirilično pismo.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Veličina primitivnog podatka tipa &amp;lt;code&amp;gt;char&amp;lt;/code&amp;gt; u programskom jeziku Java je tačno 8 bita.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Izvorni kod napisan na programskom jeziku Java koristeći ASCII način kodiranja translira se pre prevođenja koristeći UTF-16 način kodiranja.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Java koristi UTF-16 način kodiranja za kodiranje znaka (&amp;lt;code&amp;gt;char&amp;lt;/code&amp;gt;).&amp;lt;/span&amp;gt;&lt;br /&gt;
# Java koristi isključivo ASCII način kodiranja za kodiranje znaka (&amp;lt;code&amp;gt;char&amp;lt;/code&amp;gt;).&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2. zadatak ===&lt;br /&gt;
Koja od sledećih tvrđenja su tačna za glavni metod (funkciju &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt; koja predstavlja ulaznu tačku programa) na programskom jeziku Java?&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Glavni metod mora biti javno dostupan.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Glavni metod mora biti statički metod.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Glavni metod može da ima proizvoljan broj parametara proizvoljnog tipa.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Povratna vrednost glavnog metoda mora biti tipa &amp;lt;code&amp;gt;void&amp;lt;/code&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Svaka od više klasa koje obrazuju program može da definiše metod &amp;lt;code&amp;gt;main&amp;lt;/code&amp;gt;, sa odgovarajućom deklaracijom glavnog metoda i različitim telom, od kojih svaki može da bude glavni metod u različitim pokretanjima programa.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 3. zadatak ===&lt;br /&gt;
Koja od sledećih tvrđenja su tačna na programskom jeziku Java?&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Paketi rešavaju problem konflikta imena tipova.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Paketi ostvaruju koncept prostora imena sličan konceptu &amp;lt;code&amp;gt;namespace&amp;lt;/code&amp;gt; u jeziku C++.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Po konvenciji, imena paketa se pišu isključivo velikim slovima.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Paket predstavlja skup logički povezanih tipova objekata (na primer, klasa, interfejsa).&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Paketi utiču na pravo pristupa sadržanim tipovima i članovima tipova.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 4. zadatak ===&lt;br /&gt;
Šta ispisuje sledeći program na programskom jeziku Java? Upisati simbol &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; ukoliko se program ne prevodi.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
interface I {&lt;br /&gt;
    static void m() {&lt;br /&gt;
        System.out.print(1);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class B {&lt;br /&gt;
    public static void m() {&lt;br /&gt;
        System.out.print(2);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class D extends B implements I {&lt;br /&gt;
    public D() {&lt;br /&gt;
        m();&lt;br /&gt;
        B.m();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public class Test {&lt;br /&gt;
    public static void main(String args[]) {&lt;br /&gt;
        new D();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;22&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Objašnjenje: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;Poziv &amp;lt;code&amp;gt;m()&amp;lt;/code&amp;gt; poziva nasleđeni metod klase &amp;lt;code&amp;gt;B&amp;lt;/code&amp;gt; jer se statički metod interfejsa mora pozvati eksplicitno preko naziva interfejsa.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 5. zadatak ===&lt;br /&gt;
Šta može da stoji umesto #### da bi se sledeći izvorni kod napisan na programskom jeziku Java uspešno preveo?&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public class Test {&lt;br /&gt;
    public static void main(String[] args) {&lt;br /&gt;
        try {&lt;br /&gt;
            ####&lt;br /&gt;
        } catch (Exception e) {}&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;throw 1;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;throw new Throwable();&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;throw new Exception();&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;throw;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;throw new Object();&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Objašnjenje: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;Izuzetak koji se baca kroz &amp;lt;code&amp;gt;throw&amp;lt;/code&amp;gt; na programskom jeziku Java mora biti izveden iz &amp;lt;code&amp;gt;Throwable&amp;lt;/code&amp;gt;. Bacanje &amp;lt;code&amp;gt;Throwable&amp;lt;/code&amp;gt; se ovde neće prevesti jer metoda ne hvata niti deklariše u &amp;lt;code&amp;gt;throws&amp;lt;/code&amp;gt; klauzuli &amp;lt;code&amp;gt;Throwable&amp;lt;/code&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 6. zadatak ===&lt;br /&gt;
Koja od sledećih tvrđenja su tačna za programski jezik Java?&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Lokalnu klasu moguće je definisati unutar metoda klase.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Lokalnu klasu moguće je definisati unutar konstruktora klase.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Lokalnu klasu moguče je definisati unutar inicijalizacionog bloka klase.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Lokalnu klasu moguće je definisati unutar definicije klase, van bilo kog bloka koda.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Lokalnu klasu moguće je definisati unutar main funkcije.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 7. zadatak ===&lt;br /&gt;
Dat je sledeći programski kod napisan na programskom jeziku Java.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
class Brojac {&lt;br /&gt;
    private int br = 0;&lt;br /&gt;
    public void inkrement() { br++; }&lt;br /&gt;
    public int dajBroj() { return br; }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public class Test {&lt;br /&gt;
    public static void main(String args[]) throws InterruptedException {&lt;br /&gt;
        Brojac brojac = new Brojac();&lt;br /&gt;
        Thread[] niti = new Thread[10];&lt;br /&gt;
        &lt;br /&gt;
        for (int i = 0; i &amp;lt; niti.length; i++) niti[i] = new Thread(() -&amp;gt; { brojac.inkrement(); });&lt;br /&gt;
        for (int i = 0; i &amp;lt; niti.length; i++) niti[i].start();&lt;br /&gt;
        for (int i = 0; i &amp;lt; niti.length; i++) niti[i].join();&lt;br /&gt;
        System.out.print(brojac.dajBroj());&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Koje od sledećih tvrdnji su tačne za prikazani kod?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(Izaberite jedan odgovor)&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Programski kod se uspešno prevodi i izvršava. Prilikom izvršavanja programa na standardnom izlazu uvek se ispisuje vrednost 10.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Programski kod se uspešno prevodi i izvršava. Prilikom izvršavanja programa na standardnom izlazu može se, ali ne mora, ispisati vrednost 10.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Programski kod se ne prevodi uspešno.&lt;br /&gt;
# Programski kod se uspešno prevodi i izvršava. Prilikom izvršavanja programa na standardnom izlazu uvek se ispisuje vrednost 0.&lt;br /&gt;
# Programski kod se uspešno prevodi, ali se prilikom izvršavanja emituje izuzetak &#039;&#039;InterruptedException&#039;&#039;.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Objašnjenje: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;Metodi klase &amp;lt;code&amp;gt;Brojac&amp;lt;/code&amp;gt; nisu sinhronizovani, tako da je tehnički moguće da &amp;lt;code&amp;gt;br++&amp;lt;/code&amp;gt; zapravo prvo dohvati vrednost &amp;lt;code&amp;gt;br&amp;lt;/code&amp;gt;, onda bude prekinuta od strane neke druge niti, pa pri povratku uveća pročitanu vrednost za 1 i upiše u &amp;lt;code&amp;gt;br&amp;lt;/code&amp;gt;, time gazeći vrednost koje su prethodne niti posle prekida upisale.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 8. zadatak ===&lt;br /&gt;
Klasa &amp;lt;code&amp;gt;Menu&amp;lt;/code&amp;gt; izvedena je direktno iz klase:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;MenuContainer&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;MenuComponent&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;MenuBar&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;Component&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&amp;lt;code&amp;gt;MenuItem&amp;lt;/code&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 9. zadatak ===&lt;br /&gt;
Koja od sledećih tvrdnji je tačna?&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;(Izabrati više odgovora)&#039;&#039;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Programi pisani za izvršenje na platformi .NET se prevode u međukod MSIL.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Jedna od ciljnih karakteristika radnog okvira .NET je integracija sistema korišćenjem otvorenih standarda za razmenu podataka kakav je XML.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Izvršni sklop (&#039;&#039;assembly&#039;&#039;) za .NET može biti u samo jednom ili više fajlova.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Izvršno okruženje (CLR) radnog okvira .NET izvršava program iz fajla koji sadrži prevedeni C++ program na mašinski jezik računara domaćina.&lt;br /&gt;
# Jezik Java je standard međunarodne organizacije za standardizaciju ISO, za razliku od jezika C# koji nije standardizovan.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 10. zadatak ===&lt;br /&gt;
Šta ispisuje sledeći program na jeziku C#?&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
class Program {&lt;br /&gt;
    static void M1(ref int i) { System.Console.Write(i++ + &amp;quot; &amp;quot;); }&lt;br /&gt;
    static void M2(ref int i) { System.Console.Write(i/2 + &amp;quot; &amp;quot;); }&lt;br /&gt;
    static void M3(ref int i) { System.Console.Write(i-- + &amp;quot; &amp;quot;); }&lt;br /&gt;
&lt;br /&gt;
    public delegate void Delegat(ref int i);&lt;br /&gt;
&lt;br /&gt;
    public static void Main(string[] args) {&lt;br /&gt;
        Delegat d1 = new Delegat(M1);&lt;br /&gt;
        Delegat d2 = new Delegat(M2);&lt;br /&gt;
        Delegat da = d1 + d2;&lt;br /&gt;
        Delegat d = da + d1;&lt;br /&gt;
        d += new Delegat(M3) + da;&lt;br /&gt;
        d -= d1;&lt;br /&gt;
        d -= d2;&lt;br /&gt;
        d -= new Delegat(M3);&lt;br /&gt;
        int i = 3;&lt;br /&gt;
        d(ref i);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;3 2 4&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Objašnjenje: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;U &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt; se pri stvaranju dodaju &amp;lt;code&amp;gt;M1&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;M2&amp;lt;/code&amp;gt; (iz &amp;lt;code&amp;gt;da&amp;lt;/code&amp;gt;) pa ponovo &amp;lt;code&amp;gt;M1&amp;lt;/code&amp;gt;. Zatim se dodaju &amp;lt;code&amp;gt;M3&amp;lt;/code&amp;gt; i ponovo &amp;lt;code&amp;gt;M1&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;M2&amp;lt;/code&amp;gt; (iz &amp;lt;code&amp;gt;da&amp;lt;/code&amp;gt;). Onda se uklanjaju &amp;lt;code&amp;gt;M1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;M2&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;M3&amp;lt;/code&amp;gt; sa kraja liste poziva pa ostaju samo &amp;lt;code&amp;gt;M1&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;M2&amp;lt;/code&amp;gt; i &amp;lt;code&amp;gt;M1&amp;lt;/code&amp;gt; u delegatu. Posle izvršavanja prvog &amp;lt;code&amp;gt;M1&amp;lt;/code&amp;gt; ispis je 3 a vrednost je 4, posle &amp;lt;code&amp;gt;M2&amp;lt;/code&amp;gt; ispis je 2 a vrednost ostaje ista, i posle drugog &amp;lt;code&amp;gt;M1&amp;lt;/code&amp;gt; ispis je 4 i vrednost je 3.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== G3/G4 ==&lt;br /&gt;
=== 1. zadatak ===&lt;br /&gt;
Koje od sledećih tvrđenja je tačno na programskom jeziku Java?&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Veličina tipa &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt; je zavisna od implementacije.&lt;br /&gt;
# Veličina tipa &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt; je uvek ista i iznosi 32 bita.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Veličina tipa &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt; je uvek ista i iznosi 64 bita.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Veličina tipa &amp;lt;code&amp;gt;double&amp;lt;/code&amp;gt; je uvek ista i iznosti 128 bita.&lt;br /&gt;
# ...&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2. zadatak ===&lt;br /&gt;
Koja od sledećih tvrđenja su tačna na programskom jeziku Java?&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Potpis funkcije se sastoji iz imena, broja argumenata i njihovih tipova.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Deklaracija sadrži potpis, tip rezultata i &amp;lt;code&amp;gt;throws&amp;lt;/code&amp;gt; klauzulu.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;U jednoj klasi može postojati više metoda sa istim potpisom.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Ako se u klasi nađe više metoda sa istom deklaracijom, njihova implementacija se u vreme prevođenja spaja u jednu metodu.&lt;br /&gt;
# ...&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 3. zadatak ===&lt;br /&gt;
Koja od sledećih tvrđenja su tačna na programskom jeziku Java?&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Jedan paket se može prostirati na više fajlova.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Svaki fajl sa izvornim kodom koji je deo nekog paketa mora sadržati naredbu &amp;lt;code&amp;gt;package imePaketa;&amp;lt;/code&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Različite metode sa istom deklaracijom se mogu nalaziti u dva različita paketa.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Naredba &amp;lt;code&amp;gt;package imePaketa&amp;lt;/code&amp;gt; mora biti prva naredba u fajlu.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Jedan fajl može biti sadržan u više paketa.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 4. zadatak ===&lt;br /&gt;
Šta ispisuje sledeći program na programskom jeziku Java? Upisati simbol &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; ukoliko se program ne prevodi.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
interface I {&lt;br /&gt;
    static void m() {&lt;br /&gt;
        System.out.print(1);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class B {&lt;br /&gt;
    public static void m() {&lt;br /&gt;
        System.out.print(2);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
class D extends B implements I {&lt;br /&gt;
    public D() {&lt;br /&gt;
        I.m();&lt;br /&gt;
        B.m();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public class Test {&lt;br /&gt;
    public static void main(String args[]) {&lt;br /&gt;
        new D();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;12&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 5. zadatak ===&lt;br /&gt;
Šta može da stoji umesto #### da bi se sledeći izvorni kod napisan na programskom jeziku Java uspešno preveo?&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
class Izuzetak extends Exception {}&lt;br /&gt;
&lt;br /&gt;
class Klasa {&lt;br /&gt;
    public m() throws Izuzetak {&lt;br /&gt;
        ####&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;throw;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;throw 1;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;throw new RuntimeException();&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;throw new Exception();&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;throw new Izuzetak();&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;Moguće je baciti &amp;lt;code&amp;gt;Izuzetak&amp;lt;/code&amp;gt; jer je naznačen u &amp;lt;code&amp;gt;throws&amp;lt;/code&amp;gt; klauzuli i &amp;lt;code&amp;gt;RuntimeException&amp;lt;/code&amp;gt; jer je neproveren.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 6. zadatak ===&lt;br /&gt;
Navesti koja su tvrđenja tačna za lokalne klase:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Lokalne klase definisane u nestatičkom okruženju okružujuće klase sadrže pokazivač na objekat okružujuće klase.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Referenca na lokalnu klasu se može koristiti van bloka u kome je lokalna klasa definisana.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Referenca na lokalnu klasu se može proslediti kao povratna vrednost metoda.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Referenca na lokalnu klasu se može proslediti kao argument metodu.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 7. zadatak ===&lt;br /&gt;
Isti kao [[#7. zadatak|za G1/G2]].&lt;br /&gt;
&lt;br /&gt;
=== 8. zadatak ===&lt;br /&gt;
Koje klase su izvedene iz &amp;lt;code&amp;gt;Component&amp;lt;/code&amp;gt;?&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;BorderLayout&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&amp;lt;code&amp;gt;Panel&amp;lt;/code&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;Graphics&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;code&amp;gt;MenuBar&amp;lt;/code&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&amp;lt;code&amp;gt;TextField&amp;lt;/code&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&amp;lt;code&amp;gt;Checkbox&amp;lt;/code&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&amp;lt;code&amp;gt;Choice&amp;lt;/code&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&amp;lt;code&amp;gt;Button&amp;lt;/code&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 9. zadatak ===&lt;br /&gt;
Koje od sledećih tvrdnji su tačne u vezi sa izvršnim okruženjem u .NET (CLR)?&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;CLR je odgovoran za sigurnost i zaštitu.&amp;lt;/span&amp;gt;&lt;br /&gt;
# CLR ne podržava više jezika.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;CLR podržava višenitno izvršavanje.&amp;lt;/span&amp;gt;&lt;br /&gt;
# CLR ne podržava JIT prevođenje.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;CLR upravlja memorijom programa.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 10. zadatak ===&lt;br /&gt;
Neki kod sa delegatima. &#039;&#039;(Nedostaje tekst zadatka.)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:ОО2]]&lt;/div&gt;</summary>
		<author><name>Иван Цветић</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9E%D0%9E2/%D0%9A2_2021&amp;diff=1948</id>
		<title>ОО2/К2 2021</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9E%D0%9E2/%D0%9A2_2021&amp;diff=1948"/>
		<updated>2021-05-07T22:57:15Z</updated>

		<summary type="html">&lt;p&gt;Иван Цветић: /* G3 */  Dodati zadaci za G3 grupu na drugom kolokvijumu iz OOP2 2021.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
* Za pitanja sa više odgovora, tačni odgovori su &amp;lt;span class=&amp;quot;solution-example&amp;quot;&amp;gt;podebljani i uokvireni&amp;lt;/span&amp;gt;.&lt;br /&gt;
* Za pitanja za koje se odgovori unose, tačni odgovori su podvučeni i sakriveni: &amp;lt;span class=&amp;quot;spoiler-example&amp;quot;&amp;gt;ovako&amp;lt;/span&amp;gt;.&lt;br /&gt;
* Pritisnite na sledeće dugme kako biste ih sakrili ili otkrili: &amp;lt;span class=&amp;quot;unhide-spoilers unhide-solutions&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== G1 ==&lt;br /&gt;
=== 1. zadatak ===&lt;br /&gt;
&lt;br /&gt;
=== 2. zadatak ===&lt;br /&gt;
&lt;br /&gt;
=== 3. zadatak ===&lt;br /&gt;
&lt;br /&gt;
=== 4. zadatak ===&lt;br /&gt;
&lt;br /&gt;
=== 5. zadatak ===&lt;br /&gt;
&lt;br /&gt;
=== 6. zadatak ===&lt;br /&gt;
&lt;br /&gt;
=== 7. zadatak ===&lt;br /&gt;
&lt;br /&gt;
=== 8. zadatak ===&lt;br /&gt;
&lt;br /&gt;
=== 9. zadatak ===&lt;br /&gt;
&lt;br /&gt;
=== 10. zadatak ===&lt;br /&gt;
&lt;br /&gt;
== G2 ==&lt;br /&gt;
=== 1. zadatak ===&lt;br /&gt;
Označiti tačna tvrđenja na programskom jeziku Java:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Eksplicitni ili implicitni poziv konstruktora nadklase se može izbeći ako se u konstruktoru izvedene klase pozove neki drugi konstruktor te iste klase.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Ako se koristi, poziv drugog konstruktora iste klase mora biti prva naredba u konstruktoru.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Konstrukcija objekta se može delegirati pozivom jednog konstruktora iz drugog konstruktora.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Rekurziju u delegiranju konstruktora detektuje prevodilac.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Dozvoljeno je u konstruktoru prvo pozvati konstruktor nadklase a zatim delegirati konstrukciju nekom drugom konstruktoru.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2. zadatak ===&lt;br /&gt;
Označiti tačna tvrđenja na programskom jeziku Java:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Referenca na neki interfejs može pokazivati na literal &#039;&#039;&#039;null&#039;&#039;&#039;.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Svi interfejsi su izvedeni iz klase &#039;&#039;Interface&#039;&#039; u paketu &#039;&#039;&#039;java.lang&#039;&#039;&#039;.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Referenci na neki interfejs može se dodeliti objekat bilo koje klase koja proširuje&amp;lt;ref&amp;gt;Ovo nije bila navlakuša, već je trebalo da piše &amp;quot;implementira&amp;quot;.&amp;lt;/ref&amp;gt; taj interfejs.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Referenci na interfejs se može dodeliti objekat koji se dobije kada se sa druge strane alokatora &amp;lt;code&amp;gt;new&amp;lt;/code&amp;gt; nađe naziv tog interfejsa.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Referenca na neki interfejs se može dodeliti referenci tipa &#039;&#039;Object&#039;&#039;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 3. zadatak ===&lt;br /&gt;
Šta ispisuje sledeći kod na programskom jeziku Java? Ukoliko se program ne kompajlira, upisati 0.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
interface A { default void m() { System.out.println(&amp;quot;A.m()&amp;quot;); } }&lt;br /&gt;
class C { public void m() { System.out.println(&amp;quot;C.m()&amp;quot;); } }&lt;br /&gt;
public class Test extends C implements A {&lt;br /&gt;
    public static void main(String[] arguments) {&lt;br /&gt;
        Test t = new Test();&lt;br /&gt;
        t.m();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;C.m&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 4. zadatak ===&lt;br /&gt;
Anonimna klasa na programskom jeziku Java može sadržati:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# konstruktor&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;nestatičke metode&amp;lt;/span&amp;gt;&lt;br /&gt;
# statičke metode&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;nestatička polja&amp;lt;/span&amp;gt;&lt;br /&gt;
# statička polja&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 5. zadatak ===&lt;br /&gt;
Šta se može napisati umesto &amp;lt;code&amp;gt;###&amp;lt;/code&amp;gt; kako bi se sledeći kod na programskom jeziku Java prevodio ispravno?&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
interface Calc {&lt;br /&gt;
    int m(int a, int b);&lt;br /&gt;
}&lt;br /&gt;
public class Test {&lt;br /&gt;
    public static void main(String[] arguments) {&lt;br /&gt;
        ###&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;Calc c = (int a, int b) -&amp;gt; a + b;&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;Calc c = (int a, int b) -&amp;gt; { a + b };&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;Calc c = (int a, int b) -&amp;gt; { int r = a + b; return r; };&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;Calc c = (int a, int b) -&amp;gt; return a + b;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;Calc c = (int a, int b) -&amp;gt; { return a + b; };&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 6. zadatak ===&lt;br /&gt;
Šta se može napisati umesto &amp;lt;code&amp;gt;$$$&amp;lt;/code&amp;gt; kako bi se sledeći kod na programskom jeziku Java ispravno izvršavao i ispisivao 2?&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
class Spoljna {&lt;br /&gt;
    int x = 1;&lt;br /&gt;
    class Unutrasnja {&lt;br /&gt;
        int x = 2;&lt;br /&gt;
        public void m(int x) {&lt;br /&gt;
            System.out.println($$$);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public class Main {&lt;br /&gt;
    public static void main(String[] arguments) {&lt;br /&gt;
        new Spoljna().new Unutrasnja().m(3);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;x&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;this.x&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;super.x&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;Spoljna.this.x&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;Spoljna.x&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 7. zadatak ===&lt;br /&gt;
Označiti tačna tvrđenja na programskom jeziku Java:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&#039;&#039;finally&#039;&#039; blok može da postoji bez &#039;&#039;catch&#039;&#039; bloka.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &#039;&#039;finally&#039;&#039; blok se izvršava samo ukoliko se u &#039;&#039;catch&#039;&#039; bloku baci izuzetak.&lt;br /&gt;
# &#039;&#039;finally&#039;&#039; blok se izvršava samo ukoliko se u &#039;&#039;catch&#039;&#039; bloku ne baci izuzetak.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&#039;&#039;finally&#039;&#039; blok se izvršava bez obzira na to da li je u &#039;&#039;catch&#039;&#039; bloku bačen izuzetak.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&#039;&#039;finally&#039;&#039; blok se izvršava iako ne dođe do greške.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 8. zadatak ===&lt;br /&gt;
Označiti tačna tvrđenja na programskom jeziku Java:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Metoda &#039;&#039;start&#039;&#039; ponovo pokreće nit ukoliko je završena.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Ponovni poziv &#039;&#039;start&#039;&#039; nakon završetka niti je greška.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Poziv metode &#039;&#039;start&#039;&#039; stavlja nit nad kojom je pozvana u red spremnih niti.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Nit koja poziva &#039;&#039;start&#039;&#039; se blokira.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Nit koja poziva &#039;&#039;start&#039;&#039; se ne blokira.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 9. zadatak ===&lt;br /&gt;
Označiti tačna tvrđenja na programskom jeziku Java:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Poziv &#039;&#039;interrupt&#039;&#039; nad blokiranom niti izaziva izuzetak &#039;&#039;InterruptedException&#039;&#039;.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Poziv &#039;&#039;interrupt&#039;&#039; nad blokiranom niti izaziva izuzetak &#039;&#039;ThreadDeath&#039;&#039;.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Poziv &#039;&#039;interrupt&#039;&#039; nad blokiranom niti je deblokira.&amp;lt;/span&amp;gt;&lt;br /&gt;
# ...&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Poziv &#039;&#039;interrupt&#039;&#039; nad blokiranom niti ne postavlja &#039;&#039;interrupted&#039;&#039; status.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 10. zadatak ===&lt;br /&gt;
Šta je tačno za sledeći kod na programskom jeziku Java?&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public class Test {&lt;br /&gt;
    public static void main(String[] arguments) {&lt;br /&gt;
        Thread t1 = new Thread(() -&amp;gt; { while (true); });&lt;br /&gt;
        t1.setDaemon(true);&lt;br /&gt;
        t1.start();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Referenca &#039;&#039;t1&#039;&#039; pokazuje na demonsku nit.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Java virtuelna mašina (JVM) završava svoj rad nakon završetka glavne funkcije.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Linija sa &#039;&#039;setDaemon&#039;&#039; u kodu ne menja demonski status niti na koju pokazuje &#039;&#039;t1&#039;&#039;.&lt;br /&gt;
# Nakon izvršenja glavne funkcije se ne izlazi iz programa jer ima još korisničkih niti za izvršavanje.&lt;br /&gt;
# Referenca &#039;&#039;t1&#039;&#039; ne pokazuje na demonsku nit.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== G3 ==&lt;br /&gt;
=== 1. zadatak ===&lt;br /&gt;
Šta će sledeći program ispisati? Napisati 0 ukoliko se program ne prevodi.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
interface A { default void m() { System.out.print(&amp;quot;A.m()&amp;quot;); } }&lt;br /&gt;
interface B { default void m() { System.out.print(&amp;quot;B.m()&amp;quot;); } }&lt;br /&gt;
public class X implements A, B {&lt;br /&gt;
    public void f() { System.out.print(&amp;quot;X.f()&amp;quot;); A.super.m(); B.super.m(); }&lt;br /&gt;
    public static void main (String[] args) {&lt;br /&gt;
        X x = new X();&lt;br /&gt;
        x.f();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Odgovor: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Objašnjenje: &amp;lt;span class=&amp;quot;spoiler&amp;quot;&amp;gt;Klasa X implementira interfejse koji imaju podrazumevanu metodu istog naziva, a pritom je ne redefiniše kao svoj metod, što je u Javi greška i takav program se neće prevoditi.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2. zadatak ===&lt;br /&gt;
Koji su iskazi tačni za metod &amp;lt;code&amp;gt;wait&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Ukoliko se pozove &#039;&#039;interrupt&#039;&#039; za nit za koju je prethodno pozvano &#039;&#039;wait&#039;&#039;, takva nit će se deblokirati.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Ukoliko se pozove &#039;&#039;interrupt&#039;&#039; za nit za koju je prethodno pozvano &#039;&#039;wait&#039;&#039;, baciće se izuzetak &#039;&#039;InterruptedException&#039;&#039;.&lt;br /&gt;
# Ukoliko se pozove &#039;&#039;interrupt&#039;&#039; za nit za koju je prethodno pozvano &#039;&#039;wait&#039;&#039;, baciće se izuzetak &#039;&#039;ThreadDeath&#039;&#039;.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Ukoliko se pozove &#039;&#039;interrupt&#039;&#039; za nit za koju je prethodno pozvano &#039;&#039;wait&#039;&#039;, neće se promeniti status prekida.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 3. zadatak ===&lt;br /&gt;
Koji su iskazi tačni za metod &amp;lt;code&amp;gt;join&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Pozivom metoda &#039;&#039;join&#039;&#039; bez argumenata za neku nit, nit koja poziva metod čeka da nit za koju je metod pozvan završi izvršavanje.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Metod &#039;&#039;join&#039;&#039; se može pozvati bez argumenata.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Pozivom metoda &#039;&#039;join&#039;&#039; za neku nit sa zadatim vremenom u milisekundama čekaće se bar toliko vremena, bez obzira na to da li je nit završila izvršavanje pre isteka vremena.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Metod &#039;&#039;join&#039;&#039; ne može da se nadjača u izvedenim klasama.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Pozivom metoda &#039;&#039;join&#039;&#039; podrazumevano se završava nit za koju je pozvan metod.&amp;lt;!-- Napomena: Nije baš ovako glasilo, te nisam siguran kako je tačno baš bilo. --&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 4. zadatak ===&lt;br /&gt;
Šta važi za anonimne klase:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Anonimne klase mogu pristupati nestatičkim poljima okružujuće klase.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Anonimne klase mogu pristupati statičkim poljima okružujuće klase.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Anonimne klase mogu pristupati nepromenljivim parametrima metoda koji ih okružuje.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Anonimne klase mogu pristupati lokalnim promenljivama okružujućeg metoda kojima se ne menja vrednost.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Anonimne klase mogu pristupati svim lokalnim promenljivama okružujućeg metoda, kao i njegovim parametrima, bez obzira na to da li im se menja vrednost.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 5. zadatak ===&lt;br /&gt;
Šta važi za interfejse:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Podrazumevano su polja interfejsa javna, statička i konačna.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Podrazumevano su metodi interfejsa apstraktni i javni.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Interfejsi mogu definisati podrazumevane metode.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Interfejsi mogu definisati statičke metode.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Interfejsi mogu imati modifikator final.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 6. zadatak ===&lt;br /&gt;
Navesti šta je tačno za demonske niti:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Demonstvo se nasleđuje od niti iz koje je kreirana data nit.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Demonstvo može da se menja nakon pokretanja niti.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Pokušaj promene demonstva nakon pokretanja baciće &#039;&#039;IllegalStateException&#039;&#039;.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Demonske niti će nastaviti izvršavanje nakon završetka svih ostalih niti.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Demonstvo se može menjati samo pre pokretanja niti.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 7. zadatak ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
interface Calc {&lt;br /&gt;
    int f(int x);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public class Test {&lt;br /&gt;
    public static void main(String[] args) {&lt;br /&gt;
        Test test = new Test();&lt;br /&gt;
        ###&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Šta treba da stoji umesto &amp;lt;code&amp;gt;###&amp;lt;/code&amp;gt; da bi program korektno završio?&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;Calc c = (a) -&amp;gt; a * a;&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;Calc c = a -&amp;gt; a * a;&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;Calc c = a -&amp;gt; { a*a; }&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;Calc c = b -&amp;gt; b * b;&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;Calc c = (int a) -&amp;gt; a * a;&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 8. zadatak ===&lt;br /&gt;
Koje su tvrdnje tačne za podrazumevani ugrađeni konstruktor:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Ukoliko nije definisan nijedan drugi konstruktor, prevodilac ga automatski obezbeđuje.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Podrazumevano će samo pozvati podrazumevani konstruktor natklase.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Neće pozvati podrazumevani konstruktor natklase samo u slučaju da je klasa direktno izvedena iz klase Object.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Ukoliko je klasa javna, i on je podrazumevano javan.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &#039;&#039;??? svakako nešto netačno&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 9. zadatak ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
public class Spoljna {&lt;br /&gt;
    int x = 1;&lt;br /&gt;
    class Unutrasnja {&lt;br /&gt;
        int x = 2;&lt;br /&gt;
        void m(int x) {&lt;br /&gt;
            System.out.print(###);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    public static void main(String[] args) {&lt;br /&gt;
        new Spoljna().new Unutrasnja().m(3);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Šta može sve stajati umesto &amp;lt;code&amp;gt;###&amp;lt;/code&amp;gt; da bi program korektno završio i ispisao 1?&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;this.x&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;x&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;Spoljna.this.x&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;Outer.x&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# &amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; inline&amp;gt;super.x&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 10. zadatak ===&lt;br /&gt;
Navesti tačne tvrdnje za izuzetke:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Svi izuzeci u Javi moraju biti izvedeni iz klase Exception.&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Svi izuzeci koji se bacaju u metodu moraju se navesti u njegovoj throws klauzuli.&amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;solution&amp;quot;&amp;gt;Prevodilac može da proveri tipove izuzetaka navedenih u throws klauzuli.&amp;lt;/span&amp;gt;&lt;br /&gt;
# Metod može baciti izuzetak isključivo eksplicitnim navođenjem uz throw.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Napomene ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;br /&gt;
[[Категорија:ОО2]]&lt;/div&gt;</summary>
		<author><name>Иван Цветић</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%B8_%D0%B5%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%B8%D0%BA%D0%B5&amp;diff=387</id>
		<title>Основи електронике</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%B8_%D0%B5%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%B8%D0%BA%D0%B5&amp;diff=387"/>
		<updated>2020-07-13T21:34:11Z</updated>

		<summary type="html">&lt;p&gt;Иван Цветић: Додата је страница за Основе електронике и убачени материјали са предавања и вежби.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Предавања и вежбе ==&lt;br /&gt;
У следеће три датотеке пронаћи ћете одрађене све задатке са папира са вежби из основа електронике, као и исписану теорију са предавања уз нека додатна објашњења и коментаре, затим и неке задатке са вежби који се не налазе у штампаним материјалима са сајта. Треба додати препоруку да је боље задатке из појачавача радити тако што се препознају врсте појачавача унутар кола, уместо на начин на који су овде одрађени, јер је на тај начин брже.&lt;br /&gt;
* 1. део: [https://si.kocka.tech/images/8/81/OE_Re%C5%A1avanje_kola.pdf Решавање кола]&lt;br /&gt;
* 2. део: [https://si.kocka.tech/images/8/8e/OE_Kompleksne_struje%2C_diode%2C_poja%C4%8Dava%C4%8Di.pdf Комплексне струје, диоде и појачавачи]&lt;br /&gt;
* 3. део: [https://si.kocka.tech/images/b/b1/OE_Tranzistori.pdf Транзистори]&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Први семестар]]&lt;/div&gt;</summary>
		<author><name>Иван Цветић</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%94%D0%B0%D1%82%D0%BE%D1%82%D0%B5%D0%BA%D0%B0:OE_Tranzistori.pdf&amp;diff=386</id>
		<title>Датотека:OE Tranzistori.pdf</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%94%D0%B0%D1%82%D0%BE%D1%82%D0%B5%D0%BA%D0%B0:OE_Tranzistori.pdf&amp;diff=386"/>
		<updated>2020-07-13T21:20:54Z</updated>

		<summary type="html">&lt;p&gt;Иван Цветић: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Иван Цветић</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%94%D0%B0%D1%82%D0%BE%D1%82%D0%B5%D0%BA%D0%B0:OE_Kompleksne_struje,_diode,_poja%C4%8Dava%C4%8Di.pdf&amp;diff=385</id>
		<title>Датотека:OE Kompleksne struje, diode, pojačavači.pdf</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%94%D0%B0%D1%82%D0%BE%D1%82%D0%B5%D0%BA%D0%B0:OE_Kompleksne_struje,_diode,_poja%C4%8Dava%C4%8Di.pdf&amp;diff=385"/>
		<updated>2020-07-13T21:20:36Z</updated>

		<summary type="html">&lt;p&gt;Иван Цветић: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Иван Цветић</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%94%D0%B0%D1%82%D0%BE%D1%82%D0%B5%D0%BA%D0%B0:OE_Re%C5%A1avanje_kola.pdf&amp;diff=383</id>
		<title>Датотека:OE Rešavanje kola.pdf</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%94%D0%B0%D1%82%D0%BE%D1%82%D0%B5%D0%BA%D0%B0:OE_Re%C5%A1avanje_kola.pdf&amp;diff=383"/>
		<updated>2020-07-13T21:20:07Z</updated>

		<summary type="html">&lt;p&gt;Иван Цветић: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Иван Цветић</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%94%D0%B0%D1%82%D0%BE%D1%82%D0%B5%D0%BA%D0%B0:M1_K3_-_Male%C5%A1evi%C4%87_(P4)_-_Neprekidnost,_izvodi,_primene_izvoda.pdf&amp;diff=382</id>
		<title>Датотека:M1 K3 - Malešević (P4) - Neprekidnost, izvodi, primene izvoda.pdf</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%94%D0%B0%D1%82%D0%BE%D1%82%D0%B5%D0%BA%D0%B0:M1_K3_-_Male%C5%A1evi%C4%87_(P4)_-_Neprekidnost,_izvodi,_primene_izvoda.pdf&amp;diff=382"/>
		<updated>2020-07-13T20:59:20Z</updated>

		<summary type="html">&lt;p&gt;Иван Цветић: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Иван Цветић</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%94%D0%B0%D1%82%D0%BE%D1%82%D0%B5%D0%BA%D0%B0:M1_K2_-_Male%C5%A1evi%C4%87_(P4)_-_Grani%C4%8Dne_vrednosti.pdf&amp;diff=381</id>
		<title>Датотека:M1 K2 - Malešević (P4) - Granične vrednosti.pdf</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%94%D0%B0%D1%82%D0%BE%D1%82%D0%B5%D0%BA%D0%B0:M1_K2_-_Male%C5%A1evi%C4%87_(P4)_-_Grani%C4%8Dne_vrednosti.pdf&amp;diff=381"/>
		<updated>2020-07-13T20:59:02Z</updated>

		<summary type="html">&lt;p&gt;Иван Цветић: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Иван Цветић</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%94%D0%B0%D1%82%D0%BE%D1%82%D0%B5%D0%BA%D0%B0:M1_K1_-_Male%C5%A1evi%C4%87_(P4)_-_Algebarske_strukture,_matrice.pdf&amp;diff=380</id>
		<title>Датотека:M1 K1 - Malešević (P4) - Algebarske strukture, matrice.pdf</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%94%D0%B0%D1%82%D0%BE%D1%82%D0%B5%D0%BA%D0%B0:M1_K1_-_Male%C5%A1evi%C4%87_(P4)_-_Algebarske_strukture,_matrice.pdf&amp;diff=380"/>
		<updated>2020-07-13T20:57:53Z</updated>

		<summary type="html">&lt;p&gt;Иван Цветић: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Иван Цветић</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0_1&amp;diff=362</id>
		<title>Математика 1</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%9C%D0%B0%D1%82%D0%B5%D0%BC%D0%B0%D1%82%D0%B8%D0%BA%D0%B0_1&amp;diff=362"/>
		<updated>2020-07-13T15:47:58Z</updated>

		<summary type="html">&lt;p&gt;Иван Цветић: /* Предавања */  Додати су документи са предавања проф. др Бранка Малешевића.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Предавања ==&lt;br /&gt;
Следећа три документа покривају градиво које је испредавао проф. др Бранко Малешевић на својим предавањима у групи П4 током 2019/20. школске године. Први документ покрива градиво првог колоквијума (алгебарске структуре и матрице), други документ градиво другог колоквијума (граничне вредности низова и функција) и трећи документ покрива део градива другог и градиво трећег колоквијума (непрекидност, изводи и примена извода).&lt;br /&gt;
* K1: [[https://uploads.kocka.tech/M1%20K1%20-%20Male%C5%A1evi%C4%87%20(P4).pdf М1 К1 - Малешевић (П4)]]&lt;br /&gt;
* K2: [[https://uploads.kocka.tech/M1%20K2%20-%20Male%C5%A1evi%C4%87%20(P4).pdf М2 К2 - Малешевић (П4)]]&lt;br /&gt;
* K3: [[https://uploads.kocka.tech/M1%20K3%20-%20Male%C5%A1evi%C4%87%20(P4).pdf М3 К3 - Малешевић (П4)]]&lt;br /&gt;
&lt;br /&gt;
== Вежбе ==&lt;br /&gt;
== Домаћи ==&lt;br /&gt;
== Испитни рокови ==&lt;br /&gt;
[[Математика 1: Фебруар 2020.]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Обавезни предмети]]&lt;br /&gt;
[[Category:Први семестар]]&lt;/div&gt;</summary>
		<author><name>Иван Цветић</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%90%D0%A1%D0%9F1/%D0%9A2_2016&amp;diff=230</id>
		<title>АСП1/К2 2016</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%90%D0%A1%D0%9F1/%D0%9A2_2016&amp;diff=230"/>
		<updated>2020-05-14T16:14:17Z</updated>

		<summary type="html">&lt;p&gt;Иван Цветић: /* Rešenje */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
[https://rti.etf.bg.ac.rs/rti/ri3sp/rokovi/SI1AS1_K2_1516.pdf Zadaci]&lt;br /&gt;
&lt;br /&gt;
== 1. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Na slici je dato jedno nekompletno prikazano binarno stablo (desno. Ukoliko &#039;&#039;preorder&#039;&#039; obilazak takvog stabla daje poredak čvorova ACBDFE, nacrtati sve moguće izglede ovog stabla.&lt;br /&gt;
    A&lt;br /&gt;
  /   \&lt;br /&gt;
 C     ...&lt;br /&gt;
  \&lt;br /&gt;
   B&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Pogledajmo najpre obilazak&lt;br /&gt;
&#039;&#039;&#039;A&#039;&#039;&#039; &#039;&#039;CB&#039;&#039; &#039;&#039;DFE&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Levi deo je kompletan i D mora biti koren desnog podstabla. Odatle dolaze kombinacije:&lt;br /&gt;
    A          A          A          A          A&lt;br /&gt;
  /   \      /   \      /   \      /   \      /   \&lt;br /&gt;
 C     D    C     D    C     D    C     D    C     D&lt;br /&gt;
  \   / \    \   /      \   /      \     \    \     \&lt;br /&gt;
   B F   E    B F        B F        B     F    B     F&lt;br /&gt;
               /            \              \        /&lt;br /&gt;
              E              E              E      E&lt;br /&gt;
&lt;br /&gt;
== 2. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Napisati u pseudokodu funkciju koja u binarnom stablu na čiji koren pokazuje pokazivač &#039;&#039;root&#039;&#039; utvrđuje da li postoji čvor čija pozicija u stablu (u odnosu na koren) je simetrična u odnosu na poziciju čvora na koji pokazuje pokazivač &#039;&#039;node&#039;&#039;. Smatrati da svaki čvor binarnog stabla pored  informacionog sadržaja sadrži pokazivače na levo i desno podstablo i pokazivač na roditeljski čvor.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Rešenje se sastoji od toga da se vratimo unazad, pamteći put, i onda silazimo opet ali obrnutim putem. Ukoliko se isprazni ulančana lista (koja glumi stek), to znači da postoji simetrični član.&lt;br /&gt;
 &amp;lt;u&amp;gt;CHECK_SYMMETRIC(&#039;&#039;root&#039;&#039;, &#039;&#039;node&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
 &#039;&#039;path&#039;&#039; = nil&lt;br /&gt;
 &#039;&#039;step&#039;&#039; = nil&lt;br /&gt;
 &#039;&#039;parent&#039;&#039; = nil&lt;br /&gt;
 &#039;&#039;p&#039;&#039; = &#039;&#039;node&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;while&#039;&#039;&#039; &#039;&#039;p&#039;&#039; ≠ &#039;&#039;root&#039;&#039; &#039;&#039;&#039;do&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;step&#039;&#039; = GETNODE&lt;br /&gt;
     &#039;&#039;parent&#039;&#039; = &#039;&#039;parent&#039;&#039;(&#039;&#039;p&#039;&#039;)&lt;br /&gt;
     &#039;&#039;&#039;if&#039;&#039;&#039; &#039;&#039;left&#039;&#039;(&#039;&#039;parent&#039;&#039;) = &#039;&#039;p&#039;&#039; &#039;&#039;&#039;then&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;info&#039;&#039;(&#039;&#039;step&#039;&#039;) = 0&lt;br /&gt;
     &#039;&#039;&#039;else&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;info&#039;&#039;(&#039;&#039;step&#039;&#039;) = 1&lt;br /&gt;
     &#039;&#039;&#039;end_if&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;p&#039;&#039; = &#039;&#039;parent&#039;&#039;&lt;br /&gt;
     &#039;&#039;next&#039;&#039;(&#039;&#039;step&#039;&#039;) = &#039;&#039;path&#039;&#039;&lt;br /&gt;
     &#039;&#039;path&#039;&#039; = &#039;&#039;step&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;end_while&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;while&#039;&#039;&#039; &#039;&#039;p&#039;&#039; ≠ nil &#039;&#039;&#039;do&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;&#039;if&#039;&#039;&#039; &#039;&#039;path&#039;&#039; = nil &#039;&#039;&#039;then&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;&#039;return&#039;&#039;&#039; true&lt;br /&gt;
     &#039;&#039;&#039;end_if&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;&#039;if&#039;&#039;&#039; &#039;&#039;info&#039;&#039;(&#039;&#039;path&#039;&#039;) = 0 &#039;&#039;&#039;then&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;p&#039;&#039; = &#039;&#039;right&#039;&#039;(&#039;&#039;p&#039;&#039;)&lt;br /&gt;
     &#039;&#039;&#039;else&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;p&#039;&#039; = &#039;&#039;left&#039;&#039;(&#039;&#039;p&#039;&#039;)&lt;br /&gt;
     &#039;&#039;&#039;end_if&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;step&#039;&#039; = &#039;&#039;path&#039;&#039;&lt;br /&gt;
     &#039;&#039;path&#039;&#039; = &#039;&#039;next&#039;&#039;(&#039;&#039;path&#039;&#039;)&lt;br /&gt;
     FREENODE(&#039;&#039;step&#039;&#039;)&lt;br /&gt;
 &#039;&#039;&#039;end_while&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;return&#039;&#039;&#039; false&lt;br /&gt;
&lt;br /&gt;
== 3. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Dekodovati poruku 0 1 3 3 4 5 4 9 primenom LZW algoritma, za dati početni sadržaj tabele simbola.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
* Dekodovana poruka: ABABABBAABABABAB&lt;br /&gt;
* Tablica kodova:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Simbol&lt;br /&gt;
! Kôd&lt;br /&gt;
|-&lt;br /&gt;
| A&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
| B&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| C&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| AB&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| BA&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| ABA&lt;br /&gt;
| 5&lt;br /&gt;
|-&lt;br /&gt;
| ABB&lt;br /&gt;
| 6&lt;br /&gt;
|-&lt;br /&gt;
| BAA&lt;br /&gt;
| 7&lt;br /&gt;
|-&lt;br /&gt;
| ABAB&lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| BAB&lt;br /&gt;
| 9&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 4. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Ukoliko je usmereni graf sa &#039;&#039;n&#039;&#039; čvorova predstavljen listom susednosti, napisati u pseudokodu funkcije za izračunavanje ulaznog i izlaznog stepena zadatog čvora &#039;&#039;i&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Rešenje zadatka je teorijski opisano na 159. strani knjige. Polazi se od pretpostavke da G predstavlja niz ulančanih lista, pa se sa G[i] uzima lista susednosti čvora i.&lt;br /&gt;
 &amp;lt;u&amp;gt;VERTEX IN DEG(&#039;&#039;G&#039;&#039;, &#039;&#039;n&#039;&#039;, &#039;&#039;i&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
 in_deg = 0&lt;br /&gt;
 for k = 1 to n do &lt;br /&gt;
    curr = next(G[k])&lt;br /&gt;
    while (curr ≠ &#039;&#039;&#039;nil&#039;&#039;&#039;) do&lt;br /&gt;
       if (info(curr) = i) then in_deg = in_deg + 1&lt;br /&gt;
       end_if&lt;br /&gt;
       curr = next(curr)&lt;br /&gt;
    end_while&lt;br /&gt;
 end_for&lt;br /&gt;
 return in_deg&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;u&amp;gt;VERTEX OUT DEG(&#039;&#039;G&#039;&#039;, &#039;&#039;n&#039;&#039;, &#039;&#039;i&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
 out_deg = 0&lt;br /&gt;
 curr = next(G[i])&lt;br /&gt;
 while (curr ≠ &#039;&#039;&#039;nil&#039;&#039;&#039;) do&lt;br /&gt;
    out_deg = out_deg + 1&lt;br /&gt;
    curr = next(curr)&lt;br /&gt;
 end_while&lt;br /&gt;
 return out_deg&lt;br /&gt;
&lt;br /&gt;
== 5. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Korišćenjem dinamičkih Huffman-ovih kodova, kodirati sekvencu simbola CBCBDAAABABA, ako se simboli A, B, C i D kodovima fiksne dužine kodiraju sa po dva bita 00, 01, 10, 11, respektivno&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Kodirana poruka glasi: 10 001 1 01 0011 10000 1001 01 01 11 10 0.&lt;br /&gt;
Ilustracija postupka se nalazi na sledećoj slici:&lt;br /&gt;
[[Датотека:Scan 14.05.2020..pdf|оквир|Ilustracija postupka]]&lt;br /&gt;
&lt;br /&gt;
== 6. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Dato je binarno stablo &#039;&#039;B&#039;&#039;, na čiji koren pokazuje pokazivač &#039;&#039;root&#039;&#039;. Stablo &#039;&#039;B&#039;&#039; dobijeno je konverzijom m-arnog stabla &#039;&#039;T&#039;&#039; u odgovarajuće binarno. Napisati u pseudokodu &#039;&#039;&#039;iterativnu&#039;&#039;&#039; funkciju koja određuje red stabla T.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Funkcija koristi red za čekanje kao dodatnu strukturu pri implementaciji. U red se ređaju najlevlji sinovi, a next ide desno, po braći, i broji koliko se čvorova nalazi povezano desno za dati čvor (to su mu upravo njegova braća). Izlaz funkcije biće maksimalni broj braće pri nekom od prolazaka, što i jeste red stabla.&lt;br /&gt;
 &amp;lt;u&amp;gt;TREE ORDER BIN(&#039;&#039;root&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
 INIT_QUEUE(Q)&lt;br /&gt;
 m = 0&lt;br /&gt;
 next = root&lt;br /&gt;
 INSERT(Q, next)&lt;br /&gt;
 while (not QUEUE_EMPTY(Q)) do&lt;br /&gt;
    m_curr = 0&lt;br /&gt;
    next = DELETE(Q)&lt;br /&gt;
    while (next ≠ &#039;&#039;&#039;nil&#039;&#039;&#039;) do&lt;br /&gt;
       m_curr = m_curr + 1&lt;br /&gt;
       if (left(next) ≠ &#039;&#039;&#039;nil&#039;&#039;&#039;) then&lt;br /&gt;
          INSERT(Q, left(next))&lt;br /&gt;
       end_if&lt;br /&gt;
       next = right(next)&lt;br /&gt;
    end_while&lt;br /&gt;
    if (m_curr &amp;gt; m) then m = m_curr&lt;br /&gt;
    end_if&lt;br /&gt;
 end_while&lt;br /&gt;
 return m&lt;br /&gt;
&lt;br /&gt;
== 7. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Pitanja:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Komentarisati strategiju obrade istih prioriteta u prioritetnom redu primenjenom u statičkom &#039;&#039;Huffman&#039;&#039;-ovom algoritmu.&lt;br /&gt;
# Kolika je minimalna, a kolika maksimalna dubina steka korišćenog u iterativnoj realizaciji &#039;&#039;preorder&#039;&#039; obilaska binarnog stabla sa n čvorova. Nacrtati takva stabla.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Bolje rezultate ćemo dobiti ako dajemo veći prioritet &amp;quot;starijim&amp;quot; članovima reda, tj stablima manje visine. Biranjem nižih stabala dobijamo kraće kodove te je algoritam efikasniji.&lt;br /&gt;
# Dubina steka direktno zavisi od broja desnih podstabala u stablu. U oba slučaja razmatramo stablo najveće dubine - degenerisano stablo. U slučaju da su svi čvorovi redom sa leve strane u ovakvom stablu, na stek se stavlja samo koren i ništa drugo, te je za ovakvo stablo dovoljan stek veličine &#039;&#039;&#039;1&#039;&#039;&#039;, nezavisno od broja čvorova u stablu. Nasuprot tome, ako su svi čvorovi redom sa desne strane u ovakvom stablu, svaki čvor bi se po jednom morao staviti na stek pa skinuti sa njega, te je potreban stek one veličine koliko ima i čvorova - &#039;&#039;&#039;n&#039;&#039;&#039;. &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 8. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Dato je binarno stablo &amp;lt;u&amp;gt;povezano&amp;lt;/u&amp;gt; po &#039;&#039;inorder&#039;&#039;-u. Napisati i objasniti pseudokod algoritma obilaska po &#039;&#039;&#039;inverznom&#039;&#039;&#039; &#039;&#039;inorder&#039;&#039; poretku.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
 &amp;lt;u&amp;gt;INVERSE INORDER T(&#039;&#039;root&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Иван Цветић</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%90%D0%A1%D0%9F1/%D0%9A2_2016&amp;diff=229</id>
		<title>АСП1/К2 2016</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%90%D0%A1%D0%9F1/%D0%9A2_2016&amp;diff=229"/>
		<updated>2020-05-14T15:47:57Z</updated>

		<summary type="html">&lt;p&gt;Иван Цветић: /* Rešenje */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
[https://rti.etf.bg.ac.rs/rti/ri3sp/rokovi/SI1AS1_K2_1516.pdf Zadaci]&lt;br /&gt;
&lt;br /&gt;
== 1. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Na slici je dato jedno nekompletno prikazano binarno stablo (desno. Ukoliko &#039;&#039;preorder&#039;&#039; obilazak takvog stabla daje poredak čvorova ACBDFE, nacrtati sve moguće izglede ovog stabla.&lt;br /&gt;
    A&lt;br /&gt;
  /   \&lt;br /&gt;
 C     ...&lt;br /&gt;
  \&lt;br /&gt;
   B&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Pogledajmo najpre obilazak&lt;br /&gt;
&#039;&#039;&#039;A&#039;&#039;&#039; &#039;&#039;CB&#039;&#039; &#039;&#039;DFE&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Levi deo je kompletan i D mora biti koren desnog podstabla. Odatle dolaze kombinacije:&lt;br /&gt;
    A          A          A          A          A&lt;br /&gt;
  /   \      /   \      /   \      /   \      /   \&lt;br /&gt;
 C     D    C     D    C     D    C     D    C     D&lt;br /&gt;
  \   / \    \   /      \   /      \     \    \     \&lt;br /&gt;
   B F   E    B F        B F        B     F    B     F&lt;br /&gt;
               /            \              \        /&lt;br /&gt;
              E              E              E      E&lt;br /&gt;
&lt;br /&gt;
== 2. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Napisati u pseudokodu funkciju koja u binarnom stablu na čiji koren pokazuje pokazivač &#039;&#039;root&#039;&#039; utvrđuje da li postoji čvor čija pozicija u stablu (u odnosu na koren) je simetrična u odnosu na poziciju čvora na koji pokazuje pokazivač &#039;&#039;node&#039;&#039;. Smatrati da svaki čvor binarnog stabla pored  informacionog sadržaja sadrži pokazivače na levo i desno podstablo i pokazivač na roditeljski čvor.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Rešenje se sastoji od toga da se vratimo unazad, pamteći put, i onda silazimo opet ali obrnutim putem. Ukoliko se isprazni ulančana lista (koja glumi stek), to znači da postoji simetrični član.&lt;br /&gt;
 &amp;lt;u&amp;gt;CHECK_SYMMETRIC(&#039;&#039;root&#039;&#039;, &#039;&#039;node&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
 &#039;&#039;path&#039;&#039; = nil&lt;br /&gt;
 &#039;&#039;step&#039;&#039; = nil&lt;br /&gt;
 &#039;&#039;parent&#039;&#039; = nil&lt;br /&gt;
 &#039;&#039;p&#039;&#039; = &#039;&#039;node&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;while&#039;&#039;&#039; &#039;&#039;p&#039;&#039; ≠ &#039;&#039;root&#039;&#039; &#039;&#039;&#039;do&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;step&#039;&#039; = GETNODE&lt;br /&gt;
     &#039;&#039;parent&#039;&#039; = &#039;&#039;parent&#039;&#039;(&#039;&#039;p&#039;&#039;)&lt;br /&gt;
     &#039;&#039;&#039;if&#039;&#039;&#039; &#039;&#039;left&#039;&#039;(&#039;&#039;parent&#039;&#039;) = &#039;&#039;p&#039;&#039; &#039;&#039;&#039;then&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;info&#039;&#039;(&#039;&#039;step&#039;&#039;) = 0&lt;br /&gt;
     &#039;&#039;&#039;else&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;info&#039;&#039;(&#039;&#039;step&#039;&#039;) = 1&lt;br /&gt;
     &#039;&#039;&#039;end_if&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;p&#039;&#039; = &#039;&#039;parent&#039;&#039;&lt;br /&gt;
     &#039;&#039;next&#039;&#039;(&#039;&#039;step&#039;&#039;) = &#039;&#039;path&#039;&#039;&lt;br /&gt;
     &#039;&#039;path&#039;&#039; = &#039;&#039;step&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;end_while&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;while&#039;&#039;&#039; &#039;&#039;p&#039;&#039; ≠ nil &#039;&#039;&#039;do&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;&#039;if&#039;&#039;&#039; &#039;&#039;path&#039;&#039; = nil &#039;&#039;&#039;then&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;&#039;return&#039;&#039;&#039; true&lt;br /&gt;
     &#039;&#039;&#039;end_if&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;&#039;if&#039;&#039;&#039; &#039;&#039;info&#039;&#039;(&#039;&#039;path&#039;&#039;) = 0 &#039;&#039;&#039;then&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;p&#039;&#039; = &#039;&#039;right&#039;&#039;(&#039;&#039;p&#039;&#039;)&lt;br /&gt;
     &#039;&#039;&#039;else&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;p&#039;&#039; = &#039;&#039;left&#039;&#039;(&#039;&#039;p&#039;&#039;)&lt;br /&gt;
     &#039;&#039;&#039;end_if&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;step&#039;&#039; = &#039;&#039;path&#039;&#039;&lt;br /&gt;
     &#039;&#039;path&#039;&#039; = &#039;&#039;next&#039;&#039;(&#039;&#039;path&#039;&#039;)&lt;br /&gt;
     FREENODE(&#039;&#039;step&#039;&#039;)&lt;br /&gt;
 &#039;&#039;&#039;end_while&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;return&#039;&#039;&#039; false&lt;br /&gt;
&lt;br /&gt;
== 3. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Dekodovati poruku 0 1 3 3 4 5 4 9 primenom LZW algoritma, za dati početni sadržaj tabele simbola.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
* Dekodovana poruka: ABABABBAABABABAB&lt;br /&gt;
* Tablica kodova:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Simbol&lt;br /&gt;
! Kôd&lt;br /&gt;
|-&lt;br /&gt;
| A&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
| B&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| C&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| AB&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| BA&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| ABA&lt;br /&gt;
| 5&lt;br /&gt;
|-&lt;br /&gt;
| ABB&lt;br /&gt;
| 6&lt;br /&gt;
|-&lt;br /&gt;
| BAA&lt;br /&gt;
| 7&lt;br /&gt;
|-&lt;br /&gt;
| ABAB&lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| BAB&lt;br /&gt;
| 9&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 4. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Ukoliko je usmereni graf sa &#039;&#039;n&#039;&#039; čvorova predstavljen listom susednosti, napisati u pseudokodu funkcije za izračunavanje ulaznog i izlaznog stepena zadatog čvora &#039;&#039;i&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Rešenje zadatka je teorijski opisano na 159. strani knjige. Polazi se od pretpostavke da G predstavlja niz ulančanih lista, pa se sa G[i] uzima lista susednosti čvora i.&lt;br /&gt;
 &amp;lt;u&amp;gt;VERTEX IN DEG(&#039;&#039;G&#039;&#039;, &#039;&#039;n&#039;&#039;, &#039;&#039;i&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
 in_deg = 0&lt;br /&gt;
 for k = 1 to n do &lt;br /&gt;
    curr = next(G[k])&lt;br /&gt;
    while (curr ≠ &#039;&#039;&#039;nil&#039;&#039;&#039;) do&lt;br /&gt;
       if (info(curr) = i) then in_deg = in_deg + 1&lt;br /&gt;
       end_if&lt;br /&gt;
       curr = next(curr)&lt;br /&gt;
    end_while&lt;br /&gt;
 end_for&lt;br /&gt;
 return in_deg&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;u&amp;gt;VERTEX OUT DEG(&#039;&#039;G&#039;&#039;, &#039;&#039;n&#039;&#039;, &#039;&#039;i&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
 out_deg = 0&lt;br /&gt;
 curr = next(G[i])&lt;br /&gt;
 while (curr ≠ &#039;&#039;&#039;nil&#039;&#039;&#039;) do&lt;br /&gt;
    out_deg = out_deg + 1&lt;br /&gt;
    curr = next(curr)&lt;br /&gt;
 end_while&lt;br /&gt;
 return out_deg&lt;br /&gt;
&lt;br /&gt;
== 5. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Korišćenjem dinamičkih Huffman-ovih kodova, kodirati sekvencu simbola CBCBDAAABABA, ako se simboli A, B, C i D kodovima fiksne dužine kodiraju sa po dva bita 00, 01, 10, 11, respektivno&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Kodirana poruka glasi: 10 001 1 01 0011 10000 1001 01 01 11 10 0.&lt;br /&gt;
Ilustracija postupka se nalazi na sledećoj slici:&lt;br /&gt;
[[Датотека:Scan 14.05.2020..pdf|оквир|Ilustracija postupka]]&lt;br /&gt;
&lt;br /&gt;
== 6. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Dato je binarno stablo &#039;&#039;B&#039;&#039;, na čiji koren pokazuje pokazivač &#039;&#039;root&#039;&#039;. Stablo &#039;&#039;B&#039;&#039; dobijeno je konverzijom m-arnog stabla &#039;&#039;T&#039;&#039; u odgovarajuće binarno. Napisati u pseudokodu &#039;&#039;&#039;iterativnu&#039;&#039;&#039; funkciju koja određuje red stabla T.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Funkcija koristi red za čekanje kao dodatnu strukturu pri implementaciji. U red se ređaju najlevlji sinovi, a next ide desno, po braći, i broji koliko se čvorova nalazi povezano desno za dati čvor (to su mu upravo njegova braća). Izlaz funkcije biće maksimalni broj braće pri nekom od prolazaka, što i jeste red stabla.&lt;br /&gt;
 &amp;lt;u&amp;gt;TREE ORDER BIN(&#039;&#039;root&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
 INIT_QUEUE(Q)&lt;br /&gt;
 m = 0&lt;br /&gt;
 next = root&lt;br /&gt;
 INSERT(Q, next)&lt;br /&gt;
 while (not QUEUE_EMPTY(Q)) do&lt;br /&gt;
    m_curr = 0&lt;br /&gt;
    next = DELETE(Q)&lt;br /&gt;
    while (next ≠ &#039;&#039;&#039;nil&#039;&#039;&#039;) do&lt;br /&gt;
       m_curr = m_curr + 1&lt;br /&gt;
       if (left(next) ≠ &#039;&#039;&#039;nil&#039;&#039;&#039;) then&lt;br /&gt;
          INSERT(Q, left(next))&lt;br /&gt;
       end_if&lt;br /&gt;
       next = right(next)&lt;br /&gt;
    end_while&lt;br /&gt;
    if (m_curr &amp;gt; m) then m = m_curr&lt;br /&gt;
    end_if&lt;br /&gt;
 end_while&lt;br /&gt;
 return m&lt;br /&gt;
&lt;br /&gt;
== 7. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Pitanja:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Komentarisati strategiju obrade istih prioriteta u prioritetnom redu primenjenom u statičkom &#039;&#039;Huffman&#039;&#039;-ovom algoritmu.&lt;br /&gt;
# Kolika je minimalna, a kolika maksimalna dubina steka korišćenog u iterativnoj realizaciji &#039;&#039;preorder&#039;&#039; obilaska binarnog stabla sa n čvorova. Nacrtati takva stabla.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Bolje rezultate ćemo dobiti ako dajemo veći prioritet &amp;quot;starijim&amp;quot; članovima reda, tj stablima manje visine. Biranjem nižih stabala dobijamo kraće kodove te je algoritam efikasniji.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 8. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Dato je binarno stablo &amp;lt;u&amp;gt;povezano&amp;lt;/u&amp;gt; po &#039;&#039;inorder&#039;&#039;-u. Napisati i objasniti pseudokod algoritma obilaska po &#039;&#039;&#039;inverznom&#039;&#039;&#039; &#039;&#039;inorder&#039;&#039; poretku.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
 &amp;lt;u&amp;gt;INVERSE INORDER T(&#039;&#039;root&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Иван Цветић</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%90%D0%A1%D0%9F1/%D0%9A2_2016&amp;diff=228</id>
		<title>АСП1/К2 2016</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%90%D0%A1%D0%9F1/%D0%9A2_2016&amp;diff=228"/>
		<updated>2020-05-14T15:29:21Z</updated>

		<summary type="html">&lt;p&gt;Иван Цветић: /* Rešenje */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
[https://rti.etf.bg.ac.rs/rti/ri3sp/rokovi/SI1AS1_K2_1516.pdf Zadaci]&lt;br /&gt;
&lt;br /&gt;
== 1. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Na slici je dato jedno nekompletno prikazano binarno stablo (desno. Ukoliko &#039;&#039;preorder&#039;&#039; obilazak takvog stabla daje poredak čvorova ACBDFE, nacrtati sve moguće izglede ovog stabla.&lt;br /&gt;
    A&lt;br /&gt;
  /   \&lt;br /&gt;
 C     ...&lt;br /&gt;
  \&lt;br /&gt;
   B&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Pogledajmo najpre obilazak&lt;br /&gt;
&#039;&#039;&#039;A&#039;&#039;&#039; &#039;&#039;CB&#039;&#039; &#039;&#039;DFE&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Levi deo je kompletan i D mora biti koren desnog podstabla. Odatle dolaze kombinacije:&lt;br /&gt;
    A          A          A          A          A&lt;br /&gt;
  /   \      /   \      /   \      /   \      /   \&lt;br /&gt;
 C     D    C     D    C     D    C     D    C     D&lt;br /&gt;
  \   / \    \   /      \   /      \     \    \     \&lt;br /&gt;
   B F   E    B F        B F        B     F    B     F&lt;br /&gt;
               /            \              \        /&lt;br /&gt;
              E              E              E      E&lt;br /&gt;
&lt;br /&gt;
== 2. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Napisati u pseudokodu funkciju koja u binarnom stablu na čiji koren pokazuje pokazivač &#039;&#039;root&#039;&#039; utvrđuje da li postoji čvor čija pozicija u stablu (u odnosu na koren) je simetrična u odnosu na poziciju čvora na koji pokazuje pokazivač &#039;&#039;node&#039;&#039;. Smatrati da svaki čvor binarnog stabla pored  informacionog sadržaja sadrži pokazivače na levo i desno podstablo i pokazivač na roditeljski čvor.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Rešenje se sastoji od toga da se vratimo unazad, pamteći put, i onda silazimo opet ali obrnutim putem. Ukoliko se isprazni ulančana lista (koja glumi stek), to znači da postoji simetrični član.&lt;br /&gt;
 &amp;lt;u&amp;gt;CHECK_SYMMETRIC(&#039;&#039;root&#039;&#039;, &#039;&#039;node&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
 &#039;&#039;path&#039;&#039; = nil&lt;br /&gt;
 &#039;&#039;step&#039;&#039; = nil&lt;br /&gt;
 &#039;&#039;parent&#039;&#039; = nil&lt;br /&gt;
 &#039;&#039;p&#039;&#039; = &#039;&#039;node&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;while&#039;&#039;&#039; &#039;&#039;p&#039;&#039; ≠ &#039;&#039;root&#039;&#039; &#039;&#039;&#039;do&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;step&#039;&#039; = GETNODE&lt;br /&gt;
     &#039;&#039;parent&#039;&#039; = &#039;&#039;parent&#039;&#039;(&#039;&#039;p&#039;&#039;)&lt;br /&gt;
     &#039;&#039;&#039;if&#039;&#039;&#039; &#039;&#039;left&#039;&#039;(&#039;&#039;parent&#039;&#039;) = &#039;&#039;p&#039;&#039; &#039;&#039;&#039;then&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;info&#039;&#039;(&#039;&#039;step&#039;&#039;) = 0&lt;br /&gt;
     &#039;&#039;&#039;else&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;info&#039;&#039;(&#039;&#039;step&#039;&#039;) = 1&lt;br /&gt;
     &#039;&#039;&#039;end_if&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;p&#039;&#039; = &#039;&#039;parent&#039;&#039;&lt;br /&gt;
     &#039;&#039;next&#039;&#039;(&#039;&#039;step&#039;&#039;) = &#039;&#039;path&#039;&#039;&lt;br /&gt;
     &#039;&#039;path&#039;&#039; = &#039;&#039;step&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;end_while&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;while&#039;&#039;&#039; &#039;&#039;p&#039;&#039; ≠ nil &#039;&#039;&#039;do&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;&#039;if&#039;&#039;&#039; &#039;&#039;path&#039;&#039; = nil &#039;&#039;&#039;then&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;&#039;return&#039;&#039;&#039; true&lt;br /&gt;
     &#039;&#039;&#039;end_if&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;&#039;if&#039;&#039;&#039; &#039;&#039;info&#039;&#039;(&#039;&#039;path&#039;&#039;) = 0 &#039;&#039;&#039;then&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;p&#039;&#039; = &#039;&#039;right&#039;&#039;(&#039;&#039;p&#039;&#039;)&lt;br /&gt;
     &#039;&#039;&#039;else&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;p&#039;&#039; = &#039;&#039;left&#039;&#039;(&#039;&#039;p&#039;&#039;)&lt;br /&gt;
     &#039;&#039;&#039;end_if&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;step&#039;&#039; = &#039;&#039;path&#039;&#039;&lt;br /&gt;
     &#039;&#039;path&#039;&#039; = &#039;&#039;next&#039;&#039;(&#039;&#039;path&#039;&#039;)&lt;br /&gt;
     FREENODE(&#039;&#039;step&#039;&#039;)&lt;br /&gt;
 &#039;&#039;&#039;end_while&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;return&#039;&#039;&#039; false&lt;br /&gt;
&lt;br /&gt;
== 3. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Dekodovati poruku 0 1 3 3 4 5 4 9 primenom LZW algoritma, za dati početni sadržaj tabele simbola.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
* Dekodovana poruka: ABABABBAABABABAB&lt;br /&gt;
* Tablica kodova:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Simbol&lt;br /&gt;
! Kôd&lt;br /&gt;
|-&lt;br /&gt;
| A&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
| B&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| C&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| AB&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| BA&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| ABA&lt;br /&gt;
| 5&lt;br /&gt;
|-&lt;br /&gt;
| ABB&lt;br /&gt;
| 6&lt;br /&gt;
|-&lt;br /&gt;
| BAA&lt;br /&gt;
| 7&lt;br /&gt;
|-&lt;br /&gt;
| ABAB&lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| BAB&lt;br /&gt;
| 9&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 4. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Ukoliko je usmereni graf sa &#039;&#039;n&#039;&#039; čvorova predstavljen listom susednosti, napisati u pseudokodu funkcije za izračunavanje ulaznog i izlaznog stepena zadatog čvora &#039;&#039;i&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Rešenje zadatka je teorijski opisano na 159. strani knjige. Polazi se od pretpostavke da G predstavlja niz ulančanih lista, pa se sa G[i] uzima lista susednosti čvora i.&lt;br /&gt;
 &amp;lt;u&amp;gt;VERTEX IN DEG(&#039;&#039;G&#039;&#039;, &#039;&#039;n&#039;&#039;, &#039;&#039;i&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
 in_deg = 0&lt;br /&gt;
 for k = 1 to n do &lt;br /&gt;
    curr = next(G[k])&lt;br /&gt;
    while (curr ≠ &#039;&#039;&#039;nil&#039;&#039;&#039;) do&lt;br /&gt;
       if (info(curr) = i) then in_deg = in_deg + 1&lt;br /&gt;
       end_if&lt;br /&gt;
       curr = next(curr)&lt;br /&gt;
    end_while&lt;br /&gt;
 end_for&lt;br /&gt;
 return in_deg&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;u&amp;gt;VERTEX OUT DEG(&#039;&#039;G&#039;&#039;, &#039;&#039;n&#039;&#039;, &#039;&#039;i&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
 out_deg = 0&lt;br /&gt;
 curr = next(G[i])&lt;br /&gt;
 while (curr ≠ &#039;&#039;&#039;nil&#039;&#039;&#039;) do&lt;br /&gt;
    out_deg = out_deg + 1&lt;br /&gt;
    curr = next(curr)&lt;br /&gt;
 end_while&lt;br /&gt;
 return out_deg&lt;br /&gt;
&lt;br /&gt;
== 5. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Korišćenjem dinamičkih Huffman-ovih kodova, kodirati sekvencu simbola CBCBDAAABABA, ako se simboli A, B, C i D kodovima fiksne dužine kodiraju sa po dva bita 00, 01, 10, 11, respektivno&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Kodirana poruka glasi: 10 001 1 01 0011 10000 1001 01 01 11 10 0.&lt;br /&gt;
Ilustracija postupka se nalazi na sledećoj slici:&lt;br /&gt;
[[Датотека:Scan 14.05.2020..pdf|оквир|Ilustracija postupka]]&lt;br /&gt;
&lt;br /&gt;
== 6. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Dato je binarno stablo &#039;&#039;B&#039;&#039;, na čiji koren pokazuje pokazivač &#039;&#039;root&#039;&#039;. Stablo &#039;&#039;B&#039;&#039; dobijeno je konverzijom m-arnog stabla &#039;&#039;T&#039;&#039; u odgovarajuće binarno. Napisati u pseudokodu &#039;&#039;&#039;iterativnu&#039;&#039;&#039; funkciju koja određuje red stabla T.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
 &amp;lt;u&amp;gt;TREE ORDER BIN(&#039;&#039;root&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== 7. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Pitanja:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Komentarisati strategiju obrade istih prioriteta u prioritetnom redu primenjenom u statičkom &#039;&#039;Huffman&#039;&#039;-ovom algoritmu.&lt;br /&gt;
# Kolika je minimalna, a kolika maksimalna dubina steka korišćenog u iterativnoj realizaciji &#039;&#039;preorder&#039;&#039; obilaska binarnog stabla sa n čvorova. Nacrtati takva stabla.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Bolje rezultate ćemo dobiti ako dajemo veći prioritet &amp;quot;starijim&amp;quot; članovima reda, tj stablima manje visine. Biranjem nižih stabala dobijamo kraće kodove te je algoritam efikasniji.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 8. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Dato je binarno stablo &amp;lt;u&amp;gt;povezano&amp;lt;/u&amp;gt; po &#039;&#039;inorder&#039;&#039;-u. Napisati i objasniti pseudokod algoritma obilaska po &#039;&#039;&#039;inverznom&#039;&#039;&#039; &#039;&#039;inorder&#039;&#039; poretku.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
 &amp;lt;u&amp;gt;INVERSE INORDER T(&#039;&#039;root&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Иван Цветић</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%90%D0%A1%D0%9F1/%D0%9A2_2016&amp;diff=227</id>
		<title>АСП1/К2 2016</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%90%D0%A1%D0%9F1/%D0%9A2_2016&amp;diff=227"/>
		<updated>2020-05-14T15:24:11Z</updated>

		<summary type="html">&lt;p&gt;Иван Цветић: /* Rešenje */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
[https://rti.etf.bg.ac.rs/rti/ri3sp/rokovi/SI1AS1_K2_1516.pdf Zadaci]&lt;br /&gt;
&lt;br /&gt;
== 1. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Na slici je dato jedno nekompletno prikazano binarno stablo (desno. Ukoliko &#039;&#039;preorder&#039;&#039; obilazak takvog stabla daje poredak čvorova ACBDFE, nacrtati sve moguće izglede ovog stabla.&lt;br /&gt;
    A&lt;br /&gt;
  /   \&lt;br /&gt;
 C     ...&lt;br /&gt;
  \&lt;br /&gt;
   B&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Pogledajmo najpre obilazak&lt;br /&gt;
&#039;&#039;&#039;A&#039;&#039;&#039; &#039;&#039;CB&#039;&#039; &#039;&#039;DFE&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Levi deo je kompletan i D mora biti koren desnog podstabla. Odatle dolaze kombinacije:&lt;br /&gt;
    A          A          A          A          A&lt;br /&gt;
  /   \      /   \      /   \      /   \      /   \&lt;br /&gt;
 C     D    C     D    C     D    C     D    C     D&lt;br /&gt;
  \   / \    \   /      \   /      \     \    \     \&lt;br /&gt;
   B F   E    B F        B F        B     F    B     F&lt;br /&gt;
               /            \              \        /&lt;br /&gt;
              E              E              E      E&lt;br /&gt;
&lt;br /&gt;
== 2. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Napisati u pseudokodu funkciju koja u binarnom stablu na čiji koren pokazuje pokazivač &#039;&#039;root&#039;&#039; utvrđuje da li postoji čvor čija pozicija u stablu (u odnosu na koren) je simetrična u odnosu na poziciju čvora na koji pokazuje pokazivač &#039;&#039;node&#039;&#039;. Smatrati da svaki čvor binarnog stabla pored  informacionog sadržaja sadrži pokazivače na levo i desno podstablo i pokazivač na roditeljski čvor.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Rešenje se sastoji od toga da se vratimo unazad, pamteći put, i onda silazimo opet ali obrnutim putem. Ukoliko se isprazni ulančana lista (koja glumi stek), to znači da postoji simetrični član.&lt;br /&gt;
 &amp;lt;u&amp;gt;CHECK_SYMMETRIC(&#039;&#039;root&#039;&#039;, &#039;&#039;node&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
 &#039;&#039;path&#039;&#039; = nil&lt;br /&gt;
 &#039;&#039;step&#039;&#039; = nil&lt;br /&gt;
 &#039;&#039;parent&#039;&#039; = nil&lt;br /&gt;
 &#039;&#039;p&#039;&#039; = &#039;&#039;node&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;while&#039;&#039;&#039; &#039;&#039;p&#039;&#039; ≠ &#039;&#039;root&#039;&#039; &#039;&#039;&#039;do&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;step&#039;&#039; = GETNODE&lt;br /&gt;
     &#039;&#039;parent&#039;&#039; = &#039;&#039;parent&#039;&#039;(&#039;&#039;p&#039;&#039;)&lt;br /&gt;
     &#039;&#039;&#039;if&#039;&#039;&#039; &#039;&#039;left&#039;&#039;(&#039;&#039;parent&#039;&#039;) = &#039;&#039;p&#039;&#039; &#039;&#039;&#039;then&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;info&#039;&#039;(&#039;&#039;step&#039;&#039;) = 0&lt;br /&gt;
     &#039;&#039;&#039;else&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;info&#039;&#039;(&#039;&#039;step&#039;&#039;) = 1&lt;br /&gt;
     &#039;&#039;&#039;end_if&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;p&#039;&#039; = &#039;&#039;parent&#039;&#039;&lt;br /&gt;
     &#039;&#039;next&#039;&#039;(&#039;&#039;step&#039;&#039;) = &#039;&#039;path&#039;&#039;&lt;br /&gt;
     &#039;&#039;path&#039;&#039; = &#039;&#039;step&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;end_while&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;while&#039;&#039;&#039; &#039;&#039;p&#039;&#039; ≠ nil &#039;&#039;&#039;do&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;&#039;if&#039;&#039;&#039; &#039;&#039;path&#039;&#039; = nil &#039;&#039;&#039;then&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;&#039;return&#039;&#039;&#039; true&lt;br /&gt;
     &#039;&#039;&#039;end_if&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;&#039;if&#039;&#039;&#039; &#039;&#039;info&#039;&#039;(&#039;&#039;path&#039;&#039;) = 0 &#039;&#039;&#039;then&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;p&#039;&#039; = &#039;&#039;right&#039;&#039;(&#039;&#039;p&#039;&#039;)&lt;br /&gt;
     &#039;&#039;&#039;else&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;p&#039;&#039; = &#039;&#039;left&#039;&#039;(&#039;&#039;p&#039;&#039;)&lt;br /&gt;
     &#039;&#039;&#039;end_if&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;step&#039;&#039; = &#039;&#039;path&#039;&#039;&lt;br /&gt;
     &#039;&#039;path&#039;&#039; = &#039;&#039;next&#039;&#039;(&#039;&#039;path&#039;&#039;)&lt;br /&gt;
     FREENODE(&#039;&#039;step&#039;&#039;)&lt;br /&gt;
 &#039;&#039;&#039;end_while&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;return&#039;&#039;&#039; false&lt;br /&gt;
&lt;br /&gt;
== 3. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Dekodovati poruku 0 1 3 3 4 5 4 9 primenom LZW algoritma, za dati početni sadržaj tabele simbola.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
* Dekodovana poruka: ABABABBAABABABAB&lt;br /&gt;
* Tablica kodova:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Simbol&lt;br /&gt;
! Kôd&lt;br /&gt;
|-&lt;br /&gt;
| A&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
| B&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| C&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| AB&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| BA&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| ABA&lt;br /&gt;
| 5&lt;br /&gt;
|-&lt;br /&gt;
| ABB&lt;br /&gt;
| 6&lt;br /&gt;
|-&lt;br /&gt;
| BAA&lt;br /&gt;
| 7&lt;br /&gt;
|-&lt;br /&gt;
| ABAB&lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| BAB&lt;br /&gt;
| 9&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 4. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Ukoliko je usmereni graf sa &#039;&#039;n&#039;&#039; čvorova predstavljen listom susednosti, napisati u pseudokodu funkcije za izračunavanje ulaznog i izlaznog stepena zadatog čvora &#039;&#039;i&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Rešenje zadatka je teorijski opisano na 159. strani knjige. Polazi se od pretpostavke da G predstavlja niz ulančanih lista, pa se sa G[i] uzima lista susednosti čvora i.&lt;br /&gt;
 &amp;lt;u&amp;gt;VERTEX IN DEG(&#039;&#039;G&#039;&#039;, &#039;&#039;n&#039;&#039;, &#039;&#039;i&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
 in_deg = 0&lt;br /&gt;
 for k = 1 to n do &lt;br /&gt;
    curr = next(G[k])&lt;br /&gt;
    while (curr ≠ &#039;&#039;&#039;nil&#039;&#039;&#039;) do&lt;br /&gt;
       if (info(curr) = i) then in_deg = in_deg + 1&lt;br /&gt;
       end_if&lt;br /&gt;
       curr = next(curr)&lt;br /&gt;
    end_while&lt;br /&gt;
 end_for&lt;br /&gt;
 return in_deg&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;u&amp;gt;VERTEX OUT DEG(&#039;&#039;G&#039;&#039;, &#039;&#039;n&#039;&#039;, &#039;&#039;i&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
 out_deg = 0&lt;br /&gt;
 curr = next(G[i])&lt;br /&gt;
 while (curr ≠ &#039;&#039;&#039;nil&#039;&#039;&#039;) do&lt;br /&gt;
    out_deg = out_deg + 1&lt;br /&gt;
    curr = next(curr)&lt;br /&gt;
 end_while&lt;br /&gt;
 return out_deg&lt;br /&gt;
&lt;br /&gt;
== 5. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Korišćenjem dinamičkih Huffman-ovih kodova, kodirati sekvencu simbola CBCBDAAABABA, ako se simboli A, B, C i D kodovima fiksne dužine kodiraju sa po dva bita 00, 01, 10, 11, respektivno&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Kodirana poruka glasi: 10 001 1 01 0011 10000 1001 01 01 11 10 0.&lt;br /&gt;
[[Датотека:Scan 14.05.2020..pdf|оквир|Ilustracija postupka]]&lt;br /&gt;
&lt;br /&gt;
== 6. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Dato je binarno stablo &#039;&#039;B&#039;&#039;, na čiji koren pokazuje pokazivač &#039;&#039;root&#039;&#039;. Stablo &#039;&#039;B&#039;&#039; dobijeno je konverzijom m-arnog stabla &#039;&#039;T&#039;&#039; u odgovarajuće binarno. Napisati u pseudokodu &#039;&#039;&#039;iterativnu&#039;&#039;&#039; funkciju koja određuje red stabla T.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
 &amp;lt;u&amp;gt;TREE ORDER BIN(&#039;&#039;root&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== 7. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Pitanja:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Komentarisati strategiju obrade istih prioriteta u prioritetnom redu primenjenom u statičkom &#039;&#039;Huffman&#039;&#039;-ovom algoritmu.&lt;br /&gt;
# Kolika je minimalna, a kolika maksimalna dubina steka korišćenog u iterativnoj realizaciji &#039;&#039;preorder&#039;&#039; obilaska binarnog stabla sa n čvorova. Nacrtati takva stabla.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Bolje rezultate ćemo dobiti ako dajemo veći prioritet &amp;quot;starijim&amp;quot; članovima reda, tj stablima manje visine. Biranjem nižih stabala dobijamo kraće kodove te je algoritam efikasniji.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 8. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Dato je binarno stablo &amp;lt;u&amp;gt;povezano&amp;lt;/u&amp;gt; po &#039;&#039;inorder&#039;&#039;-u. Napisati i objasniti pseudokod algoritma obilaska po &#039;&#039;&#039;inverznom&#039;&#039;&#039; &#039;&#039;inorder&#039;&#039; poretku.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
 &amp;lt;u&amp;gt;INVERSE INORDER T(&#039;&#039;root&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Иван Цветић</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%90%D0%A1%D0%9F1/%D0%9A2_2016&amp;diff=226</id>
		<title>АСП1/К2 2016</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%90%D0%A1%D0%9F1/%D0%9A2_2016&amp;diff=226"/>
		<updated>2020-05-14T15:18:27Z</updated>

		<summary type="html">&lt;p&gt;Иван Цветић: /* Rešenje */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
[https://rti.etf.bg.ac.rs/rti/ri3sp/rokovi/SI1AS1_K2_1516.pdf Zadaci]&lt;br /&gt;
&lt;br /&gt;
== 1. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Na slici je dato jedno nekompletno prikazano binarno stablo (desno. Ukoliko &#039;&#039;preorder&#039;&#039; obilazak takvog stabla daje poredak čvorova ACBDFE, nacrtati sve moguće izglede ovog stabla.&lt;br /&gt;
    A&lt;br /&gt;
  /   \&lt;br /&gt;
 C     ...&lt;br /&gt;
  \&lt;br /&gt;
   B&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Pogledajmo najpre obilazak&lt;br /&gt;
&#039;&#039;&#039;A&#039;&#039;&#039; &#039;&#039;CB&#039;&#039; &#039;&#039;DFE&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Levi deo je kompletan i D mora biti koren desnog podstabla. Odatle dolaze kombinacije:&lt;br /&gt;
    A          A          A          A          A&lt;br /&gt;
  /   \      /   \      /   \      /   \      /   \&lt;br /&gt;
 C     D    C     D    C     D    C     D    C     D&lt;br /&gt;
  \   / \    \   /      \   /      \     \    \     \&lt;br /&gt;
   B F   E    B F        B F        B     F    B     F&lt;br /&gt;
               /            \              \        /&lt;br /&gt;
              E              E              E      E&lt;br /&gt;
&lt;br /&gt;
== 2. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Napisati u pseudokodu funkciju koja u binarnom stablu na čiji koren pokazuje pokazivač &#039;&#039;root&#039;&#039; utvrđuje da li postoji čvor čija pozicija u stablu (u odnosu na koren) je simetrična u odnosu na poziciju čvora na koji pokazuje pokazivač &#039;&#039;node&#039;&#039;. Smatrati da svaki čvor binarnog stabla pored  informacionog sadržaja sadrži pokazivače na levo i desno podstablo i pokazivač na roditeljski čvor.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Rešenje se sastoji od toga da se vratimo unazad, pamteći put, i onda silazimo opet ali obrnutim putem. Ukoliko se isprazni ulančana lista (koja glumi stek), to znači da postoji simetrični član.&lt;br /&gt;
 &amp;lt;u&amp;gt;CHECK_SYMMETRIC(&#039;&#039;root&#039;&#039;, &#039;&#039;node&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
 &#039;&#039;path&#039;&#039; = nil&lt;br /&gt;
 &#039;&#039;step&#039;&#039; = nil&lt;br /&gt;
 &#039;&#039;parent&#039;&#039; = nil&lt;br /&gt;
 &#039;&#039;p&#039;&#039; = &#039;&#039;node&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;while&#039;&#039;&#039; &#039;&#039;p&#039;&#039; ≠ &#039;&#039;root&#039;&#039; &#039;&#039;&#039;do&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;step&#039;&#039; = GETNODE&lt;br /&gt;
     &#039;&#039;parent&#039;&#039; = &#039;&#039;parent&#039;&#039;(&#039;&#039;p&#039;&#039;)&lt;br /&gt;
     &#039;&#039;&#039;if&#039;&#039;&#039; &#039;&#039;left&#039;&#039;(&#039;&#039;parent&#039;&#039;) = &#039;&#039;p&#039;&#039; &#039;&#039;&#039;then&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;info&#039;&#039;(&#039;&#039;step&#039;&#039;) = 0&lt;br /&gt;
     &#039;&#039;&#039;else&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;info&#039;&#039;(&#039;&#039;step&#039;&#039;) = 1&lt;br /&gt;
     &#039;&#039;&#039;end_if&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;p&#039;&#039; = &#039;&#039;parent&#039;&#039;&lt;br /&gt;
     &#039;&#039;next&#039;&#039;(&#039;&#039;step&#039;&#039;) = &#039;&#039;path&#039;&#039;&lt;br /&gt;
     &#039;&#039;path&#039;&#039; = &#039;&#039;step&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;end_while&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;while&#039;&#039;&#039; &#039;&#039;p&#039;&#039; ≠ nil &#039;&#039;&#039;do&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;&#039;if&#039;&#039;&#039; &#039;&#039;path&#039;&#039; = nil &#039;&#039;&#039;then&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;&#039;return&#039;&#039;&#039; true&lt;br /&gt;
     &#039;&#039;&#039;end_if&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;&#039;if&#039;&#039;&#039; &#039;&#039;info&#039;&#039;(&#039;&#039;path&#039;&#039;) = 0 &#039;&#039;&#039;then&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;p&#039;&#039; = &#039;&#039;right&#039;&#039;(&#039;&#039;p&#039;&#039;)&lt;br /&gt;
     &#039;&#039;&#039;else&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;p&#039;&#039; = &#039;&#039;left&#039;&#039;(&#039;&#039;p&#039;&#039;)&lt;br /&gt;
     &#039;&#039;&#039;end_if&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;step&#039;&#039; = &#039;&#039;path&#039;&#039;&lt;br /&gt;
     &#039;&#039;path&#039;&#039; = &#039;&#039;next&#039;&#039;(&#039;&#039;path&#039;&#039;)&lt;br /&gt;
     FREENODE(&#039;&#039;step&#039;&#039;)&lt;br /&gt;
 &#039;&#039;&#039;end_while&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;return&#039;&#039;&#039; false&lt;br /&gt;
&lt;br /&gt;
== 3. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Dekodovati poruku 0 1 3 3 4 5 4 9 primenom LZW algoritma, za dati početni sadržaj tabele simbola.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
* Dekodovana poruka: ABABABBAABABABAB&lt;br /&gt;
* Tablica kodova:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Simbol&lt;br /&gt;
! Kôd&lt;br /&gt;
|-&lt;br /&gt;
| A&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
| B&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| C&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| AB&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| BA&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| ABA&lt;br /&gt;
| 5&lt;br /&gt;
|-&lt;br /&gt;
| ABB&lt;br /&gt;
| 6&lt;br /&gt;
|-&lt;br /&gt;
| BAA&lt;br /&gt;
| 7&lt;br /&gt;
|-&lt;br /&gt;
| ABAB&lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| BAB&lt;br /&gt;
| 9&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 4. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Ukoliko je usmereni graf sa &#039;&#039;n&#039;&#039; čvorova predstavljen listom susednosti, napisati u pseudokodu funkcije za izračunavanje ulaznog i izlaznog stepena zadatog čvora &#039;&#039;i&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Rešenje zadatka je teorijski opisano na 159. strani knjige. Polazi se od pretpostavke da G predstavlja niz ulančanih lista, pa se sa G[i] uzima lista susednosti čvora i.&lt;br /&gt;
 &amp;lt;u&amp;gt;VERTEX IN DEG(&#039;&#039;G&#039;&#039;, &#039;&#039;n&#039;&#039;, &#039;&#039;i&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
 in_deg = 0&lt;br /&gt;
 for k = 1 to n do &lt;br /&gt;
    curr = next(G[k])&lt;br /&gt;
    while (curr ≠ &#039;&#039;&#039;nil&#039;&#039;&#039;) do&lt;br /&gt;
       if (info(curr) = i) then in_deg = in_deg + 1&lt;br /&gt;
       end_if&lt;br /&gt;
       curr = next(curr)&lt;br /&gt;
    end_while&lt;br /&gt;
 end_for&lt;br /&gt;
 return in_deg&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;u&amp;gt;VERTEX OUT DEG(&#039;&#039;G&#039;&#039;, &#039;&#039;n&#039;&#039;, &#039;&#039;i&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
 out_deg = 0&lt;br /&gt;
 curr = next(G[i])&lt;br /&gt;
 while (curr ≠ &#039;&#039;&#039;nil&#039;&#039;&#039;) do&lt;br /&gt;
    out_deg = out_deg + 1&lt;br /&gt;
    curr = next(curr)&lt;br /&gt;
 end_while&lt;br /&gt;
 return out_deg&lt;br /&gt;
&lt;br /&gt;
== 5. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Korišćenjem dinamičkih Huffman-ovih kodova, kodirati sekvencu simbola CBCBDAAABABA, ako se simboli A, B, C i D kodovima fiksne dužine kodiraju sa po dva bita 00, 01, 10, 11, respektivno&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Kodirana poruka glasi: 10 001 1 01 0011 10000 1001 01 01 11 10 0.&lt;br /&gt;
[[Датотека:Ilustracija..pdf|мини|Ilustracija postupka]]&lt;br /&gt;
&lt;br /&gt;
== 6. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Dato je binarno stablo &#039;&#039;B&#039;&#039;, na čiji koren pokazuje pokazivač &#039;&#039;root&#039;&#039;. Stablo &#039;&#039;B&#039;&#039; dobijeno je konverzijom m-arnog stabla &#039;&#039;T&#039;&#039; u odgovarajuće binarno. Napisati u pseudokodu &#039;&#039;&#039;iterativnu&#039;&#039;&#039; funkciju koja određuje red stabla T.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
 &amp;lt;u&amp;gt;TREE ORDER BIN(&#039;&#039;root&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== 7. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Pitanja:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Komentarisati strategiju obrade istih prioriteta u prioritetnom redu primenjenom u statičkom &#039;&#039;Huffman&#039;&#039;-ovom algoritmu.&lt;br /&gt;
# Kolika je minimalna, a kolika maksimalna dubina steka korišćenog u iterativnoj realizaciji &#039;&#039;preorder&#039;&#039; obilaska binarnog stabla sa n čvorova. Nacrtati takva stabla.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Bolje rezultate ćemo dobiti ako dajemo veći prioritet &amp;quot;starijim&amp;quot; članovima reda, tj stablima manje visine. Biranjem nižih stabala dobijamo kraće kodove te je algoritam efikasniji.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 8. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Dato je binarno stablo &amp;lt;u&amp;gt;povezano&amp;lt;/u&amp;gt; po &#039;&#039;inorder&#039;&#039;-u. Napisati i objasniti pseudokod algoritma obilaska po &#039;&#039;&#039;inverznom&#039;&#039;&#039; &#039;&#039;inorder&#039;&#039; poretku.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
 &amp;lt;u&amp;gt;INVERSE INORDER T(&#039;&#039;root&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Иван Цветић</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%90%D0%A1%D0%9F1/%D0%9A2_2016&amp;diff=224</id>
		<title>АСП1/К2 2016</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%90%D0%A1%D0%9F1/%D0%9A2_2016&amp;diff=224"/>
		<updated>2020-05-14T10:37:22Z</updated>

		<summary type="html">&lt;p&gt;Иван Цветић: /* Rešenje */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
[https://rti.etf.bg.ac.rs/rti/ri3sp/rokovi/SI1AS1_K2_1516.pdf Zadaci]&lt;br /&gt;
&lt;br /&gt;
== 1. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Na slici je dato jedno nekompletno prikazano binarno stablo (desno. Ukoliko &#039;&#039;preorder&#039;&#039; obilazak takvog stabla daje poredak čvorova ACBDFE, nacrtati sve moguće izglede ovog stabla.&lt;br /&gt;
    A&lt;br /&gt;
  /   \&lt;br /&gt;
 C     ...&lt;br /&gt;
  \&lt;br /&gt;
   B&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Pogledajmo najpre obilazak&lt;br /&gt;
&#039;&#039;&#039;A&#039;&#039;&#039; &#039;&#039;CB&#039;&#039; &#039;&#039;DFE&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Levi deo je kompletan i D mora biti koren desnog podstabla. Odatle dolaze kombinacije:&lt;br /&gt;
    A          A          A          A          A&lt;br /&gt;
  /   \      /   \      /   \      /   \      /   \&lt;br /&gt;
 C     D    C     D    C     D    C     D    C     D&lt;br /&gt;
  \   / \    \   /      \   /      \     \    \     \&lt;br /&gt;
   B F   E    B F        B F        B     F    B     F&lt;br /&gt;
               /            \              \        /&lt;br /&gt;
              E              E              E      E&lt;br /&gt;
&lt;br /&gt;
== 2. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Napisati u pseudokodu funkciju koja u binarnom stablu na čiji koren pokazuje pokazivač &#039;&#039;root&#039;&#039; utvrđuje da li postoji čvor čija pozicija u stablu (u odnosu na koren) je simetrična u odnosu na poziciju čvora na koji pokazuje pokazivač &#039;&#039;node&#039;&#039;. Smatrati da svaki čvor binarnog stabla pored  informacionog sadržaja sadrži pokazivače na levo i desno podstablo i pokazivač na roditeljski čvor.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Rešenje se sastoji od toga da se vratimo unazad, pamteći put, i onda silazimo opet ali obrnutim putem. Ukoliko se isprazni ulančana lista (koja glumi stek), to znači da postoji simetrični član.&lt;br /&gt;
 &amp;lt;u&amp;gt;CHECK_SYMMETRIC(&#039;&#039;root&#039;&#039;, &#039;&#039;node&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
 &#039;&#039;path&#039;&#039; = nil&lt;br /&gt;
 &#039;&#039;step&#039;&#039; = nil&lt;br /&gt;
 &#039;&#039;parent&#039;&#039; = nil&lt;br /&gt;
 &#039;&#039;p&#039;&#039; = &#039;&#039;node&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;while&#039;&#039;&#039; &#039;&#039;p&#039;&#039; ≠ &#039;&#039;root&#039;&#039; &#039;&#039;&#039;do&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;step&#039;&#039; = GETNODE&lt;br /&gt;
     &#039;&#039;parent&#039;&#039; = &#039;&#039;parent&#039;&#039;(&#039;&#039;p&#039;&#039;)&lt;br /&gt;
     &#039;&#039;&#039;if&#039;&#039;&#039; &#039;&#039;left&#039;&#039;(&#039;&#039;parent&#039;&#039;) = &#039;&#039;p&#039;&#039; &#039;&#039;&#039;then&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;info&#039;&#039;(&#039;&#039;step&#039;&#039;) = 0&lt;br /&gt;
     &#039;&#039;&#039;else&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;info&#039;&#039;(&#039;&#039;step&#039;&#039;) = 1&lt;br /&gt;
     &#039;&#039;&#039;end_if&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;p&#039;&#039; = &#039;&#039;parent&#039;&#039;&lt;br /&gt;
     &#039;&#039;next&#039;&#039;(&#039;&#039;step&#039;&#039;) = &#039;&#039;path&#039;&#039;&lt;br /&gt;
     &#039;&#039;path&#039;&#039; = &#039;&#039;step&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;end_while&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;while&#039;&#039;&#039; &#039;&#039;p&#039;&#039; ≠ nil &#039;&#039;&#039;do&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;&#039;if&#039;&#039;&#039; &#039;&#039;path&#039;&#039; = nil &#039;&#039;&#039;then&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;&#039;return&#039;&#039;&#039; true&lt;br /&gt;
     &#039;&#039;&#039;end_if&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;&#039;if&#039;&#039;&#039; &#039;&#039;info&#039;&#039;(&#039;&#039;path&#039;&#039;) = 0 &#039;&#039;&#039;then&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;p&#039;&#039; = &#039;&#039;right&#039;&#039;(&#039;&#039;p&#039;&#039;)&lt;br /&gt;
     &#039;&#039;&#039;else&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;p&#039;&#039; = &#039;&#039;left&#039;&#039;(&#039;&#039;p&#039;&#039;)&lt;br /&gt;
     &#039;&#039;&#039;end_if&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;step&#039;&#039; = &#039;&#039;path&#039;&#039;&lt;br /&gt;
     &#039;&#039;path&#039;&#039; = &#039;&#039;next&#039;&#039;(&#039;&#039;path&#039;&#039;)&lt;br /&gt;
     FREENODE(&#039;&#039;step&#039;&#039;)&lt;br /&gt;
 &#039;&#039;&#039;end_while&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;return&#039;&#039;&#039; false&lt;br /&gt;
&lt;br /&gt;
== 3. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Dekodovati poruku 0 1 3 3 4 5 4 9 primenom LZW algoritma, za dati početni sadržaj tabele simbola.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
* Dekodovana poruka: ABABABBAABABABAB&lt;br /&gt;
* Tablica kodova:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Simbol&lt;br /&gt;
! Kôd&lt;br /&gt;
|-&lt;br /&gt;
| A&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
| B&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| C&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| AB&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| BA&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| ABA&lt;br /&gt;
| 5&lt;br /&gt;
|-&lt;br /&gt;
| ABB&lt;br /&gt;
| 6&lt;br /&gt;
|-&lt;br /&gt;
| BAA&lt;br /&gt;
| 7&lt;br /&gt;
|-&lt;br /&gt;
| ABAB&lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| BAB&lt;br /&gt;
| 9&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 4. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Ukoliko je usmereni graf sa &#039;&#039;n&#039;&#039; čvorova predstavljen listom susednosti, napisati u pseudokodu funkcije za izračunavanje ulaznog i izlaznog stepena zadatog čvora &#039;&#039;i&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Rešenje zadatka je teorijski opisano na 159. strani knjige. Polazi se od pretpostavke da G predstavlja niz ulančanih lista, pa se sa G[i] uzima lista susednosti čvora i.&lt;br /&gt;
 &amp;lt;u&amp;gt;VERTEX IN DEG(&#039;&#039;G&#039;&#039;, &#039;&#039;n&#039;&#039;, &#039;&#039;i&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
 in_deg = 0&lt;br /&gt;
 for k = 1 to n do &lt;br /&gt;
    curr = next(G[k])&lt;br /&gt;
    while (curr ≠ &#039;&#039;&#039;nil&#039;&#039;&#039;) do&lt;br /&gt;
       if (info(curr) = i) then in_deg = in_deg + 1&lt;br /&gt;
       end_if&lt;br /&gt;
       curr = next(curr)&lt;br /&gt;
    end_while&lt;br /&gt;
 end_for&lt;br /&gt;
 return in_deg&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;u&amp;gt;VERTEX OUT DEG(&#039;&#039;G&#039;&#039;, &#039;&#039;n&#039;&#039;, &#039;&#039;i&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
 out_deg = 0&lt;br /&gt;
 curr = next(G[i])&lt;br /&gt;
 while (curr ≠ &#039;&#039;&#039;nil&#039;&#039;&#039;) do&lt;br /&gt;
    out_deg = out_deg + 1&lt;br /&gt;
    curr = next(curr)&lt;br /&gt;
 end_while&lt;br /&gt;
 return out_deg&lt;br /&gt;
&lt;br /&gt;
== 5. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Korišćenjem dinamičkih Huffman-ovih kodova, kodirati sekvencu simbola CBCBDAAABABA, ako se simboli A, B, C i D kodovima fiksne dužine kodiraju sa po dva bita 00, 01, 10, 11, respektivno&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&lt;br /&gt;
== 6. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Dato je binarno stablo &#039;&#039;B&#039;&#039;, na čiji koren pokazuje pokazivač &#039;&#039;root&#039;&#039;. Stablo &#039;&#039;B&#039;&#039; dobijeno je konverzijom m-arnog stabla &#039;&#039;T&#039;&#039; u odgovarajuće binarno. Napisati u pseudokodu &#039;&#039;&#039;iterativnu&#039;&#039;&#039; funkciju koja određuje red stabla T.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
 &amp;lt;u&amp;gt;TREE ORDER BIN(&#039;&#039;root&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== 7. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Pitanja:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Komentarisati strategiju obrade istih prioriteta u prioritetnom redu primenjenom u statičkom &#039;&#039;Huffman&#039;&#039;-ovom algoritmu.&lt;br /&gt;
# Kolika je minimalna, a kolika maksimalna dubina steka korišćenog u iterativnoj realizaciji &#039;&#039;preorder&#039;&#039; obilaska binarnog stabla sa n čvorova. Nacrtati takva stabla.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Bolje rezultate ćemo dobiti ako dajemo veći prioritet &amp;quot;starijim&amp;quot; članovima reda, tj stablima manje visine. Biranjem nižih stabala dobijamo kraće kodove te je algoritam efikasniji.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 8. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Dato je binarno stablo &amp;lt;u&amp;gt;povezano&amp;lt;/u&amp;gt; po &#039;&#039;inorder&#039;&#039;-u. Napisati i objasniti pseudokod algoritma obilaska po &#039;&#039;&#039;inverznom&#039;&#039;&#039; &#039;&#039;inorder&#039;&#039; poretku.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
 &amp;lt;u&amp;gt;INVERSE INORDER T(&#039;&#039;root&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Иван Цветић</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%90%D0%A1%D0%9F1/%D0%9A2_2016&amp;diff=223</id>
		<title>АСП1/К2 2016</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%90%D0%A1%D0%9F1/%D0%9A2_2016&amp;diff=223"/>
		<updated>2020-05-14T10:36:39Z</updated>

		<summary type="html">&lt;p&gt;Иван Цветић: /* Rešenje */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
[https://rti.etf.bg.ac.rs/rti/ri3sp/rokovi/SI1AS1_K2_1516.pdf Zadaci]&lt;br /&gt;
&lt;br /&gt;
== 1. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Na slici je dato jedno nekompletno prikazano binarno stablo (desno. Ukoliko &#039;&#039;preorder&#039;&#039; obilazak takvog stabla daje poredak čvorova ACBDFE, nacrtati sve moguće izglede ovog stabla.&lt;br /&gt;
    A&lt;br /&gt;
  /   \&lt;br /&gt;
 C     ...&lt;br /&gt;
  \&lt;br /&gt;
   B&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Pogledajmo najpre obilazak&lt;br /&gt;
&#039;&#039;&#039;A&#039;&#039;&#039; &#039;&#039;CB&#039;&#039; &#039;&#039;DFE&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Levi deo je kompletan i D mora biti koren desnog podstabla. Odatle dolaze kombinacije:&lt;br /&gt;
    A          A          A          A          A&lt;br /&gt;
  /   \      /   \      /   \      /   \      /   \&lt;br /&gt;
 C     D    C     D    C     D    C     D    C     D&lt;br /&gt;
  \   / \    \   /      \   /      \     \    \     \&lt;br /&gt;
   B F   E    B F        B F        B     F    B     F&lt;br /&gt;
               /            \              \        /&lt;br /&gt;
              E              E              E      E&lt;br /&gt;
&lt;br /&gt;
== 2. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Napisati u pseudokodu funkciju koja u binarnom stablu na čiji koren pokazuje pokazivač &#039;&#039;root&#039;&#039; utvrđuje da li postoji čvor čija pozicija u stablu (u odnosu na koren) je simetrična u odnosu na poziciju čvora na koji pokazuje pokazivač &#039;&#039;node&#039;&#039;. Smatrati da svaki čvor binarnog stabla pored  informacionog sadržaja sadrži pokazivače na levo i desno podstablo i pokazivač na roditeljski čvor.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Rešenje se sastoji od toga da se vratimo unazad, pamteći put, i onda silazimo opet ali obrnutim putem. Ukoliko se isprazni ulančana lista (koja glumi stek), to znači da postoji simetrični član.&lt;br /&gt;
 &amp;lt;u&amp;gt;CHECK_SYMMETRIC(&#039;&#039;root&#039;&#039;, &#039;&#039;node&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
 &#039;&#039;path&#039;&#039; = nil&lt;br /&gt;
 &#039;&#039;step&#039;&#039; = nil&lt;br /&gt;
 &#039;&#039;parent&#039;&#039; = nil&lt;br /&gt;
 &#039;&#039;p&#039;&#039; = &#039;&#039;node&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;while&#039;&#039;&#039; &#039;&#039;p&#039;&#039; ≠ &#039;&#039;root&#039;&#039; &#039;&#039;&#039;do&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;step&#039;&#039; = GETNODE&lt;br /&gt;
     &#039;&#039;parent&#039;&#039; = &#039;&#039;parent&#039;&#039;(&#039;&#039;p&#039;&#039;)&lt;br /&gt;
     &#039;&#039;&#039;if&#039;&#039;&#039; &#039;&#039;left&#039;&#039;(&#039;&#039;parent&#039;&#039;) = &#039;&#039;p&#039;&#039; &#039;&#039;&#039;then&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;info&#039;&#039;(&#039;&#039;step&#039;&#039;) = 0&lt;br /&gt;
     &#039;&#039;&#039;else&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;info&#039;&#039;(&#039;&#039;step&#039;&#039;) = 1&lt;br /&gt;
     &#039;&#039;&#039;end_if&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;p&#039;&#039; = &#039;&#039;parent&#039;&#039;&lt;br /&gt;
     &#039;&#039;next&#039;&#039;(&#039;&#039;step&#039;&#039;) = &#039;&#039;path&#039;&#039;&lt;br /&gt;
     &#039;&#039;path&#039;&#039; = &#039;&#039;step&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;end_while&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;while&#039;&#039;&#039; &#039;&#039;p&#039;&#039; ≠ nil &#039;&#039;&#039;do&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;&#039;if&#039;&#039;&#039; &#039;&#039;path&#039;&#039; = nil &#039;&#039;&#039;then&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;&#039;return&#039;&#039;&#039; true&lt;br /&gt;
     &#039;&#039;&#039;end_if&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;&#039;if&#039;&#039;&#039; &#039;&#039;info&#039;&#039;(&#039;&#039;path&#039;&#039;) = 0 &#039;&#039;&#039;then&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;p&#039;&#039; = &#039;&#039;right&#039;&#039;(&#039;&#039;p&#039;&#039;)&lt;br /&gt;
     &#039;&#039;&#039;else&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;p&#039;&#039; = &#039;&#039;left&#039;&#039;(&#039;&#039;p&#039;&#039;)&lt;br /&gt;
     &#039;&#039;&#039;end_if&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;step&#039;&#039; = &#039;&#039;path&#039;&#039;&lt;br /&gt;
     &#039;&#039;path&#039;&#039; = &#039;&#039;next&#039;&#039;(&#039;&#039;path&#039;&#039;)&lt;br /&gt;
     FREENODE(&#039;&#039;step&#039;&#039;)&lt;br /&gt;
 &#039;&#039;&#039;end_while&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;return&#039;&#039;&#039; false&lt;br /&gt;
&lt;br /&gt;
== 3. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Dekodovati poruku 0 1 3 3 4 5 4 9 primenom LZW algoritma, za dati početni sadržaj tabele simbola.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
* Dekodovana poruka: ABABABBAABABABAB&lt;br /&gt;
* Tablica kodova:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Simbol&lt;br /&gt;
! Kôd&lt;br /&gt;
|-&lt;br /&gt;
| A&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
| B&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| C&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| AB&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| BA&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| ABA&lt;br /&gt;
| 5&lt;br /&gt;
|-&lt;br /&gt;
| ABB&lt;br /&gt;
| 6&lt;br /&gt;
|-&lt;br /&gt;
| BAA&lt;br /&gt;
| 7&lt;br /&gt;
|-&lt;br /&gt;
| ABAB&lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| BAB&lt;br /&gt;
| 9&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 4. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Ukoliko je usmereni graf sa &#039;&#039;n&#039;&#039; čvorova predstavljen listom susednosti, napisati u pseudokodu funkcije za izračunavanje ulaznog i izlaznog stepena zadatog čvora &#039;&#039;i&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Rešenje zadatka je teorijski opisano na 159. strani knjige. Polazi se od pretpostavke da G predstavlja niz ulančanih lista, pa se sa G[i] uzima lista susednosti čvora i.&lt;br /&gt;
 &amp;lt;u&amp;gt;VERTEX IN DEG(&#039;&#039;G&#039;&#039;, &#039;&#039;n&#039;&#039;, &#039;&#039;i&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
 in_deg = 0&lt;br /&gt;
 for i = 1 to n do &lt;br /&gt;
    curr = next(G[i])&lt;br /&gt;
    while (curr ≠ &#039;&#039;&#039;nil&#039;&#039;&#039;) do&lt;br /&gt;
       if (info(curr) = i) then in_deg = in_deg + 1&lt;br /&gt;
       end_if&lt;br /&gt;
       curr = next(curr)&lt;br /&gt;
    end_while&lt;br /&gt;
 end_for&lt;br /&gt;
 return in_deg&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;u&amp;gt;VERTEX OUT DEG(&#039;&#039;G&#039;&#039;, &#039;&#039;n&#039;&#039;, &#039;&#039;i&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
 out_deg = 0&lt;br /&gt;
 curr = next(G[i])&lt;br /&gt;
 while (curr ≠ &#039;&#039;&#039;nil&#039;&#039;&#039;) do&lt;br /&gt;
    out_deg = out_deg + 1&lt;br /&gt;
    curr = next(curr)&lt;br /&gt;
 end_while&lt;br /&gt;
 return out_deg&lt;br /&gt;
&lt;br /&gt;
== 5. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Korišćenjem dinamičkih Huffman-ovih kodova, kodirati sekvencu simbola CBCBDAAABABA, ako se simboli A, B, C i D kodovima fiksne dužine kodiraju sa po dva bita 00, 01, 10, 11, respektivno&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&lt;br /&gt;
== 6. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Dato je binarno stablo &#039;&#039;B&#039;&#039;, na čiji koren pokazuje pokazivač &#039;&#039;root&#039;&#039;. Stablo &#039;&#039;B&#039;&#039; dobijeno je konverzijom m-arnog stabla &#039;&#039;T&#039;&#039; u odgovarajuće binarno. Napisati u pseudokodu &#039;&#039;&#039;iterativnu&#039;&#039;&#039; funkciju koja određuje red stabla T.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
 &amp;lt;u&amp;gt;TREE ORDER BIN(&#039;&#039;root&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== 7. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Pitanja:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Komentarisati strategiju obrade istih prioriteta u prioritetnom redu primenjenom u statičkom &#039;&#039;Huffman&#039;&#039;-ovom algoritmu.&lt;br /&gt;
# Kolika je minimalna, a kolika maksimalna dubina steka korišćenog u iterativnoj realizaciji &#039;&#039;preorder&#039;&#039; obilaska binarnog stabla sa n čvorova. Nacrtati takva stabla.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Bolje rezultate ćemo dobiti ako dajemo veći prioritet &amp;quot;starijim&amp;quot; članovima reda, tj stablima manje visine. Biranjem nižih stabala dobijamo kraće kodove te je algoritam efikasniji.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 8. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Dato je binarno stablo &amp;lt;u&amp;gt;povezano&amp;lt;/u&amp;gt; po &#039;&#039;inorder&#039;&#039;-u. Napisati i objasniti pseudokod algoritma obilaska po &#039;&#039;&#039;inverznom&#039;&#039;&#039; &#039;&#039;inorder&#039;&#039; poretku.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
 &amp;lt;u&amp;gt;INVERSE INORDER T(&#039;&#039;root&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Иван Цветић</name></author>
	</entry>
	<entry>
		<id>https://siwiki.rs/w/index.php?title=%D0%90%D0%A1%D0%9F1/%D0%9A2_2016&amp;diff=222</id>
		<title>АСП1/К2 2016</title>
		<link rel="alternate" type="text/html" href="https://siwiki.rs/w/index.php?title=%D0%90%D0%A1%D0%9F1/%D0%9A2_2016&amp;diff=222"/>
		<updated>2020-05-14T10:28:25Z</updated>

		<summary type="html">&lt;p&gt;Иван Цветић: /* Rešenje */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{tocright}}&lt;br /&gt;
[https://rti.etf.bg.ac.rs/rti/ri3sp/rokovi/SI1AS1_K2_1516.pdf Zadaci]&lt;br /&gt;
&lt;br /&gt;
== 1. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Na slici je dato jedno nekompletno prikazano binarno stablo (desno. Ukoliko &#039;&#039;preorder&#039;&#039; obilazak takvog stabla daje poredak čvorova ACBDFE, nacrtati sve moguće izglede ovog stabla.&lt;br /&gt;
    A&lt;br /&gt;
  /   \&lt;br /&gt;
 C     ...&lt;br /&gt;
  \&lt;br /&gt;
   B&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Pogledajmo najpre obilazak&lt;br /&gt;
&#039;&#039;&#039;A&#039;&#039;&#039; &#039;&#039;CB&#039;&#039; &#039;&#039;DFE&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Levi deo je kompletan i D mora biti koren desnog podstabla. Odatle dolaze kombinacije:&lt;br /&gt;
    A          A          A          A          A&lt;br /&gt;
  /   \      /   \      /   \      /   \      /   \&lt;br /&gt;
 C     D    C     D    C     D    C     D    C     D&lt;br /&gt;
  \   / \    \   /      \   /      \     \    \     \&lt;br /&gt;
   B F   E    B F        B F        B     F    B     F&lt;br /&gt;
               /            \              \        /&lt;br /&gt;
              E              E              E      E&lt;br /&gt;
&lt;br /&gt;
== 2. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Napisati u pseudokodu funkciju koja u binarnom stablu na čiji koren pokazuje pokazivač &#039;&#039;root&#039;&#039; utvrđuje da li postoji čvor čija pozicija u stablu (u odnosu na koren) je simetrična u odnosu na poziciju čvora na koji pokazuje pokazivač &#039;&#039;node&#039;&#039;. Smatrati da svaki čvor binarnog stabla pored  informacionog sadržaja sadrži pokazivače na levo i desno podstablo i pokazivač na roditeljski čvor.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
Rešenje se sastoji od toga da se vratimo unazad, pamteći put, i onda silazimo opet ali obrnutim putem. Ukoliko se isprazni ulančana lista (koja glumi stek), to znači da postoji simetrični član.&lt;br /&gt;
 &amp;lt;u&amp;gt;CHECK_SYMMETRIC(&#039;&#039;root&#039;&#039;, &#039;&#039;node&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
 &#039;&#039;path&#039;&#039; = nil&lt;br /&gt;
 &#039;&#039;step&#039;&#039; = nil&lt;br /&gt;
 &#039;&#039;parent&#039;&#039; = nil&lt;br /&gt;
 &#039;&#039;p&#039;&#039; = &#039;&#039;node&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;while&#039;&#039;&#039; &#039;&#039;p&#039;&#039; ≠ &#039;&#039;root&#039;&#039; &#039;&#039;&#039;do&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;step&#039;&#039; = GETNODE&lt;br /&gt;
     &#039;&#039;parent&#039;&#039; = &#039;&#039;parent&#039;&#039;(&#039;&#039;p&#039;&#039;)&lt;br /&gt;
     &#039;&#039;&#039;if&#039;&#039;&#039; &#039;&#039;left&#039;&#039;(&#039;&#039;parent&#039;&#039;) = &#039;&#039;p&#039;&#039; &#039;&#039;&#039;then&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;info&#039;&#039;(&#039;&#039;step&#039;&#039;) = 0&lt;br /&gt;
     &#039;&#039;&#039;else&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;info&#039;&#039;(&#039;&#039;step&#039;&#039;) = 1&lt;br /&gt;
     &#039;&#039;&#039;end_if&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;p&#039;&#039; = &#039;&#039;parent&#039;&#039;&lt;br /&gt;
     &#039;&#039;next&#039;&#039;(&#039;&#039;step&#039;&#039;) = &#039;&#039;path&#039;&#039;&lt;br /&gt;
     &#039;&#039;path&#039;&#039; = &#039;&#039;step&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;end_while&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;while&#039;&#039;&#039; &#039;&#039;p&#039;&#039; ≠ nil &#039;&#039;&#039;do&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;&#039;if&#039;&#039;&#039; &#039;&#039;path&#039;&#039; = nil &#039;&#039;&#039;then&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;&#039;return&#039;&#039;&#039; true&lt;br /&gt;
     &#039;&#039;&#039;end_if&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;&#039;if&#039;&#039;&#039; &#039;&#039;info&#039;&#039;(&#039;&#039;path&#039;&#039;) = 0 &#039;&#039;&#039;then&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;p&#039;&#039; = &#039;&#039;right&#039;&#039;(&#039;&#039;p&#039;&#039;)&lt;br /&gt;
     &#039;&#039;&#039;else&#039;&#039;&#039;&lt;br /&gt;
         &#039;&#039;p&#039;&#039; = &#039;&#039;left&#039;&#039;(&#039;&#039;p&#039;&#039;)&lt;br /&gt;
     &#039;&#039;&#039;end_if&#039;&#039;&#039;&lt;br /&gt;
     &#039;&#039;step&#039;&#039; = &#039;&#039;path&#039;&#039;&lt;br /&gt;
     &#039;&#039;path&#039;&#039; = &#039;&#039;next&#039;&#039;(&#039;&#039;path&#039;&#039;)&lt;br /&gt;
     FREENODE(&#039;&#039;step&#039;&#039;)&lt;br /&gt;
 &#039;&#039;&#039;end_while&#039;&#039;&#039;&lt;br /&gt;
 &#039;&#039;&#039;return&#039;&#039;&#039; false&lt;br /&gt;
&lt;br /&gt;
== 3. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Dekodovati poruku 0 1 3 3 4 5 4 9 primenom LZW algoritma, za dati početni sadržaj tabele simbola.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
* Dekodovana poruka: ABABABBAABABABAB&lt;br /&gt;
* Tablica kodova:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Simbol&lt;br /&gt;
! Kôd&lt;br /&gt;
|-&lt;br /&gt;
| A&lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
| B&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| C&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| AB&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| BA&lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
| ABA&lt;br /&gt;
| 5&lt;br /&gt;
|-&lt;br /&gt;
| ABB&lt;br /&gt;
| 6&lt;br /&gt;
|-&lt;br /&gt;
| BAA&lt;br /&gt;
| 7&lt;br /&gt;
|-&lt;br /&gt;
| ABAB&lt;br /&gt;
| 8&lt;br /&gt;
|-&lt;br /&gt;
| BAB&lt;br /&gt;
| 9&lt;br /&gt;
|-&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 4. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Ukoliko je usmereni graf sa &#039;&#039;n&#039;&#039; čvorova predstavljen listom susednosti, napisati u pseudokodu funkcije za izračunavanje ulaznog i izlaznog stepena zadatog čvora &#039;&#039;i&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
 &amp;lt;u&amp;gt;VERTEX IN DEG(&#039;&#039;G&#039;&#039;, &#039;&#039;n&#039;&#039;, &#039;&#039;i&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;u&amp;gt;VERTEX OUT DEG(&#039;&#039;G&#039;&#039;, &#039;&#039;n&#039;&#039;, &#039;&#039;i&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== 5. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Korišćenjem dinamičkih Huffman-ovih kodova, kodirati sekvencu simbola CBCBDAAABABA, ako se simboli A, B, C i D kodovima fiksne dužine kodiraju sa po dva bita 00, 01, 10, 11, respektivno&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&lt;br /&gt;
== 6. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Dato je binarno stablo &#039;&#039;B&#039;&#039;, na čiji koren pokazuje pokazivač &#039;&#039;root&#039;&#039;. Stablo &#039;&#039;B&#039;&#039; dobijeno je konverzijom m-arnog stabla &#039;&#039;T&#039;&#039; u odgovarajuće binarno. Napisati u pseudokodu &#039;&#039;&#039;iterativnu&#039;&#039;&#039; funkciju koja određuje red stabla T.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
 &amp;lt;u&amp;gt;TREE ORDER BIN(&#039;&#039;root&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== 7. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Pitanja:&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Komentarisati strategiju obrade istih prioriteta u prioritetnom redu primenjenom u statičkom &#039;&#039;Huffman&#039;&#039;-ovom algoritmu.&lt;br /&gt;
# Kolika je minimalna, a kolika maksimalna dubina steka korišćenog u iterativnoj realizaciji &#039;&#039;preorder&#039;&#039; obilaska binarnog stabla sa n čvorova. Nacrtati takva stabla.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
&amp;lt;div class=&amp;quot;abc-list&amp;quot;&amp;gt;&lt;br /&gt;
# Bolje rezultate ćemo dobiti ako dajemo veći prioritet &amp;quot;starijim&amp;quot; članovima reda, tj stablima manje visine. Biranjem nižih stabala dobijamo kraće kodove te je algoritam efikasniji.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 8. zadatak ==&lt;br /&gt;
=== Postavka ===&lt;br /&gt;
Dato je binarno stablo &amp;lt;u&amp;gt;povezano&amp;lt;/u&amp;gt; po &#039;&#039;inorder&#039;&#039;-u. Napisati i objasniti pseudokod algoritma obilaska po &#039;&#039;&#039;inverznom&#039;&#039;&#039; &#039;&#039;inorder&#039;&#039; poretku.&lt;br /&gt;
&lt;br /&gt;
=== Rešenje ===&lt;br /&gt;
 &amp;lt;u&amp;gt;INVERSE INORDER T(&#039;&#039;root&#039;&#039;)&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Категорија:Рокови]]&lt;/div&gt;</summary>
		<author><name>Иван Цветић</name></author>
	</entry>
</feed>