Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Gde i zašto se koriste povezane liste? (bilo: Pistanje oko lista)

[es] :: C/C++ programiranje :: Gde i zašto se koriste povezane liste? (bilo: Pistanje oko lista)

[ Pregleda: 3848 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

flx

Član broj: 41193
Poruke: 56
*.nat-pool.bgd.sbb.co.yu.



+1 Profil

icon Gde i zašto se koriste povezane liste? (bilo: Pistanje oko lista)07.01.2005. u 14:23 - pre 235 meseci
Imam jedno opste pitanje.
Gde se najcesce i zasta upotrebljavaju liste iz C-a?

Hvala.


[Ovu poruku je menjao filmil dana 16.01.2005. u 12:58 GMT+1]
 
Odgovor na temu

WEXY
Beograd

Član broj: 33948
Poruke: 163
*.vdial.verat.net.

ICQ: 166638118


+7 Profil

icon Re: Pistanje oko lista08.01.2005. u 00:25 - pre 235 meseci
Liste su u stvari ništa drugo do nizovi, međutim razlikuju se i zbog toga se najčešće koriste jer veličina niza kreirana pomoću ulančanih listi ne mora biti poznata na početku izvršavanja programa kao što je to slučaj sa običnim nizovima. Znači možeš im usvakom momentu povećati ili smanjiti broj članova.

Takođe korisne su i ako ti treba niz sa kojim ćeš moći lako da manipulišeš u smislu ubacivanja i izbacivanja članova, samo je potrebno da dealociras memoriju i prevežeš susedne članove što nije slučaj sa običnim nizovima kod kojih bi morao da pomeraš članove u levo i pamtiš index svaki put sto dovodi do usporenja, pogotovo ako se radi o većim nizovima. Ubacivanje članova u ulančanu listu je takođe dosta jednostavno, opet je poenta u prevezivanju članova koji će biti susedni tom članu, za razliku od običnih nizova gde je nemoguće (koliko je meni poznato) ubaiciti član i proširiti niz.

Liste mogu da budu jednostruko, dvostruko ulančane i tada se ponašaju kao niz po kome možeš da se kreces u jednom (od početka do kraja) ili u oba smera.

Na sličan način se mogu praviti i liste sa grananjem (kao drvo, sa različitim putanjama, granama) mada to nikad nisam koristio pa o tome može neko drugi da napiše nešto.
"Nutri-matik je konstruisala i izradila Sirijuska kibernetska korporacija čije odeljenje za žalbe sada prekriva sve glavne kopnene mase prve tri planete zvezde Tau iz sistema Sirijusa"
 
Odgovor na temu

franticnick

Član broj: 19656
Poruke: 372
212.62.46.*

Sajt: www.franticnick.com


+30 Profil

icon Re: Pistanje oko lista09.01.2005. u 14:53 - pre 234 meseci
Liste pruzaju veliku slobodu pri radu i mnogo su bolje od nizova. Sve sto je WEXY rekao stoji, samo bih jos predlozio da ako planiras da koristis liste malo proucis STL (Standard Template Library). Pomocu STL-a zivot ce ti biti mnogo laksi.

Radio sam sa listama koje se granaju i ako te bas zanima mogu da iskopam neke skripte i posaljem ovde. Ovakve liste imaju realnu primenu samo u resavanju vrlo retkih i specificnih problema. Mala je verovatnoca da ce ti ikada zatrebati.
 
Odgovor na temu

Dejan Lozanovic
Dejan Lozanovic
Beograd

Član broj: 691
Poruke: 2325
*.vdial.verat.net.

Jabber: null@elitesecurity.org
Sajt: speedy-order.com


+75 Profil

icon Re: Pistanje oko lista09.01.2005. u 15:38 - pre 234 meseci
Citat:
WEXY: Na sličan način se mogu praviti i liste sa grananjem (kao drvo, sa različitim putanjama, granama) mada to nikad nisam koristio pa o tome može neko drugi da napiše nešto.


Pa liste sa grananjem ili drveta kako su krstili po domacoj literaturi su dobra jer problem koji traje N ciklusa oni obicno spuste na log N. Sto je znacajno ubrzanje. Primera radi zamisli listu od milion clanova ( recimo registarske tablice na automobilima), i sada ako ti treba neki broj recimo 350472

ti treba da u listi da protrcis kroz 350472 clana dok ne naidjes na pravi, dok kod binarnog drveta u prvom koraku si na vrhu stabla tj rcimo na broju 500 000, levi clan pokazuje manju cifru a desni vecu znaci skok na levi clan bi te odveo do broja 250 000 a desni na 750 000. Pa ona skocis na onaj levo koji je na 250 000, zatim odatle levo skaces na 125 000 a desno na 375 000 itd... i na taj nacin ti si kroz 10-15 koraka dosao do trazenog broja :). Ovakvi algoritmi se dosta koriste recimo kod pravljenja baza podataka i kreiranja njihovih indeksa.
 
Odgovor na temu

flx

Član broj: 41193
Poruke: 56
*.nat-pool.bgd.sbb.co.yu.



+1 Profil

icon Re: Pistanje oko lista09.01.2005. u 16:07 - pre 234 meseci
Ljudi hvala puno na odgovorima.
franticnick ako ti nije tesko da to okacis ovde,voleo bih da vidim te skripte.

Hvala jos jednom.
 
Odgovor na temu

WEXY
Beograd

Član broj: 33948
Poruke: 163
213.244.197.*

ICQ: 166638118


+7 Profil

icon Re: Pistanje oko lista09.01.2005. u 21:43 - pre 234 meseci
Takođe bi dodao, da je jedini problem sa listama taj sto se nemože direktno prostupiti bilo kojem članu liste već se mora prolaziti kroz celu listu dok ne dođemo do željenog podatka.

@Dejan Lozanovic
Primer je baš pogodak u centar, što se tiče listi sa grananjem :) Meni je padalo na pamet da se takav vid organizacije podataka može iskoristiti za potrebe nekog logičkog povezivanja objekta, npr. gradovi koji su povezani po nekim pravilima se mogu na takav način predstaviti u memoriji, tipa: grad.najbize_mesto, grad.dobija_vodu_iz, grad.dobija_struju_iz itd :)
"Nutri-matik je konstruisala i izradila Sirijuska kibernetska korporacija čije odeljenje za žalbe sada prekriva sve glavne kopnene mase prve tri planete zvezde Tau iz sistema Sirijusa"
 
Odgovor na temu

franticnick

Član broj: 19656
Poruke: 372
212.62.46.*

Sajt: www.franticnick.com


+30 Profil

icon Re: Pistanje oko lista09.01.2005. u 22:12 - pre 234 meseci
Citat:
flx: Ljudi hvala puno na odgovorima.
franticnick ako ti nije tesko da to okacis ovde,voleo bih da vidim te skripte.

Hvala jos jednom.


Dakle, evo linka ka onome sto sam ja nekada ucio :) http://www.puskice.co.yu/lat/treca/strukture_podataka.php.

Hteo sam da ti posaljem moje fajlove ali sam naleteo na ovaj link koji sadrzi daleko vise materijala nego sto ja imam:) Pogledaj fajlove puskica1 i 2. Mislim da tu imas sazeto sve sto ti treba iz ove oblasti (verujem i vise). A tu su i primeri da vidis kako se sve to implementira.

PS
U svakom slucaju hvala i tebi za pitanje, jer nije lose podsetiti se ovih stvari.

Poz.
 
Odgovor na temu

[es] :: C/C++ programiranje :: Gde i zašto se koriste povezane liste? (bilo: Pistanje oko lista)

[ Pregleda: 3848 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.