Page 1 of 1

#1 'AJMO "C"-PEOPLE,DA VAS VIDIM

Posted: 15/01/2005 23:12
by c4dinamit
Ljudi dobio sam zadatak bez cijeg rjesenja ne mogu na ispit.A ne znam ga uraditi.On glasi ovako:

"Oblikovati memorijski rezidentno dvostruko binarno stablo( binarno stablo sortirano pomocu 2 kljuca) s podacima o osobi. Kljucevi za sortiranje binarnog stabla su JMBG i prezime."

Eto...ako se neko sjeti uraditi...nek posalje na mail ili postavi...jer ja ovo ne mogu "maknuti"

NAPOMENA: ovo treba rijesiti u C-u

#2

Posted: 15/01/2005 23:20
by Toozla
imal' jos kakvo pojasnjenje za ovaj problem....
treba da napravis program koji ce spasiti odredjene podatke o osobi u dvije memoriske cjeline i kasnije ti dozvoliti pretragu podataka po navedenim kljucevima?????????

#3

Posted: 15/01/2005 23:35
by visocicaguy
hm... za rjesavanje nemam vremena.. ali evo prijedlog kako bi to mogo uraditi..

prva stvar: napravis listu, ciji ce pointer prvog sloga sadrzavati dva pointera na dva niza sloga (lijevi i desni).

druga stvar: ako imas dva kljuca sortiranja, moras definisati prioritet kljuceva, da ne bi doslo do sukoba. to znaci, moras odluciti koji ce ti od ta dva kljuca biti "jacci", odnosno primarni i sekundarni kljuc. time izbjegavas slucaj da naprimjer neki novi korisnik koji je unesen po JMBG pri silasku niz stablo treba ici na lijevi cvor, a po prezimenu na desni.... onda program ne zna sta treba uraditi... i to je pad programa.

treca stvar: pri unosu u drvo ces poceti od glave (vrha stabla). uzmimo da ti je prvi kljuc prezime, a drugi JMBG. u prvom prolazu ce ti se tip )kakav god da je.... evo uzmimo za primjer da se preziva Berulovic i ima JMBG 952xxxxxxx2. on ce ti se postaviti kao vrh stabla. neka je sljedeca osoba Antimunovic sa JMBG 967xxxxxxx4. Poredit ces novi slog sa postojecim, i posto je primarni kljuc prezime, on ce skontati da je "A" < "B" i poctavit ce novi slog na lijevu stranu kao dijete postojeceg sloga (Berulovica). Da je bio JMBG primarni kljuc postavio bi ga desno, posto je JMBG drugog "veci" od JMBG-a prvog covjeka. tako ces kreirati stablo, pri cemu ce se uvijek naci mjesto odgovarajuce za novounesenog covjeka. neka te ne iritira sto je slovo "B" na vrhu stabla, jer pri pretrazivanju ces primjeniti slican algoritam... npr. Ti trazis Antimunovica.. poredit ces prvo slovo prvog prezimena sa prvim slovom prezimena u vrhu drveta, skontati da je "A" < "B" i ici lijevo.... onda ces ga naci... tako se to moze provuci kroz cijelo stablo. U Slucaju da treba dodati jos nekog "Antimunovica", trebas postaviti slucaj, da ako su ista prezimena (naravno, moras porediti sva slova od tezinskog faktora slijeva...pa tek ako su sva slova ista, isto je i prezime), onda se na osnovu drugog kljuca (istim fazonom) poredi gdje treba ici novi covjek... ako su identicni prezime i JMBG naravno da ces onemoguciti taj slucaj jer nema smisla.... eto ja mislim da sam ti barem dao neku ideju kako bi mogao rijesiti taj problem.

sretno,

visocicaguy

visit: http://www.smajevic.co.ba/amir

#4

Posted: 15/01/2005 23:47
by c4dinamit
pa ljudi ja da sam znao sat se trazi i sta treba raditi...ja bih to uradio sam :D

visocica...hvala ti...sad imam malo pojma sta treba uradit

#5

Posted: 15/01/2005 23:57
by Saian
pa covjeche ovo nije komplikovano, ne trebash excel iskodirat nego obichni binary tree :s sjedi i kucaj aloooooooooo studij je nije vecernja skola :roll:

#6

Posted: 21/01/2005 18:59
by neko iz mase
ako zelis da se malo i dokazes, dobra ideja bi ti bila da upotrijebis balansiranje stabla sa npr AVL algoritmom
http://ciips.ee.uwa.edu.au/~morris/Year ... 0/AVL.html
samo mali prijedlog za poboljsanje performansi programa

#7

Posted: 21/01/2005 19:05
by Saian
kakvo dokazivanje? ma joj on se ubi i s obichnim Tree-jem kakav Adel'son- Vel'skii and Landis, kakvo balansiranje pa valjda treba znat sta je napisao :x , kakav je ovo izopachen stav prema znanju i uchenju? ctrl+c /ctrl+p i loodilo joj joj :? :roll: :roll:

#8

Posted: 25/01/2005 00:14
by ulicar
Upravo :shock:
Saian wrote:Kakav je ovo izopachen stav prema znanju i uchenju? ctrl+c /ctrl+p i loodilo joj joj :? :roll: :roll: