1.zadaca-pomoc oko zadatka
Select messages from
# through # FAQ
[/[Print]\]
Idite na 1, 2, 3  Sljedeće  :| |:
Forum@DeGiorgi -> Strukture podataka i algoritmi

#1: 1.zadaca-pomoc oko zadatka Autor/ica: Sekanta PostPostano: 18:28 pet, 28. 10. 2011
    —
Moze pomoc oko ovog zadatka iz zadace iz spa. Glasi ovako:
Citat:

Implementirajte a.t.p. STACK pomoću pointera i napišite potprogram koji logički izraz iz infix oblika prebacuje u prefix oblik. Problem trebate riješiti pomoću stoga.


Ulazni podaci: string koji predstavlja logički izraz u infix obliku
Izlazni podaci: prikaz istog izraza u prefix obliku
Na primjer, za ulazne podatke:
A|B&(C^E|D)
treba ispisati:
|A&B|^CED
Napomena: &=AND, |=OR, ^=XOR, -=NOT; obratite pažnju na prioritete


Koje ja sad sve logicke operatore moram uzeti u obzir? Ako bi mi ih netko mogao sve nabrojat, i poredat po prioritetima bila bih jako zahvalna Smile

#2:  Autor/ica: vsegoLokacija: /sbin/init PostPostano: 4:27 sub, 29. 10. 2011
    —
Ja bih rekao da trebas implementirati ove pobrojane, a prioriteti (od najjaceg prema najslabijem su): NOT, AND, XOR, OR.

Inace, ne bi trebalo biti tesko definirati stvar na nacin da lako dodas jos operatora, ako zatreba (npr. definiras konstantni niz u kojem drzis operatore redom prioriteta i onda samo, ako treba, dodajes nove).

#3:  Autor/ica: Sekanta PostPostano: 11:01 sub, 29. 10. 2011
    —
Hvala puno! Smile Baš sam se nadala da ćete mi Vi odgovorit na pitanje, jer onda uvijek dobijem sve informacije što mi trebaju Smile

#4:  Autor/ica: michelangelo PostPostano: 0:47 ned, 30. 10. 2011
    —
da ne otvaram novu temu:
imam problem kod implementacije BTREE pomoću polja, točnije kod funkcije node CREATE(labeltype l, BTREE TL, BTREE TR, BTREE *T) ne dolazim na ideju za to. pa ako neko može dat hint barem, bila bi zahvalna Smile

#5:  Autor/ica: matmihLokacija: {Zg, De , Ri} PostPostano: 12:04 ned, 30. 10. 2011
    —
michelangelo (napisa):
da ne otvaram novu temu:
imam problem kod implementacije BTREE pomoću polja, točnije kod funkcije node CREATE(labeltype l, BTREE TL, BTREE TR, BTREE *T) ne dolazim na ideju za to. pa ako neko može dat hint barem, bila bi zahvalna Smile


Dakle, stvorite novu strukturu BTREE i u polje SPACE na odgovarajuću poziciju (0) stavite čvor s labeltype-om l, koi je korijen stabla. Ako su zadana stabla TR i TL, korijeni ta dva stabla su djeca od korijena stabla T (kopirate ih na odgovarajuću poziciju u polju SPACE, ovisno o tome kako ste reprezentirali djecu određenog čvora), ostale čvorove na jednaki način kopirate u polje SPACE stabla T.

Svakako kod implementacije morate znati koje je lijevo a koje desno dijete određenog čvora.

#6:  Autor/ica: michelangelo PostPostano: 13:54 ned, 30. 10. 2011
    —
tnx. mislim da sam skopčala. još jedno pitanje zadatak mi je stvorit novo stablo koje se sastoji samo od korijenskog čvora, koji mora dobiti oznaku c. dal je ovaj kod dobar za to?
void make_new(BTREE *B, labeltype c)
{
BTREE Br,Bl;
MAKE_NULL(&Br);
MAKE_NULL(&Bl);
node i=CREATE(c,Br,Bl,&B);
}

#7:  Autor/ica: matmihLokacija: {Zg, De , Ri} PostPostano: 15:22 ned, 30. 10. 2011
    —
michelangelo (napisa):
tnx. mislim da sam skopčala. još jedno pitanje zadatak mi je stvorit novo stablo koje se sastoji samo od korijenskog čvora, koji mora dobiti oznaku c. dal je ovaj kod dobar za to?
void make_new(BTREE *B, labeltype c)
{
BTREE Br,Bl;
MAKE_NULL(&Br);
MAKE_NULL(&Bl);
node i=CREATE(c,Br,Bl,&B);
}


Ovo bi trebalo raditi.
Predlažem da testirate svaku funkciju posebno dok implementirate stablo.
Inače će vam se nakupiti više grešaka pa nećete znati gdje je što krivo.

#8:  Autor/ica: integral PostPostano: 19:50 ned, 30. 10. 2011
    —
Molio bih za pomoć oko zadatka:

Implementirajte a.t.p. LIST pomoću pointera i napišite funkciju
void INSERTION_SORT (LIST L1, LIST *L2)
za sortiranje liste. Program treba omogućiti sortiranje silazno i uzlazno.


Ulazni podaci: broj članova liste, članovi liste, način sortiranja
Izlazni podaci: sortirana lista
Na primjer, za ulazne podatke:
5
7 3 8 5 2
silazno
treba ispisati:
8 7 5 3 2


Hvala.

#9:  Autor/ica: CROmpir PostPostano: 20:39 ned, 30. 10. 2011
    —
Mislim da bi trebao objasnit svoj problem u tom zadatku... Tako ces lakse naci pomoc, jer nemozes ocekivati da netko to umjesto tebe napravi...

#10:  Autor/ica: integral PostPostano: 20:57 ned, 30. 10. 2011
    —
Moj je problem u tome da mi postane slabo dok otvorim skriptu iz kolegija "Struktura podataka i algoritmi", a kamoli dok počnem čitati ono što je u njoj napisano. Mrzim programiranje i očajan sam u pogledu toga kao ću položiti taj kolegij. Priznajem da je bilo neprimjereno očekivati da mi netko napiše rješenje, pa mi oprostite zbog toga.

#11:  Autor/ica: michelangelo PostPostano: 21:48 ned, 30. 10. 2011
    —
probaj barem nešto napisat, kad sa otvorila zadaću i pokrenula code blocks nisam više znala include napisat. budeš nekako. i oćeš se mijenjat za zadaću? Smile

#12:  Autor/ica: CROmpir PostPostano: 23:29 ned, 30. 10. 2011
    —
Imam jedno pitanje,

Kako u atp. BTREE, definirati LAMBDA?? Razz

i kako implementirati PARENT funkciju...

hvala

#13:  Autor/ica: matmihLokacija: {Zg, De , Ri} PostPostano: 1:42 pon, 31. 10. 2011
    —
CROmpir (napisa):
Imam jedno pitanje,

Kako u atp. BTREE, definirati LAMBDA?? Razz

i kako implementirati PARENT funkciju...

hvala


Definicija LAMBDE ovisi o tome što su vam čvorovi.
Ako recimo u stablu imate cijelobrojne oznake (prirodne brojeve), onda možete definirati da vam je LAMBDA -1 recimo.

Implementacija PARENT funkcije također ovisi o tome na koji način morate implementirati BTREE (polje, pointeri...), uglavnom imat ćete ili pointer na roditelja ili kursor na roditelja. Funkcija parent onda samo pročita taj podatak.

#14:  Autor/ica: CROmpir PostPostano: 12:13 pon, 31. 10. 2011
    —
Imam implementaciju pomocu pointera, a sad za PARENT funkciju stvarno nemam ideje... :p

Cvorovi mi sadrze velika slova... npr. 'A'...

#15:  Autor/ica: pravipurger PostPostano: 12:16 pon, 31. 10. 2011
    —
1. Kada implementiram LIST preko pointera u zadaći da li trebam napisati funkciju PREVIOUS() za koju skripta kaže da je neefikasna, ali dz kaže "potrebno napraviti sve funkcije koje su navedene kod definicije tog atp-a"?

2. Da li kad mi ćelija sadrži koeficijent, eksponent i pointer trebam pisati dvije funckije RETRIEVE1 i RETRIEVE2, jednu koja vraća koef, drugu koja vraća exp ili jednu koja će vraćati nešto drugo?

#16:  Autor/ica: matmihLokacija: {Zg, De , Ri} PostPostano: 13:28 pon, 31. 10. 2011
    —
pravipurger (napisa):
1. Kada implementiram LIST preko pointera u zadaći da li trebam napisati funkciju PREVIOUS() za koju skripta kaže da je neefikasna, ali dz kaže "potrebno napraviti sve funkcije koje su navedene kod definicije tog atp-a"?

2. Da li kad mi ćelija sadrži koeficijent, eksponent i pointer trebam pisati dvije funckije RETRIEVE1 i RETRIEVE2, jednu koja vraća koef, drugu koja vraća exp ili jednu koja će vraćati nešto drugo?


1. Ako u zadaći kaže napisati sve funkcije, onda morate napisati sve funkcije. Smile

2. U ATP postoji samo jedna funkcija RETRIEVE i samo tu morate implementirati, ona vraća element koji se nalazi na poziciji p u listi. Dakle vraća element, kojeg god tipa on bio u vašem zadatku.

#17:  Autor/ica: CROmpir PostPostano: 14:29 pon, 31. 10. 2011
    —
Moze li mi netko pomoci oko implementacije funkcije PARENT u BTREE a.t.p-u pomocu pointera... Ne kuzim kako da to napravim... Sad

U skripti sugerira da dodamo jos jedno celiju pointera na parent? I smijemo li to koristiti s obzirom da vise CREATE nije onakakva funkcija kakva bi trebala biti imala bi jos jedan parametar ako se ne varam...

Ima li mozda nekakvu ideju ili moze bilo kakva pomoc...

#18:  Autor/ica: matmihLokacija: {Zg, De , Ri} PostPostano: 18:17 pon, 31. 10. 2011
    —
CROmpir (napisa):
Moze li mi netko pomoci oko implementacije funkcije PARENT u BTREE a.t.p-u pomocu pointera... Ne kuzim kako da to napravim... Sad

U skripti sugerira da dodamo jos jedno celiju pointera na parent? I smijemo li to koristiti s obzirom da vise CREATE nije onakakva funkcija kakva bi trebala biti imala bi jos jedan parametar ako se ne varam...

Ima li mozda nekakvu ideju ili moze bilo kakva pomoc...


Predlažem da poslušate skriptu. Smile

Ne vidim razloga za dodatni parametar u funkciji CREATE. Pri stvaranju stabla unutar funkcije CREATE možete namjestiti parent pointere bez dodatnih parametara. Parent pointer za korijen je ionako null. Kod inserta imate sve potrebne informacije.

#19:  Autor/ica: CROmpir PostPostano: 23:35 pon, 31. 10. 2011
    —
Moze li mi netko pomoci oko nacina unosa BINARNOG STABLA...

Bio bih mu jako zahvalan posto me to jako muci...


I imam pitanje u vezi implementacije, jel ovo u redu??


Kod:
node CREATE(labeltype l, BTREE TL, BTREE TR, BTREE *Tptr){
       *Tptr=(celltype *)malloc(sizeof(celltype));
       (*Tptr)->label=l;
       (*Tptr)->leftchild=TL;
       (*Tptr)->rightchild=TR;
   return (*Tptr);
}
 
node INSERT_LEFT_CHILD ( labeltype l, node i, BTREE *T){
     node novi;
 
       novi=CREATE(l,LAMBDA,LAMBDA,T);
       i->leftchild=novi;
       return (i->leftchild);
}
 
node INSERT_RIGHT_CHILD ( labeltype l, node i, BTREE *T){
     node novi;
 
       novi=CREATE(l,LAMBDA,LAMBDA,T);
       i->rightchild=novi;
       return (i->rightchild);
}

#20:  Autor/ica: matmihLokacija: {Zg, De , Ri} PostPostano: 18:23 uto, 1. 11. 2011
    —
CROmpir (napisa):
Moze li mi netko pomoci oko nacina unosa BINARNOG STABLA...

Bio bih mu jako zahvalan posto me to jako muci...


I imam pitanje u vezi implementacije, jel ovo u redu??


Kod:
node CREATE(labeltype l, BTREE TL, BTREE TR, BTREE *Tptr){
       *Tptr=(celltype *)malloc(sizeof(celltype));
       (*Tptr)->label=l;
       (*Tptr)->leftchild=TL;
       (*Tptr)->rightchild=TR;
   return (*Tptr);
}
 
node INSERT_LEFT_CHILD ( labeltype l, node i, BTREE *T){
     node novi;
 
       novi=CREATE(l,LAMBDA,LAMBDA,T);
       i->leftchild=novi;
       return (i->leftchild);
}
 
node INSERT_RIGHT_CHILD ( labeltype l, node i, BTREE *T){
     node novi;
 
       novi=CREATE(l,LAMBDA,LAMBDA,T);
       i->rightchild=novi;
       return (i->rightchild);
}


Binarno stablo unosite tako da ga prvo stvorite s funkcijom CREATE, a zatim dodajete čvorove pomoću funkcija INSERT_LEFT/RIGHT_CHILD

Ove implementacije INSERT_LEFT/RIGHT_CHILD neće baš raditi što bi trebale. Vi pri svakom pozivu stvarate novo stablo T, pošto pozivate funkciju CREATE (pročitajte u službenom šalabahteru što ta funkcija radi). Ono što funkcije INSERT trebaju raditi je dodati čvor u već postojeće stablo, što znači da u stablu T, dodajete lijevo/desno dijete čvoru i.



Forum@DeGiorgi -> Strukture podataka i algoritmi


output generated using printer-friendly topic mod. Vremenska zona: GMT + 01:00.

Idite na 1, 2, 3  Sljedeće  :| |:
Stranica 1 / 3.

Powered by phpBB © 2001,2002 phpBB Group
Theme created by Vjacheslav Trushkin