porovnavanie algoritmov?
porovnavanie algoritmov?
Potrebujem pomoct so zrealizovanim porovnania triediacich algoritmov BubleSort a Shell Sort. Neviem proste ani kde zacat. A pls komentare typu "bolo to to uz x-krat" a podobne si nechajte, lebo co som hladal, ani v jednom prispevku nebola konkretna pomoc...
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: porovnavanie algoritmov?
naprogramuj si oba algoritmy, nechaj zotriediť veľké (a rôzne realizované) štruktúry a zanalyzuj výsledky (ich rýchlosť, pamäťovú náročnosť, jednoduchosť implementácie..)
Re: porovnavanie algoritmov?
typy na zotriedenie:
- uz zotriedene pole
- opacne zotriedene pole
- nahodne pole
- uz zotriedene pole
- opacne zotriedene pole
- nahodne pole
-
audiotrack
VIP
- Príspevky: 25958
- Registrovaný: 09 sep 2005, 18:39
- Kontaktovať používateľa:
Re: porovnavanie algoritmov?
a k tomu ešte pridaj polia s jedinečnými prvkami a s opakujúcimi sa
Re: porovnavanie algoritmov?
Tu mas ako funguju niektore triediace algoritmy, su tam aj nejake zdrojaky k nim: http://www.inspired.sk/files/flash-film ... oritmy.swf
A bubblesort to je primitivny algormtmus. Porovnava od zaciatku dvojice, a kazdym prejdenim pola, skracuje koniec a zaciatok o jeden prvok, az postupne pole usporiada. Vid ten flash link vyssie.
A bubblesort to je primitivny algormtmus. Porovnava od zaciatku dvojice, a kazdym prejdenim pola, skracuje koniec a zaciatok o jeden prvok, az postupne pole usporiada. Vid ten flash link vyssie.
-
axxis
Addict
- Príspevky: 3690
- Registrovaný: 29 máj 2007, 21:53
- Bydlisko: Spálené mlyny
- Kontaktovať používateľa:
Re: porovnavanie algoritmov?
a shell sort je zlozity?DomCZo napísal:T
A bubblesort to je primitivny algormtmus. Porovnava od zaciatku dvojice, a kazdym prejdenim pola, skracuje koniec a zaciatok o jeden prvok, az postupne pole usporiada. Vid ten flash link vyssie.
Kód: Vybrať všetko
public void shellSort(int[]pole)
{
int i,j,h,hodnota;
for (h=1;h<pole.length;h=3*h+1);
h=h/3;
do
{
for (i=h;i<pole.length;i++)
{
j=i;
hodnota=pole[i];
while ((j>=h)&&(pole[j-h]>hodnota))
{
pole[j]=pole[j-h];
j=j-h;
}
pole[j]=hodnota;
}
h=h/3;
}while(h!=0);
}