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

AVL tree i Hash table

[es] :: C/C++ programiranje :: AVL tree i Hash table

[ Pregleda: 3703 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

lana84
svetlana
australija

Član broj: 10524
Poruke: 5
*.a.002.gct.iprimus.net.au

ICQ: 84271168


Profil

icon AVL tree i Hash table18.05.2003. u 04:09 - pre 254 meseci
imam projekat iz c/unix, i jednostavno mi nije jasno kako da ga zapocnem, a kamoli zavrsim, tako da mi treba mala pomoc :)

ovako, projekat trazi sledece:

da se napise program u C koji cita text iz 'stdin', identifikuje reci, i dodaje ih u AVL drvo koristeci strcmp funciju za upisivanje u drvo. ako program naleti na rec koja vec nije u drvetu, dodaje je u drvo, u drugom slucaju je ignorise i gleda za sledecu. drvo mora da bude balansirano.

sva slova moraju biti mala slova tako da se The i the tretiraju kao ista rec.

rec se sastoji od slova (a...z, A...Z). - i ' nisu validni. kada je u pitanju - onda slova ispred - se tretira kao jedna rec i reci posle - se tretiraju kao druga rec. kada je u pitanju ', onda se samo slova ispred ' tretiraju kao rec, oni posle se ignoriraju. reci koje sadrze brojeve se ignorisu. reci takodjer moraju biti duze od dva slova.

kada se ceo dokument (ili unos sa keyboard) procesiraju, tada broj nodova i maximalna dubina drveta moraju biti reportovani u 'stdout', npr

Number of nodes in tree is 472
Height of tree is 9

reci moraju biti napisane po alfabeticnom redu. Reci moraju biti sacuvane u dict.txt, deleci svaku rec sa novom linijom, npr

all
alphabetical
can
found

te reci gore bi predstavljale recnik uzet za prvu recenicu ovog paragrafa i sacuvan u dict.txt - koji bi izbacio sve reci manje od 3 slova.

program mora uzeti input kroz stdin i binarno drvo za kolektovanje reci (ili pointera reci ili struktura), drvo mora biti balansirano dok se upisuje vise inputa. sortirana lista reci mora biti sacuvana u file dict.txt. maximalni broj unikatnih reci je 500 sa maximalnim brojem duzine reci od 15.

drugi deo programa je:

treba se napisati program koji cita file dict.txt (iz proslog dela) i dodaje reci u hash tablu.

program treba da cita text iz 'stdin', identifikuje reci na isti nacin kao i u prvom delu i proverava ih u recniku hash table. ako nema iste reci u hash tabli, onda cela rec treba da se reportuje na stderr zajedno sa brojem linije i pozicijom karaktera.

program mora koristiti hash tablu da bi sacuvao reci iz recnika (ili pointere reci ili struktura). kao i u proslom delu, maximalni broj reci je 500 u recniku sa maximalnim brojem karaktera od svake reci 15. velicina reci i strim upisivanja mora biti proveren odmah.

hvala
 
Odgovor na temu

leka
Dejan Lekić
senior software engineer, 3Developers
Ltd.
London, UK

Član broj: 234
Poruke: 2534
*.telia.com

Sajt: dejan.lekic.org


+2 Profil

icon Re: AVL tree i Hash table18.05.2003. u 19:59 - pre 254 meseci
Svetlana, ovo je tipičan "zadatak" u školama ...
Moram pre svega da ukažem na jednu malenu grešku - strcmp() je standardna funkcija za poređenje stringova, a ne funkcija za dodavanje u stablo...

Što se tiče rešavanja tvog problema... stvar je više vezana za drugu diskusionu grupu koja se zove teorija programiranja (po meni) nego za C++. Zašto? - AVL stabla, balansirana stabla, hash tabele su nešto što predstavlja bazne stvari kad je programiranje u pitanju i mislim da bi bilo okej da se ovo prebaci na teorija programiranja. :)

Što se tiče realizacije tvog programa - tvoj problem je rešen u knjizi koja se zove "Mastering Algorithms in C", jedna od najboljih knjiga koje imam u svojoj kućnoj biblioteci a koja se bavi dinamičkim strukturama podataka, algoritmima i numeričkim metodama (moja omiljena grana matematike, zajedno sa diskretnom matematikom). Predlažem ti da KUPIŠ tu knjigu i da je pročitaš nekoliko puta dok sve iz nje ne naučiš, kad sve to naučiš slobodno možeš sebe da zoveš programerom. Ozbiljan sam.

Da se vratimo na temu - tvoj problem je autor Kyle Laudon obradio u poglavlju 12 Sorting and Searching sekcija Binary Search Example: Spell Checking.

U pomenutoj knjizi su takođe obrađena i AVL (Adel'son-Vel'skii and Landis) stabla, kao i hash tabele.

P.S. naravno nije CEO tvoj problem rešen! - Rešene su bazne stvari, tako da u toj knjizi imaš dobru podlogu na kojoj možeš rešiti svoj problem.
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
 
Odgovor na temu

t3chX
Srđan Rajčević
Thessaloniki

Član broj: 2509
Poruke: 101
*.salonica.access.acn.gr

Jabber: techx@elitesecurity.org


Profil

icon Re: AVL tree i Hash table18.05.2003. u 22:55 - pre 254 meseci
"Data structures in C++" by Angela B. Shiflet moze pomoći ... Iako za Cpp applicable je.
If you want to get anywhere in your life, don't break the rules - make them !
 
Odgovor na temu

lana84
svetlana
australija

Član broj: 10524
Poruke: 5
*.a.002.gct.iprimus.net.au

ICQ: 84271168


Profil

icon Re: AVL tree i Hash table19.05.2003. u 02:30 - pre 254 meseci
da, ja sam skolarac :). nemam ni sama pojma koji me je vrag naterao da studiram informatiku, ali eto, nadje se :). u svakom slucaju puno vam hvala, probacu da nadjem te knjige, valjda ce nesto ispasti od toga jer ipak to moram da predam za nedelju dana. gore verovatno prevod zadatka i nije bas najbolji, jer assignment je na engleskom, ali eto, potrudih se.

jos jednom hvala.

ceca
 
Odgovor na temu

Riste Pejov
Team Leader/Senior Software Developer @
Ein-Sof ltd Skopje
Skopje, Macedonia

Član broj: 128
Poruke: 571
62.162.102.*

Jabber: richie@bagra.net.mk
ICQ: 154236769
Sajt: riste.softver.org.mk


Profil

icon Re: AVL tree i Hash table19.05.2003. u 10:30 - pre 254 meseci
Jednom davno, i ja sam imao slican zadatak, pa eto nasao dosta dobro objasnenje i kod o AVL drva ovde: http://www.cmcrossroads.com/br...ftp/src/libs/C++/AvlTrees.html
isto mozes pogledati http://www.oopweb.com/Algorithms/Files/Algorithms.html fenomenalan resurs o algoritmima :)
People who think they know everything tend to irritate those of us who do.
 
Odgovor na temu

leka
Dejan Lekić
senior software engineer, 3Developers
Ltd.
London, UK

Član broj: 234
Poruke: 2534
*.racasse.se

Sajt: dejan.lekic.org


+2 Profil

icon Re: AVL tree i Hash table19.05.2003. u 11:32 - pre 254 meseci
Citat:
lana84:
da, ja sam skolarac :). nemam ni sama pojma koji me je vrag naterao da studiram informatiku, ali eto, nadje se :).


Ceco,
nema veze sto si skolarac, u programiranju jedino sto je bitno je volja, i NE-mrznja matematike! :) Sto se tvog zadatka tice, mozemo skupa da resavamo deo po deo i diskutujemo sve ovde, ali ne ocekuj da mi odradimo tvoj posao - gde zapne, ti posalji svoj kod, mi cemo proanalizirati, pronaci greske, eventualno unaprediti i slicno...

Nemoj se stiditi da ista pitas sto ne razumes... :)

Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
 
Odgovor na temu

lana84
svetlana
australija

Član broj: 10524
Poruke: 5
*.a.004.gct.iprimus.net.au

ICQ: 84271168


Profil

icon Re: AVL tree i Hash table19.05.2003. u 12:41 - pre 254 meseci
'I PROMISE' da se necu stiditi :) hvala ti u svakom slucaju, nadam se da je ne-persiranje ok :)

ceca

e-mail adrese cu proveriti sada, nadam se da ce biti helpful :)

caos
 
Odgovor na temu

leka
Dejan Lekić
senior software engineer, 3Developers
Ltd.
London, UK

Član broj: 234
Poruke: 2534
*.racasse.se

Sajt: dejan.lekic.org


+2 Profil

icon Re: AVL tree i Hash table19.05.2003. u 14:48 - pre 254 meseci
Hmm, kakve e-mail adrese?
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
 
Odgovor na temu

leka
Dejan Lekić
senior software engineer, 3Developers
Ltd.
London, UK

Član broj: 234
Poruke: 2534
*.racasse.se

Sajt: dejan.lekic.org


+2 Profil

icon Re: AVL tree i Hash table19.05.2003. u 15:03 - pre 254 meseci
Hehe, bravo ja!
- Setio sam se jednog odlicnog linka na koji sam pre par godina naleteo, a koji SAVRSENO objasnjava razne vrste stabala, ne samo AVL!

http://www.seanet.com/users/arsen/avltree.html

Ovo treba svako da pogleda! A takodje i JAVA programeri, da vide kako covek napravi dobar JAVA applet. :) Svaka mu cast!
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
 
Odgovor na temu

lana84
svetlana
australija

Član broj: 10524
Poruke: 5
*.a.003.gct.iprimus.net.au

ICQ: 84271168


Profil

icon Re: AVL tree i Hash table20.05.2003. u 06:38 - pre 254 meseci
mislila sam na web adrese sto je poslao riste.
 
Odgovor na temu

leka
Dejan Lekić
senior software engineer, 3Developers
Ltd.
London, UK

Član broj: 234
Poruke: 2534
*.racasse.se

Sajt: dejan.lekic.org


+2 Profil

icon Re: AVL tree i Hash table21.05.2003. u 04:41 - pre 254 meseci
Naravno, moj predlog je prvo da primenis staru, oprobanu programersku praksu "podeli i pobedi" - dakle lepo sedni jedan dan i vidi kako mozes svoj problem da podelis na vise nezavisnih celina (modula). I ona mozemo ovde da diskutujemo kako da se neki od tih pojedinacnih modula realizuju (iskodiraju)...
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
 
Odgovor na temu

lana84
svetlana
australija

Član broj: 10524
Poruke: 5
*.gc-student.griffith.edu.au

ICQ: 84271168


Profil

icon Re: AVL tree i Hash table21.05.2003. u 12:32 - pre 254 meseci
ma razumem na sta si mislio, prvi deo sam uradila, i sve radi, to sa AVL tree. verovatno cu vam dosadjivati sto se tice Hash Tabele, ovo prvo i nije bilo toliko tesko koliko sam si ja umislila.

hvala u svakom slucaju

ceca
 
Odgovor na temu

leka
Dejan Lekić
senior software engineer, 3Developers
Ltd.
London, UK

Član broj: 234
Poruke: 2534
*.racasse.se

Sajt: dejan.lekic.org


+2 Profil

icon Re: AVL tree i Hash table26.05.2003. u 14:16 - pre 254 meseci
Mislim generalno na stari, isprobani princip u programiranju da se veliki poslovi izdele na sto manje (atome) sitne celine koje mozes odvojeno da razvijas...
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
 
Odgovor na temu

[es] :: C/C++ programiranje :: AVL tree i Hash table

[ Pregleda: 3703 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

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