[ blasko222 @ 11.03.2010. 09:56 ] @
Molim hitno za pomoć! Imam sledecu strukturu binarnog stabla: typedef struct cell tag { labeltype label; struct cell tag *leftchild; struct cell tag *rightchild; } celltype; typedef celltype *node; typedef celltype *BTREE; Trebaju mi kodovi za sledece f-je: MAKE NULL(&T) . . . funkcija pretvara binarno stablo T u prazno binarno stablo. EMPTY(T) . . . funkcija vra´ca “istinu” ako i samo ako je T prazno binarno stablo. CREATE(l,TL,TR,&T) . . . funkcija stvara novo binarno stablo T, kojem je lijevo podstablo TL, a desno pod-stablo TR (TL i TR moraju biti disjunktni). Korijen od T dobiva oznaku l. LEFT SUBTREE(T,&TL), RIGHT SUBTREE(T,&TR) . . . funkcija preko parametra TL odnosno TR vra´ca lijevo odnosno desno pod-stablo binarnog stabla T. Nije definirana ako je T prazno. INSERT LEFT CHILD(l,i,&T), INSERT RIGHT CHILD(l,i,&T) . . . funkcija u binarno stablo T ubacuje novi ˇcvor s oznakom l, tako da on bude lijevo odnosno desno dijete ˇcvora i. Funkcija vra´ca novi ˇcvor. Nije definirana ako i ne pripada T ili ako i ve´c ima dotiˇcno dijete. DELETE(i,&T) . . . funkcija izbacuje list i iz binarnog stabla T. Nije definirana ako i ne pripada T ili ako i ima djece. ROOT(T) . . . funkcija vra´ca korijen binarnog stabla T. Ako je T prazno, vra´ca LAMBDA. LEFT CHILD(i,T), RIGHT CHILD(i,T) . . . funkcija vra´ca lijevo odnosno desno dijete ˇcvora i u binarnom stablu T. Ako i nema dotiˇcno dijete, vra´ca LAMBDA. Nije definirana ako i ne pripada T. PARENT(i,T) . . . funkcija vra´ca roditelja ˇcvora i u binarnom stablu T. Ako je i korijen, tada vra´ca LAMBDA. Nije definirana ako i ne pripada T. LABEL(i,T) . . . funkcija vra´ca oznaku ˇcvora i u binarnom stablu T. Nije definirana ako i ne pripada T. CHANGE LABEL(l,i,&T) . . . funkcija mijenja oznaku ˇcvora i u stablu T, tako da ta oznaka postane l. Nije definirana ako i ne pripada T. Svaka pomoc je dobrodosla.Urgentno je!Ako neko vec ima implementacije ovih f-ja neka mi posalje na [email protected]. Hvala. Za programersku solidarnost! |