Kezdőoldal » Számítástechnika » Programozás » Hogyan kell figyelembe venni...

Amanda88 kérdése:

Hogyan kell figyelembe venni az alábbi követelményeket a megfelelő algoritmus kiválasztásánál?

Figyelt kérdés

Egy C++ programot kell írnom:

Készíts mátrix adattárolási struktúrát. A tárolóban "flat" módon, azaz egydimenziós tömbben legyenek tárolva az adatok (pl. vector-ban). A mátrixnak legyenek konstruktorai; sorait, oszlopait, celláit lehessen elérni, módosítani; és a teljes mátrixnak is legyen kiíró és beolvasó eljárása.

Az alapfunkciókon túl egészítsd ki a struktúrádat úgy, hogy a mátrix sorait, illetve oszlopait lehessen egy külsőleg megadott sorrend szerint sorba rendezni.

Az implementáció optimalizálásánál sok oszlopra és kevés sorra számíts.

A műveletek elsősorban a mátrix elejét érintik.


Az utolsó két mondat nem értem, miben kéne hogy befolyásoljon, amikor kiválasztom a megfelelő rendező algoritmust. A gyorsrendezést választottam: egy vektorban kell megadni a rendező függvényemnek a sorok/oszlopok kívánt sorrendjét



2014. dec. 11. 13:31
 1/5 anonim ***** válasza:

"lehessen egy külsőleg megadott sorrend szerint sorba rendezni"


Gondolom kell egy predikátum bemenetnek, és az alapján kell rendezni.


"Az implementáció optimalizálásánál.."


Most akkor ez is feladat, vagy mi?

2014. dec. 11. 17:44
Hasznos számodra ez a válasz?
 2/5 A kérdező kommentje:

Már kész van a függvény, ami egy vektorban lévő számok sorrendje alapján rendezi a mátrix sorait. Ezzel nincs gond, csak a feladat utolsó két mondatát nem értem:

(Igen, ez is a feladathoz tartozik:) Az implementáció optimalizálásánál sok oszlopra és kevés sorra számíts.

A műveletek elsősorban a mátrix elejét érintik.

2014. dec. 11. 17:53
 3/5 anonim ***** válasza:

Jó, hogy oda tartozik, de ez elég tág, hogy optimalizáld.

Mennyire? Mijét?

2014. dec. 11. 20:45
Hasznos számodra ez a válasz?
 4/5 A kérdező kommentje:
Az utolsó két mondat a rendező függvényre vonatkozik szerintem. Többet én sem tudok, ennyi volt megadva a feladatban
2014. dec. 11. 21:03
 5/5 anonim ***** válasza:
100%
Optimalizást most szerintem az algoritmus hatékonyságára értik. Mivel annyi adatot adott meg, hogy sok oszlop, kevés sorról van szó. Így én gyorsrendező algoritmust használnék az oszlopok rendezésére, hiszen az átlagos esetben n*log n db műveletet végez, és általában nagyobb mennyiségű adat rendezésére használják. A sorok rendezésére pedig valamilyen kevésbé hatékony rendezést pl. buborék-rendezést, de annak is a "javított" változatát.
2014. dec. 12. 08:10
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!