Search
 
 
  Engleski
 
 
 
Open in this window (click to change)
Forum@DeGiorgi: Početna
Forum za podršku nastavi na PMF-MO
Login Registracija FAQ Smajlići Članstvo Pretražnik Forum@DeGiorgi: Početna

Kreiranje binarnog stabla
WWW:

Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 2. godine -> Strukture podataka i algoritmi
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
slonic~tonic
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 26. 10. 2011. (14:16:34)
Postovi: (84)16
Spol: žensko
Sarma = la pohva - posuda
= 5 - 4

PostPostano: 13:55 ned, 28. 10. 2012    Naslov: Kreiranje binarnog stabla Citirajte i odgovorite

moze mi netko pomoci, kako kreirati binarno stablo iz niza stringova zadanog preorder obilasku?? :/
moze mi netko pomoci, kako kreirati binarno stablo iz niza stringova zadanog preorder obilasku?? Ehm?



_________________
Lakše je naučiti matematiku nego raditi bez nje.
[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (355F)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 14:25 ned, 28. 10. 2012    Naslov: Citirajte i odgovorite

Nikako. Dva razlicita stabla mogu dati isti preorder. Uzmi bilo koje stablo bez grananja, dakle "niz" u kojem svaki cvor ima najvise jedno podstablo, i vidjet ces da je svejedno jesu li ta podstabala lijeva ili desna.

Za rekreirati stablo trebas inorder i neki od preostala dva obilasaka (preorder ili postorder). Samo ova dva, bez inordera, nisu dosta (vidi primjer koji sam naveo).
Nikako. Dva razlicita stabla mogu dati isti preorder. Uzmi bilo koje stablo bez grananja, dakle "niz" u kojem svaki cvor ima najvise jedno podstablo, i vidjet ces da je svejedno jesu li ta podstabala lijeva ili desna.

Za rekreirati stablo trebas inorder i neki od preostala dva obilasaka (preorder ili postorder). Samo ova dva, bez inordera, nisu dosta (vidi primjer koji sam naveo).



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
slonic~tonic
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 26. 10. 2011. (14:16:34)
Postovi: (84)16
Spol: žensko
Sarma = la pohva - posuda
= 5 - 4

PostPostano: 18:16 ned, 28. 10. 2012    Naslov: Citirajte i odgovorite

oprostite, zaboravila sam napomenuti da je zadano u preorder obilasku prosirenom oznakama praznih cvorova :/
oprostite, zaboravila sam napomenuti da je zadano u preorder obilasku prosirenom oznakama praznih cvorova Ehm?



_________________
Lakše je naučiti matematiku nego raditi bez nje.
[Vrh]
Korisnički profil Pošaljite privatnu poruku
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (355F)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 18:42 ned, 28. 10. 2012    Naslov: Citirajte i odgovorite

Prvi je ocito korijen.
Ako je taj prvi znak bio prazan, samo ga brisemo i bjezimo van iz rekurzije.
Ako taj prvi nije prazan, proglasimo ga za korijen i obrisemo iz stringa. Ponovimo stvar za lijevo i desno podstablo.

Skica:
[code:1]preorder2drvo(string s, stablo T) {
if (s prazan string) return;

korijen = prvi znak od s;
obrisi prvi znak iz s;

if (korijen != BLANK) {
proglasi korijen za T.korijen;
preorder2drvo(s, T.lijevo_podstablo);
preorder2drvo(s, T.desno_podstablo);
}

}[/code:1]

Bitno je da je string varijabilni argument, dakle [tt]char *s[/tt] nece raditi; [tt]char **s[/tt] hoce, ali onda string nije [tt]s[/tt] nego [tt]*s[/tt] ([tt]s[/tt] je pointer na string, dakle adresa pointera na prvi znak stringa). Moze i bez mijenjanja stringa, dako da se u varijabilnom [tt]int[/tt]-u drzi indeks prvog znaka u stringu ili da funkcija stalno vraca novi pocetak stringa.

Ovo je sklepano napamet. Mozda ima gresaka, a moguce je i da postoji bolji nacin.
Prvi je ocito korijen.
Ako je taj prvi znak bio prazan, samo ga brisemo i bjezimo van iz rekurzije.
Ako taj prvi nije prazan, proglasimo ga za korijen i obrisemo iz stringa. Ponovimo stvar za lijevo i desno podstablo.

Skica:
Kod:
preorder2drvo(string s, stablo T) {
  if (s prazan string) return;

  korijen = prvi znak od s;
  obrisi prvi znak iz s;

  if (korijen != BLANK) {
    proglasi korijen za T.korijen;
    preorder2drvo(s, T.lijevo_podstablo);
    preorder2drvo(s, T.desno_podstablo);
  }

}


Bitno je da je string varijabilni argument, dakle char *s nece raditi; char **s hoce, ali onda string nije s nego *s (s je pointer na string, dakle adresa pointera na prvi znak stringa). Moze i bez mijenjanja stringa, dako da se u varijabilnom int-u drzi indeks prvog znaka u stringu ili da funkcija stalno vraca novi pocetak stringa.

Ovo je sklepano napamet. Mozda ima gresaka, a moguce je i da postoji bolji nacin.



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
hipernova
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 25. 09. 2011. (20:15:21)
Postovi: (C)16
Sarma = la pohva - posuda
= 0 - 0
Lokacija: Zagreb

PostPostano: 13:46 čet, 21. 11. 2013    Naslov: Citirajte i odgovorite

jel moze netko malo ovo objasniti

[code:1]preorder2drvo(s, T.lijevo_podstablo); [/code:1]

ne kuzim bas ovo t.lijevo_podstablo
jel moze netko malo ovo objasniti

Kod:
preorder2drvo(s, T.lijevo_podstablo);


ne kuzim bas ovo t.lijevo_podstablo


[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
simon11
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 01. 10. 2011. (21:02:52)
Postovi: (7C)16
Spol: zombi
Sarma = la pohva - posuda
23 = 25 - 2
Lokacija: FunkyTown

PostPostano: 8:03 sri, 4. 12. 2013    Naslov: Citirajte i odgovorite

[quote]moze mi netko pomoci, kako kreirati binarno stablo iz niza stringova zadanog preorder obilasku??[/quote]

Mozda ti i ovo pomogne.

[url=http://www.thecrazyprogrammer.com/2013/12/c-program-to-create-binary-tree-using-recursion.html]link[/url]
Citat:
moze mi netko pomoci, kako kreirati binarno stablo iz niza stringova zadanog preorder obilasku??


Mozda ti i ovo pomogne.

link



_________________
#Usa
getting recognized
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 2. godine -> Strukture podataka i algoritmi Vremenska zona: GMT + 01:00.
Stranica 1 / 1.

 
Forum(o)Bir:  
Ne možete otvarati nove teme.
Ne možete odgovarati na postove.
Ne možete uređivati Vaše postove.
Ne možete izbrisati Vaše postove.
Ne možete glasovati u anketama.
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2002 phpBB Group
Theme created by Vjacheslav Trushkin
HR (Cro) by Ančica Sečan