Search
 
 
  Engleski
 
 
 
Open in this window (click to change)
Forum@DeGiorgi: Početna
Forum za podršku nastavi na PMF-MO
Login Registracija FAQ Smajlići Članstvo Pretražnik Forum@DeGiorgi: Početna

usporedba dva polja

Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Ostalo - opušteno -> Bućkuriš
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
color
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 04. 04. 2003. (16:09:57)
Postovi: (AD)16
Spol: žensko
Sarma = la pohva - posuda
= 0 - 0

PostPostano: 15:12 pon, 22. 9. 2003    Naslov: usporedba dva polja Citirajte i odgovorite

Da li netko zna dobar algoritam za usporedbu dva polja(određivanje (ne)jednakosti elemenata polja)?

Ako se takav nađe na Forumu, onda bi recimo bilo poželjno da je C++ kod. :)Hvala!
Da li netko zna dobar algoritam za usporedbu dva polja(određivanje (ne)jednakosti elemenata polja)?

Ako se takav nađe na Forumu, onda bi recimo bilo poželjno da je C++ kod. :)Hvala!


[Vrh]
Korisnički profil Pošaljite privatnu poruku
C'Tebo
Moderator
Moderator


Pridružen/a: 03. 11. 2002. (18:40:48)
Postovi: (26A)16
Sarma = la pohva - posuda
-13 = 3 - 16
Lokacija: Zagreb

PostPostano: 16:37 pon, 22. 9. 2003    Naslov: Citirajte i odgovorite

Ne kontam šta oćeš?
Kakva polja? Koliko dimenzionalna? (1, 2, 3, ... , n?)

Je l' treba usporedit sve elemente polja ili samo provjerit jesu li polja ista?
Ne kontam šta oćeš?
Kakva polja? Koliko dimenzionalna? (1, 2, 3, ... , n?)

Je l' treba usporedit sve elemente polja ili samo provjerit jesu li polja ista?



_________________
Click me!
_______________________
Bad panda!
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
C'Tebo
Moderator
Moderator


Pridružen/a: 03. 11. 2002. (18:40:48)
Postovi: (26A)16
Sarma = la pohva - posuda
-13 = 3 - 16
Lokacija: Zagreb

PostPostano: 16:45 pon, 22. 9. 2003    Naslov: Tek tako, meni za vježbu Citirajte i odgovorite

Recimo da trebaš usporediti dva polja (jednodimenzionalna):
[code:1]
int usporedi(int *p1, int *p2, int n)//prvo i drugo polje i broj elemenata
{
int i=0;
int isti=1;
do
{
if !(p1[i]==p2[i]) isti=0;
i+=1;
while ((i<n) && (isti))}
return isti;
}
[/code:1]
Vraća 1, ako su nizovi isti, 0 ako nisu. (Vjerujem da kod ima sintaktičkih pogrešaka za ubit se, pa bih molio dobre dušice ovog foruma da me isprave u svim eventualnim pogreškama, pliz)
Recimo da trebaš usporediti dva polja (jednodimenzionalna):
Kod:

int usporedi(int *p1, int *p2, int n)//prvo i drugo polje i broj elemenata
{
 int i=0;
 int isti=1;
 do
 {
  if  !(p1[i]==p2[i]) isti=0;
  i+=1;
  while ((i<n) && (isti))}
 return isti;
}

Vraća 1, ako su nizovi isti, 0 ako nisu. (Vjerujem da kod ima sintaktičkih pogrešaka za ubit se, pa bih molio dobre dušice ovog foruma da me isprave u svim eventualnim pogreškama, pliz)



_________________
Click me!
_______________________
Bad panda!
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
color
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 04. 04. 2003. (16:09:57)
Postovi: (AD)16
Spol: žensko
Sarma = la pohva - posuda
= 0 - 0

PostPostano: 13:18 sri, 24. 9. 2003    Naslov: Citirajte i odgovorite

Dakle da definiram relaciju :) :

dva jednodimenziolna polja su jednaka <=> su im elementi isti.

Ovak treba uzeti u obzir da se radi o poljima duljine barem 100.

p1->|2|3|1|1|5|
p2->|5|3|1|2|1|

Polja p1 i p2 su jednaka.
Dakle da definiram relaciju Smile :

dva jednodimenziolna polja su jednaka <=> su im elementi isti.

Ovak treba uzeti u obzir da se radi o poljima duljine barem 100.

p1->|2|3|1|1|5|
p2->|5|3|1|2|1|

Polja p1 i p2 su jednaka.


[Vrh]
Korisnički profil Pošaljite privatnu poruku
steelworker
Site Admin
Site Admin


Pridružen/a: 25. 04. 2003. (11:21:04)
Postovi: (698)16
Sarma = la pohva - posuda
44 = 50 - 6
Lokacija: 4-dimensional space-time continuum. Or some 11-dimensional continuum? Dunna, it's all relative.

PostPostano: 14:51 sri, 24. 9. 2003    Naslov: Citirajte i odgovorite

Ak mozes mjenjati ta polja, onda ih prvo sortiraj, pa provedi C'Tebino usporedjivanje.

Ako ih ne mozes mijenjati, onda napravi nova pomocna u koja stavis ova sortirana i opet usporedi [i]po C'Tebi[/i] ta pomocna sortirana.

Napomena: Ne tvrdim da je to najoptimalnije rješenje, samo je rješenje (ali mislim da je najjednostavnije, a jednostavno je cesto najbolje :wink: ), uzmes quick-sort pa si brz, a i ovo C'Tebino je worst case [i]n[/i], pa si isto brz.
Ak mozes mjenjati ta polja, onda ih prvo sortiraj, pa provedi C'Tebino usporedjivanje.

Ako ih ne mozes mijenjati, onda napravi nova pomocna u koja stavis ova sortirana i opet usporedi po C'Tebi ta pomocna sortirana.

Napomena: Ne tvrdim da je to najoptimalnije rješenje, samo je rješenje (ali mislim da je najjednostavnije, a jednostavno je cesto najbolje Wink ), uzmes quick-sort pa si brz, a i ovo C'Tebino je worst case n, pa si isto brz.



_________________
I live like this 'cause I like it
And I've seen too much to pretend
You can't ignore the beauty in the things that you love
Like you can't stand the hatred and the lies
[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
C'Tebo
Moderator
Moderator


Pridružen/a: 03. 11. 2002. (18:40:48)
Postovi: (26A)16
Sarma = la pohva - posuda
-13 = 3 - 16
Lokacija: Zagreb

PostPostano: 17:22 sri, 24. 9. 2003    Naslov: Citirajte i odgovorite

Gledaj, ukoliko ti ideš ovim putem:
Gledaš prvi element u prvom nizu i onda uspoređuješ taj el. sa svim ostalim elementima ne gine ti n^2 uspoređivanja. Dakle morao bi:
Čopit prvi element iz p1, usporedit sa svim el. iz p2, ako postoji, taj element nekako označit, da ga ovaj ne bi ponovo uspoređivo s nečim i isponova s drugim el. iz p1.
Tako bi išao i stao ili kad više nema elemenata iz p1 ili kad nemreš nać el. iz p1 u p2. U onom prvom slučaju bi još morao napraviti provjeru je li p1 iste duljine kao p2 (što možeš i prije).

Kada radiš sortiranje, najbolji slučaj je quicksort, što ti je nlog n (međutim, to je toliko premještaja, ne uspoređivanja) i još onaj kod od prije, što ti je n uspoređivanja.
Tako da mi se čini da je ono prvo bolje.
Gledaj, ukoliko ti ideš ovim putem:
Gledaš prvi element u prvom nizu i onda uspoređuješ taj el. sa svim ostalim elementima ne gine ti n^2 uspoređivanja. Dakle morao bi:
Čopit prvi element iz p1, usporedit sa svim el. iz p2, ako postoji, taj element nekako označit, da ga ovaj ne bi ponovo uspoređivo s nečim i isponova s drugim el. iz p1.
Tako bi išao i stao ili kad više nema elemenata iz p1 ili kad nemreš nać el. iz p1 u p2. U onom prvom slučaju bi još morao napraviti provjeru je li p1 iste duljine kao p2 (što možeš i prije).

Kada radiš sortiranje, najbolji slučaj je quicksort, što ti je nlog n (međutim, to je toliko premještaja, ne uspoređivanja) i još onaj kod od prije, što ti je n uspoređivanja.
Tako da mi se čini da je ono prvo bolje.



_________________
Click me!
_______________________
Bad panda!
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Ostalo - opušteno -> Bućkuriš Vremenska zona: GMT + 01:00.
Stranica 1 / 1.

 
Forum(o)Bir:  
Ne možete otvarati nove teme.
Ne možete odgovarati na postove.
Ne možete uređivati Vaše postove.
Ne možete izbrisati Vaše postove.
Ne možete glasovati u anketama.
You can attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2002 phpBB Group
Theme created by Vjacheslav Trushkin
HR (Cro) by Ančica Sečan