Forum » Programiranje » Razumevanje merge sorta
Razumevanje merge sorta
RatedR ::
Pozdrav, imam težavo pri razumevanju merge sort-a, za pomoč sem pogledal ta video:
- ali imamo na začetku polje recimo arrA[6], in potem ustvarimo še 6 polj po 1 element? (int arrA[1], int arrB[1]...)
- ali pa imamo 2 polja enakih velikosti arrA[3] in arrB[3], ki jih sortiramo in združimo?
Probal sem gledat tudi tole kodo: http://www.cquestions.com/2011/07/merge... pa mi sploh ne gre v glavo...se da rešit to še kako drugače kot z rekurzijo?
Moje znanje programiranja je omejeno, pointerjev še ne znam in pri tem ne smem uporabljat.
Prosim za kakršnokoli pomoč, nasvet ali psevdokodo.
https://www.youtube.com/watch?v=EeQ8pwjQxTM
- ali imamo na začetku polje recimo arrA[6], in potem ustvarimo še 6 polj po 1 element? (int arrA[1], int arrB[1]...)
- ali pa imamo 2 polja enakih velikosti arrA[3] in arrB[3], ki jih sortiramo in združimo?
Probal sem gledat tudi tole kodo: http://www.cquestions.com/2011/07/merge... pa mi sploh ne gre v glavo...se da rešit to še kako drugače kot z rekurzijo?
Moje znanje programiranja je omejeno, pointerjev še ne znam in pri tem ne smem uporabljat.
Prosim za kakršnokoli pomoč, nasvet ali psevdokodo.
szalb ::
Če ima polje več kot en element (recimo n elementov), narediš dve novi polji, polje B velikosti floor(n/2) in polje C velikosti ceil(n/2); le-ti urediš rekurzivno; potem lahko z enim sprehodom "zliješ" urejeni polji B in C v polje A.
Wikipedia članek je kar dober; druga možnost je (mislim da) drugo poglavje v Introduction to Algorithms.
Wikipedia članek je kar dober; druga možnost je (mislim da) drugo poglavje v Introduction to Algorithms.
RatedR ::
@szalb Hvala, bomo pogledal.
@Blinder Temo sem označil kot tehnično rešljiv problem brez mnenjskih debat, nočem tvojega mnenja temveč pomoč.
@Blinder Temo sem označil kot tehnično rešljiv problem brez mnenjskih debat, nočem tvojega mnenja temveč pomoč.
Zgodovina sprememb…
- spremenilo: RatedR ()
lebdim ::
Poskusi še s temlem na Khan Academy. Imaš še tudi challenge.
Merge sort ni težek. Ti imaš na začetku neko tabelo, recimo 8 elementov. Potem se razdeli: dvakrat po 4 elemente. Pa potem štirikrat po 2 elementa. In osemkrat po 1 element. Potem pa urejuješ spet. Urediš tako, da bodo elementi urejeni v dvojici. Potem pa, urediš v obe tabeli s po 4 elementi. Na koncu pa sledi končna urejena tabela. Imaš na Khan Academy-u dobro razloženo.
Merge sort ni težek. Ti imaš na začetku neko tabelo, recimo 8 elementov. Potem se razdeli: dvakrat po 4 elemente. Pa potem štirikrat po 2 elementa. In osemkrat po 1 element. Potem pa urejuješ spet. Urediš tako, da bodo elementi urejeni v dvojici. Potem pa, urediš v obe tabeli s po 4 elementi. Na koncu pa sledi končna urejena tabela. Imaš na Khan Academy-u dobro razloženo.
Zgodovina sprememb…
- spremenil: lebdim ()
szalb ::
Kako to, da imate raje posnetke na Khan Academy od knjig Turingovih (ali Godelovih) nagrajencev? Ali pa predavanj vrhunskih raziskovalcev z Ivy League univerz? (Video na tem URLju je bil pripravljem v sodelovanju s Thomasom Cormenom, ki je profesor na MIT, tako da kvaliteta tega videa ni vprašljiva; v knjigi, po kateri je video *verjetno* pripravljen, je algoritem razložem veliko bolj podrobno.)
Zgodovina sprememb…
- spremenil: szalb ()
Spura ::
isuse bozji. Sej pri merge sortu ne rabis da ti najboljsi raziskovalec na svetu razlaga, ker merge sort vsak kmet razume.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [Java - DN] Naključna številaOddelek: Šola | 1374 (903) | nyler |
» | [C] - Spreminjanje programa s pointerjiOddelek: Programiranje | 1205 (957) | DaMachk |
» | Algoritmi za urejanje tabelOddelek: Programiranje | 1246 (983) | lebdim |
» | c++ two dimensional array v classuOddelek: Programiranje | 1419 (1222) | Senitel |
» | Namig za rešitev nalogeOddelek: Programiranje | 1719 (1518) | vojko20 |