• Welcome to TUKE FÓRUM - Fórum pre študentov Technickej Univerzity v Košiciach.
 

Údajové štruktúry a algoritmy

Started by Shwollo, 21.09.2010, 16:37:14

« predchdzajce - alie »

GayLordYebal


v_oid

Koli tomu nicku ti helfneme. Co nevies? :P

ursus

stack cez array hadam vies, cez list push okopiruj ako upraveny insert z list_src, printstack takisto, jediny deal tam mozno je ze pri queue nemozes dvihat tie indexy cez ++ ale cez tu funkciu succ
So this router walks into the doctor's office...
- Doctor, it hurts when IP.

totaluser

nevedel by niekto prosim poradit s tym Queue ako implementovat tie funkcie?
lebo zacinam byt v koncoch
mal som povodne urobene dequeue tak, ze som popresuval vsetky prvky pola o 1 spat a nasledne rear posuniem o 1 spat, ale tam je problem s tym ze posledny prvok je na pozicii 0 a nie na poslednej pozicii pola

teraz to mam urobene tak, ze prvky nepresuvam smerom spat, ale jednoducho posuvam Front smerom vzad
to je fajn pri volani dequeue (s rear nerobim nic)
no ked chcem opat zavolat enqueue tak to zacne plnit od pozicie 0 a nie od pozicie 1 (lebo rear je na hodnote Capacity a enqueue vyuziva Succ, teda vrati 0)

akukolvek radu uvitam

sulo

Neviem, ako presne to máš spravené, ale v Dequeue by si mal hodnotu Front zvyšovať (pomocou Succ). Čo sa týka zapisovanie do Q->Array[0], tak pokiaľ všetko funguje, nie je to samo o sebe chyba.

antil kiprest

#105
mam taky problem, ked skompilujem (bez errorov a warningov) projekt stiahnuty z 3 cvika a dam run vyhodi mi to 'source file not compiled' ..  a ked to skusim cez 'compile and run' iba mi hodi na vystup 'pokracujte stlacenim lubovolnej klavesy . . . '  wtf? poradte pls

EDIT:  ok, nic... debil som :D berem spät vsetko.......
bravčové krídielka a náhradu sóje poprosím!!

antil kiprest

Quote
Úloha:  Vytvorte implementáciu ADT List, ktorá umožňuje realizovať operácie Cut a Cat v čase O(1).

co sa mysli tym "v case O(1)" ?
bravčové krídielka a náhradu sóje poprosím!!

tommy-sv

Quote from: antil kiprest on  17.10.2010, 16:49:34
Quote
Úloha:  Vytvorte implementáciu ADT List, ktorá umožňuje realizovať operácie Cut a Cat v čase O(1).

co sa mysli tym "v case O(1)" ?

V konstantnom case, nezavisleho od poctu prvkov zoznamu.
O(n) je napr. linearna narocnost, rastie umerne s poctom prvkov - to su napr. f() ktore pouzivaju cyklus na prechadzanie zoznamov (hladanie posl. elementu napr.).

http://en.wikipedia.org/wiki/Big_O_notation
"Čím skôr zomrieš, tým dlhšie budeš mŕtvy."
"Radšej viac vypiť, ako menej zjesť."

Shwollo

nepíšte mi SS - radšej mi píšte mail. (tá obálka pod mojim avatarom :)))

totaluser

#109
Quote from: sulo on  13.10.2010, 19:55:47
Ja som tie zoznamy nekopíroval, len som menil smerníky. Tým pádom sa CUT vykoná v konštantnom čase (smerník na danú položku už máme ako parameter, takže zoznamom netreba prechádzať).

Čo sa týka operácie CAT, tam potrebujeme prejsť na koniec prvého zoznamu, čo už je O(n). Dalo by sa to obísť napríklad tak, že pre každý zoznam budeme v nejakej premennej uchovávať referenciu na posledný prvok zoznamu. Túto referenciu budeme pri každom pridaní alebo odstránení posledného prvku meniť. V operácii CAT potom už len použijeme tento smerník, čiže sa vykoná v čase O(1).

len o 2 strany spat mas riesenie


//edit:
rad by som sa opytal na tuto ulohu z cvicenia 5
Úloha: Pridajte podporu operácie PrintLeft, ktorá vypíše hodnoty uzlov na ceste od koreňa vľavo až po dosiahnutie listu.

Prototyp operácie PrintLeft:


void PrintLeft ( Tree T );


ake uzly by to malo vypisovat, lebo teraz si nedal ani tu namaju aby dal obrazok s textom ze to je jasne z obrazka  8)

v prilohe su 2 obrazky a ja by som rad vedel ci ten USaA_tree.png je korektne riesenie (vypisuje iba najlavejsie prvky na kazdej urovni) alebo je korektne to druhe (vypisuje lave prvky od korena)

vdaka


sulo

Skôr by som povedal, že to prvé, keďže je tam "listu" a nie "listov", ale je to dosť nejasné.

Shwollo

#111
pls čo presne robí tento príkaz?
G->visited[n] = 0;

a čo znamená -> ??
nepíšte mi SS - radšej mi píšte mail. (tá obálka pod mojim avatarom :)))

ursus

So this router walks into the doctor's office...
- Doctor, it hurts when IP.

neucilasom

Bol by niekto tak dobry a dal sem este raz tie vypocty zlozitosti z 2. cvika . Ked nic ine aspon casovu a bolo by super aj s vysvetlenim diky moc

neucilasom


totaluser

Quote from: ursus on  18.10.2010, 23:55:47
ste culi jak s nami vypekol?  ;D
kto a ako?
sak nebud taky skupy na slovo :hug:

palechandro

Quote from: totaluser on  19.10.2010, 00:25:06
Quote from: ursus on  18.10.2010, 23:55:47
ste culi jak s nami vypekol?  ;D
kto a ako?
sak nebud taky skupy na slovo :hug:

predpokladam ze mysli simonaka, ktory sa rozhodol ze nebude davat prednasky na moodle lebo ludia nechodia na prednasky. ale na ftp by to snad malo byt.
-teda aspon tak som pocul

Robokop

onee... ludia ja sa vratim trosku v casu a opytam sa ci sa nenajde nejaka dusa dobra, co by mi za pivecko vysvetlil hentu hlupu zlozitost v druhom cviku, lebo koreckovi len otrepat klavesnicu  bu ;Dvu

antil kiprest

QuoteÚloha:  Pridajte podporu operácie PrintStack, ktorá vypíše obsah zásobníka, bez jeho modifikácie.

ten vypis ma zacinat topom zasobnika alebo opacne??
bravčové krídielka a náhradu sóje poprosím!!

dEVIANT

Quote from: antil kiprest on  19.10.2010, 15:18:47
QuoteÚloha:  Pridajte podporu operácie PrintStack, ktorá vypíše obsah zásobníka, bez jeho modifikácie.

ten vypis ma zacinat topom zasobnika alebo opacne??

Topom
Nie je nič nákazlivejšie ako rozhodný a presvedčením sa vyznačujúci život.

lecter

Quote from: Shwollo on  18.10.2010, 20:27:11
pls čo presne robí tento príkaz?
G->visited[n] = 0;

a čo znamená -> ??
priradenie

antil kiprest

Quote from: dEVIANT on  19.10.2010, 15:30:50
Quote from: antil kiprest on  19.10.2010, 15:18:47
QuoteÚloha:  Pridajte podporu operácie PrintStack, ktorá vypíše obsah zásobníka, bez jeho modifikácie.

ten vypis ma zacinat topom zasobnika alebo opacne??

Topom

diks!!
bravčové krídielka a náhradu sóje poprosím!!

Painkiller03

spýtam sa narovinu= kto predá zrobené cviká (2 až 5 ) :-D

sulo

Quote from: Shwollo on  18.10.2010, 20:27:11
pls čo presne robí tento príkaz?
G->visited[n] = 0;

a čo znamená -> ??

Vymaže príznak, že daný uzol grafu bol už navštívený (teda nastaví, že ešte nebol navštívený).

-> je operátor prístupu k záznamu pomocou smerníka. Ak máme štruktúru a smerník na ňu:

struct GraphRecord {
      int visited[max];
      ...
};
typedef struct GraphRecord *Graph;
Graph G = ...;

potom
G->visited[n]
je to isté ako:
(*G).visited[n]

ursus

So this router walks into the doctor's office...
- Doctor, it hurts when IP.