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

Vase misljenje o mom projektu

[es] :: Art of Programming :: Vase misljenje o mom projektu

[ Pregleda: 2250 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Bope

Član broj: 62233
Poruke: 291
*.adsl.verat.net.

Sajt: www.shortsms.me


+4 Profil

icon Vase misljenje o mom projektu21.02.2007. u 23:01 - pre 208 meseci
Nisam znao u koji forum da stavim ovu temu...Ovde sam je stavio zato sto se pod opisom ovog foruma podrazumeva 'pretrazivanje' sto i jeste poenta ove moje teme.

Pre par meseci sam na faxu radio projekat iz programiranja.Cilj projektnog zadatka je bilo pravljenje algoritma za pretragu nesortiranih nizova i listboxova.Projekat mi je ocenjen desetkom ali zeleo bih da cujem vase misljenje u vezi njega.Takodje,imajuci u vidu da ne znam C++,zamolio bih nekoga ko ima vremena i dobre volje da prepise ovaj moj program iz C# 2005 u C++ cisto da bih video da li bi C++ verzija imala bolje performanse (projekat sam pravio tako da ne zavisi od Frameworka i moze se realizovati nezavisno od njega).
U okacenom rar fajlu se nalazi ceo C# 2005 projekat,algoritam sa objasnjenjem u pdf-u i jedan kratak slikoviti prikaz rada.

BITNO:
Pre pocetka koriscenja ovog mog projekta,prilozeni fajl 'o.txt' prebacite na 'C:\'.
To je jako bitno zato sto je,u ovom slucaju,zadatak algoritma da uporedi sve clanove (sastavljenje od random slova,random duzine) jedne nesortirane liste sa svim clanovima druge nesortirane liste i prijavi broj clanova jedne liste koji se nalaze u drugoj.Liste se popunjavaju bas iz tog fajla 'o.txt' u kome se nalaze ti random stringovi.

Programiranjem se bavim tek 7 godina i zanimalo bi me misljenje,predlozi i sl. ljudi koji programiraju duze nego ja (a kojih na ES-u ima vise nego na bilo kom drugom forumu koji znam)

Ja imam AMD Barton 2500+ koji radi na 1.8 i kod mene operacija uporedjivanja (uporedjivanje 6800 clanova sa 6800 clanova) traje oko 50mS...


P.S.Prilozeni dijagrami toka ce na nekim mestima odstupati od koda projekta zato sto sam posle crtanja dijagrama pronalazio neka bolja resenja a stvarno nisam imao zivaca da menjam crteze dijagrama.Takodje na dijagramima se ne nalazi opis funkcije koja bi trebala da se poziva prilikom brisanja clanova liste.
Prikačeni fajlovi
 
Odgovor na temu

NrmMyth
Ivan Maček
Split

Član broj: 63456
Poruke: 849
*.adsl.net.t-com.hr.

Sajt: www.dump.hr


Profil

icon Re: Vase misljenje o mom projektu22.02.2007. u 06:06 - pre 208 meseci
Pozdrav.

Bez da sam nesto puno ulazio u projekt:

1. Zasto se biblioteka sluzi tom ruznom datotekom "o.txt", koja jos mora biti na odredjenoj poziciji? Zasto nisi radio index u memoriji, prvi put vidim da biblioteka ovakve namjene koristi hard-disk (iako nije lose da se omoguci ta opcija, ako se pri potrazi nece ucitati cijela datoteka => usteda na heapu).
Bi li ti nekakava hashtable iz System.Collections ili System.Collections.Generic rijesila cijeli problem?

2. Ako zelis da ti se kod prepise u C++/CLI (MC++) onda neces dobiti na performansama jer se oba jezika _skoro_ identicno prevode u isti .NET medjukod.
Ako bas zelis da se kod prevede u nativni C++ onda ce se puno izgubiti na samom dohvacanju i marshaliranju managed objektata iz nativnog kod, pa ne znam koliko si ustvari tu na dobitku (nemam bas iskustva), a i da ne spominjemo kako je to naporno.

3. Kako mislis da ti projekt radi nezavisno od frameworka, pa aplikacija koja sadrzi ListBox radi pod .NET frameworkom, a i tvoj C# kod takodjer.


Citat:
tek 7 godina

7 godina i nije bas _tek_.


Nadam se da sam te potaknuo na razmisljanje.

Pozdrav,
Ivan.
 
Odgovor na temu

Bope

Član broj: 62233
Poruke: 291
*.adsl.verat.net.

Sajt: www.shortsms.me


+4 Profil

icon Re: Vase misljenje o mom projektu22.02.2007. u 06:54 - pre 208 meseci
1)Pa nisam hteo dodatno da komplikujem trazenjem da se odabere fajl sa potrebnim stringovima i sl,na kraju krajeva to je najmanji problem dodati..
2,3)Kada sam rekao da je nazavisan od frameworka mislio sam na to da se kod moze bez ikakvih problema napisati i u,recimo,VC++ 6,ili nekom sasvim drugom jeziku (ona molba za prevodjenje u C++ se odnosila na VC++ 6,ne na .NET C++)

7 godina od kojih sam skoro 6 proveo radeci u VB6 :)
 
Odgovor na temu

Bope

Član broj: 62233
Poruke: 291
*.adsl.verat.net.

Sajt: www.shortsms.me


+4 Profil

icon Re: Vase misljenje o mom projektu23.02.2007. u 10:26 - pre 208 meseci
Anyone?
 
Odgovor na temu

tosa
上海, 中国

Član broj: 1811
Poruke: 1342
218.82.251.*

ICQ: 14293955
Sajt: https://github.com/milost..


+48 Profil

icon Re: Vase misljenje o mom projektu23.02.2007. u 17:20 - pre 208 meseci
Dosta zamerki, ali tretirajmo te kao novajliju pa da pomognemo.
Kod je pun switch/case stejtmenta, što je suvišno - radiš sa karakterima i oni su
u određenom opsegu, tako da si mogao da staviš sve liste u nizove kojima pristupaš
preko indeksa, gde je indeks " slovo - 'a' ". Dakle, nije potreban ni jedan svič.
Povezane liste su prilično neprijateljski nastrojene prema kešu procesora, ali to
je možda previše napredna tema za ovaj thread. Algoritam nije bilo potrebno praviti,
već postoje dosta bolji - dovoljno bi bilo da si koristio heš tabele da smestiš ceo
prvi niz i pretraživanje postaje daleko brže. Na kraju još jedna stvar.. da li je broj
stringova ograničen? Ako je unapred poznat maksimum, onda je najlakše napraviti niz
pokazivača/referenci te dužine i smeštati svaki string indeksirano gde je indeks
niza u stvari CRC istog - iznenadio bi se brzinom... i tako dalje...

Ono što bih ti savetovao je da uzmeš da učiš algoritme kao da nikada nisi čuo za njih!

Budi drugar pa nam reci koji je to profesor koji ti je dao deset za ovako nešto?
Još interesantnije bi bilo čuti koji je to fakultet :)
 
Odgovor na temu

Bope

Član broj: 62233
Poruke: 291
*.adsl.verat.net.

Sajt: www.shortsms.me


+4 Profil

icon Re: Vase misljenje o mom projektu23.02.2007. u 17:59 - pre 208 meseci
Zapravo visa elektrotehnicka,'fax' pisem zato sto mi je lakse da kazem/napisem 'fax' nego vets (neki ljudi ni ne znaju od cega je ta skracenica) a svi koji me znaju razumeju na sta mislim.Zaboravio sam da ljudi odavde ne znaju da sam student vise elektrotehnicke....

Koliko ja znam pokazivaci ne postoje u C#-u,a ovo u C-u nisam ni pokusavao....
Liste u nizove?Mislis na niz kome je svaki clan neki drugi niz,pa umesto switch petlje gledam clan na poziciji koja odgovara ascii kodu karaktera? To sam pokusao,ovako je brze.

Znam sta su povezane liste i sta je kesh ali nisam znao to da kesh 'ne voli' povezane liste....

Hteo sam da sve ovo uradim preko hesh-a ali,iskreno receno,nisam umeo... :\

Broj stringova po kojima se trazi nije ogranicen.
 
Odgovor na temu

tosa
上海, 中国

Član broj: 1811
Poruke: 1342
218.82.251.*

ICQ: 14293955
Sajt: https://github.com/milost..


+48 Profil

icon Re: Vase misljenje o mom projektu24.02.2007. u 01:58 - pre 208 meseci
Postoje pokazivači u c šarp-u, samo što njihovo korišćenje nije preporučljivo - gubi se osnovna namena jezika.
Da je svič brži od jednostavnog indeksiranog pristupa jednostavno nije moguće, nešto si drugo tu pogrešio.
Što se heša tiče, tu nema nikakve mudrosti, posebno uz korišćenje moćnih alata kao što je google.
 
Odgovor na temu

Bope

Član broj: 62233
Poruke: 291
*.adsl.verat.net.

Sajt: www.shortsms.me


+4 Profil

icon Re: Vase misljenje o mom projektu25.02.2007. u 21:46 - pre 208 meseci
Ja sam pokusavao preko jagged niza gde svaki clan jednog velikog niza predstavlja neki drugi niz (i svi nizovi-clanovi imaju drugaciju duzinu) i sa tim sistemom sam imao katastrofalne rezultate...
 
Odgovor na temu

[es] :: Art of Programming :: Vase misljenje o mom projektu

[ Pregleda: 2250 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

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