Melyik az elegáns és hatékony C++ megoldás az alábbira?
Csak példaként tegyük fel, hogy mondjuk gráfokat akarunk implementálni. Tekintsünk kétfélét, a sima gráfot (graph), és a súlyozottat (wgraph).
A graph adattagjának legjobb választás az alábbi:
std::vector<std::set<int> >
Kérdés, hogy a wgraph mi legyen?
Legyen egy graphból származtatott osztály,
ami örökli az adattagot,
de melléteszünk még a súlyoknak egy
std::vector<std::set<float> > -ot
vagy jobb egy saját adattag:
std::vector<std::map<std::pair<int, float> > >
vagy ne is legyen graph, csak wgraph
(a kör-ellipszis problémát szem előtt tartva)
és a graph annak legyen egy sepciális esete?
Nincs mese, mérni kell. Valószínűleg nem nyernél túl sokat azzal, hogy a speciális esetet (miszerint minden súly 1) külön leimplementálod.
Amúgy ez az állítás honnan jön?
"A graph adattagjának legjobb választás az alábbi:
std::vector<std::set<int> >"
A gráf csak egy példa volt egyfajta kör-ellipszis problémára, és az a kérdésem, hogy melyik megvalósítást szokták csinálni. Mik a hátrányok, előnyök.
Természetesen lehet másképp is, az optimálissal csak arra akartam utalni, hogy a graph és a wgraph megvalósítása tipikusan más.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!