Hogyan érdemes mátrixot reprezentálni? többi lenn.
van egy két dimenziós tömböm:
{{1,1,1,1,1},{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0},{0,0,0,0,0}};
1. az 1-esekből álló rész legyen a mátrix első oszlopa:
10000
10000
10000
10000
10000
2. vagy az első sora?
11111
00000
00000
00000
00000
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
Én meg már azt hittem, hogy valami érdekes ötletet fogsz felvetni, de csak kétdimenziós tömböt találtam :(
Akkor bedobom a sajátomat - ábrázold láncolt adatszerkezetben :D
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
Esetleg aminek még értelme is lenne egy ilyen mátrix esetén, amikor az elemek nagy része 0, használt a sparse matrix szerkezetet.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
Persze 5x5-ös mátrix esetén ne használj sparse mátrixot, ekkor felesleges lenne, sőt pazarló, többet vesztesz vele, mint az a pár bájt amit esetleg nyerni tudsz, ha megfelelő implementációt választasz. Rosszabb esetben pedig ha esetleg 5 helyett 10 kitöltött érték van, már rosszabbul is jársz tárhely szempontjából is.
Amúgy csak 1-esek és 0-k lehetnek a tömbben? Mert akkor sokkal jobban lehet "tömöríteni", egy int-be simán belefér.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
Ezért mondom, hogy 5x5-ös mártix esetén tök felesleges bármi optimalizáció, 25x4 vagy 8 bájtról beszélünk + 1 kis fix overhead.
Sparse mátrixokat NAGY és ritka mátrixokra találták ki.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
Nem kell ennyire belemenni :)
Tisztában vagyok fele,hogy többféle módszer van rá.
Konkrét 2d tömb esetében voltam rá kiváncsi ,hogy melyik legyen az oszlop,sor.
Az első mellett döntöttem, mert így x,y-el tudok az elemekre hivatkozni, nem pedig y,x-el.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!