- Milyen okostelefont vegyek?
- Leica kamerákat kap a Xiaomi Mix Flip 2 is
- Xiaomi 14 - párátlanul jó lehetne
- Samsung Galaxy Watch4 és Watch4 Classic - próbawearzió
- Nem fogy a Galaxy S25 Edge?
- India felől közelít egy 7550 mAh-s Redmi
- Motorola Edge 40 - jó bőr
- Honor Magic6 Pro - kör közepén számok
- iPhone topik
- Samsung Galaxy A36 5G - a középső testvér
- Humanoid robotokat visz az AI-szervergyárba az NVIDIA és a Foxconn
- Nehéz helyzetben az SMIC, régebbi chipet használ az új Huawei laptop
- One otthoni szolgáltatások (TV, internet, telefon)
- Kevesebb dolgozó kell az Amazonnak, AI veszi át a rutinfeladatokat
- 1000 milliárd dolláros AI-központot akar az USA-ban a SoftBank
-
Mobilarena
Új hozzászólás Aktív témák
-
Radíros
csendes tag
És (#2385) Joooe üzenetére...
Ez a bitmátrix egy csúcs-szomszédsági mátrix,
amely azt mondja meg az M[i,j] elemben, hogy
az i-edik csúcsból vezet-e él a j-edik csúcsba.
(Pl. ha igen: magas a bit, ha nem, akkor alacsony)
Ha ezt érted élmátrix alatt, akkor a szkópban lehet
a következő megoldás is:
1. állítsd elő a mátrix tranzitív lezártját
2. a tranzitív lezártból könnyen jönnek
az erős komponensek egy rendezésre
visszavezethető halmaz-osztályozással
Sajnos a tranzitív lezárt számítása n^3 * log n műveletigényű,
viszont könnyen párhuzamosítható és a hw-be épített
bitműveleteket is jól kihasználja.
(Az én logikám szerint ezt a legegyszerűbb implementálni.)
Ha valaki felcsigázódott szívesen részletezem... -
Joooe
tag
Én inkább egy bitmátrixot tartanék megfelelőnek erre a feladatra.
A memóriában az is elfér (10000^2/8 = kb. 12 MB)
Bár elgondolkodtató, hogy ez a megközelítés nem használja ki az élek relatíve alacsony számát.
Ami gyorssá teheti a megvalósítást, hogy ha a mátrix azt mutatja, hogy az i-edik csúcsból elérhető a j-edik, akkor a j-edik sort hozzá VAGY-oljuk az i-edik sorhoz, ezzel tovább bővítve az i-ből elérhető csúcsok listáját, azokkal ami j-n keresztül elérhető.
Ez mindenféle implementációban elvégzendő művelet, hogy megvizsgáljuk, hogy mi van ha arra megyünk, de azt hiszem így tudjuk leggyorsabban megtenni. Így processzortól függően egyetlen művelet során nagyon sok (64?) csúcsra történik meg a vizsgálat.
Az még egy kicsit elgondolkodtató, hogy mikor végeztünk, hiszen ezt többször el kell végezni, de ha végeztünk, akkor azokat a csúcsokat listázzuk amire mátrix[i,i]=1, azaz elérhető magából maga, azaz tagja valamely irányított körnek.
[Szerkesztve]
[Szerkesztve] -
cucka
addikt
c-ben gondolkozva:
a 10ezer csúcs miatt célszerű éllistával ábrázolni, ott pedig nem probléma a memórialimit.
csúcsoknak lefoglalod előre a memóriát, akkor ugye tömbként kezeled, és a tömb indexe fogja megmutatni az illető csúcs ''nevét''. minden csúcsból kiindul egy lista, ami tartalmazza az éleket. egy élnek van végpontja, ami egy int és rákövetkező csúcsa, ami egy csúcsra mutató pointer, vagyis egy csúcs mérete nagyjából 12byte, össszes csúcs így 240kbyte-ot foglal. ha nagyon szorít az időlimit, akkor eltárolhatod minden csúcsnál az utolsó élre mutató pointert, így a beszúrás n idő helyett 1 idő alatt megtörténik.
az élmátrix az egyébként micsoda?én csak a csúcsmátrixot és az éllistát ismerem/használtam.
listákról minden könyvben olvashatsz, de a gúgle is sok hasznos találatot dob, főleg ha angolul keresel. ennek fényében nem értem, mi a probléma a file-ból való lista felépítéssel. (kulcsszó: linked list). -
Jester01
veterán
Hacsak egyéb ok nincs rá akkor a gráfot egyszerûen csomópontokkal és belõlük induló élekkel ábrázoljuk:
class Node
{
public:
vector<Node*> Edges;
};
Ez nálam mérve 12 byte csomópontonként, az kemény 120kB. A 200000 pointer az 800kB. A legrosszabb vector overhead-del számolva is belefér 2 megába az egész (64 bites gépen max. dupla ennyi).
Ha valami egyéb információt is el kell tárolni a csomópontokról/élekrõl akkor az persze erre még rájön, de azt semmiképp nem úszod meg.
(Az éleknek az egyszerûség kedvéért nem csináltam külön osztályt.) -
cucka
addikt
a for ciklusod magjában semmi nem függ az i ciklusváltozótól. gyakorlatilag csak akkor fog kicserélni bármit is a függvény, ha az illető string egyetlen ékezetes betűből áll.
a ciklusban az a string helyett az a[ i ]-t nézegesd inkább.
megj: a replaceEkezet(''áőéóü'') sem működik, csak mivel nem tárolod el a visszatérési értékét, ezt nincs honnan tudd. meg egyáltalán semmi értelme ezt a függvényt meghívni így. (megcsináltatsz vele valamit, az eredményt meg kidobod.. király)
[Szerkesztve] -
Jester01
veterán
Használd az strcoll függvényt, ha van.
Kézzel pl. úgy lehet csinálni, hogy felsorolod egy tömbbe a betűk ábécérendbeli pozícióját és onnan rendezel.
int abc[] = { ... ide kell felsorolni a pozíciókat ... };
int i;
for(i = 0; abc[a[ i ]] == abc[b[ i ]] && a[ i ] != 0; i++);
(utf-8 esetén még finomítani kell)
[Szerkesztve]
Új hozzászólás Aktív témák
Hirdetés
● olvasd el a téma összefoglalót!
- Autós topik
- Tőzsde és gazdaság
- Milyen légkondit a lakásba?
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Steam, GOG, Epic Store, Humble Store, Xbox PC Game Pass, Origin Access, uPlay+, Apple Arcade felhasználók barátságos izgulós topikja
- A fociról könnyedén, egy baráti társaságban
- Parfüm topik
- Horgász topik
- Milyen okostelefont vegyek?
- Leica kamerákat kap a Xiaomi Mix Flip 2 is
- További aktív témák...
- Inspiron 5406 2-in-1 14" FHD IPS érintő i5-1135G7 16GB 512GB NVMe magyar vbill ujjolv aktív toll gar
- Eladó ASUS TUF F15 Gaming laptop i7-11800H RTX 3050 Ti 32GB 1.5TB SSD
- (50db) 250GB SATA Bazár (Samsung, Kingston, Crucial, Sandisk stb.)
- Lenovo LOQ 15APH8 15.6" FHD IPS Ryzen 7 7840HS RTX 4060 16GB 512GB NVMe magyar vbill gar
- Okostelefonok és eszközök felújítása, akkucsere, törött kijelző csere, ODA-VISSZA FUTÁRRAL IS!
- Készpénzes számítógép PC félkonfig alkatrész hardver felvásárlás személyesen / postával korrekt áron
- AKCIÓ! MSI Z790 i5 14600KF 64GB DDR5 512GB SSD RTX 3070 8GB Rampage SHIVA Enermax 750W
- BESZÁMÍTÁS! ASRock B460M i5 10400 16GB DDR4 512GB SSD RTX 2060 Super 8GB Rampage SHIVA TT 500W
- Bomba ár! HP ZBook Studio G5 - XEON I 32GB I 512SSD I Nvidia I 15,6" 4K DreamColor I Cam I W11 I Gar
- Lenovo ThinkPad 40AF docking station (DisplayLink)
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged