Uncategorized

A bankárok ügyes kerekítési módszere

Hófehérke és a hét törpe a megszokott módon élik életüket. A törpék naponta eljárnak bányászni és a megszerzett kincseket értékesítik. Sikerült olyan felvásárlókat találniuk, akik hosszútávú fix áras szerződéssel, heti kétszeri fizetéssel biztos havi bevételeket generálnak számukra. Azonban nem hagyatkoznak csak erre, hanem az év során próbálják értékesíteni máshol is a bányászott dolgokat, de ez …

A bankárok ügyes kerekítési módszere Read More »

Hogyan számítsuk ki egy ellipszis kerületét?

Az általános és középiskolában sok síkbeli alakzatról tanultunk, beleértve a kört és ellipszist is. Furcsa módon míg a körnek a területét és kerületét meghatározó képleteket nem csak, hogy megtanították, hanem számos feladatban alkalmazni is kellett, valahogy az ellipszis terület- és kerületképlete nem került elő (talán még egyetemen sem mindenhol). Nem véletlenül. Bár az ellipszis területét …

Hogyan számítsuk ki egy ellipszis kerületét? Read More »

Hogyan töröljünk adott karaktereket egy karakterláncból?

Bizonyos esetekben szükség lehet arra, hogy egy karakterláncból adott karaktereket eltávolítsunk. Ilyen eset lehet például, ha egy szövegben csak a szavakat szeretnénk feldolgozni. Ehhez az írásjeleket először el kell távolítani. A feladat többféleképpen is megoldható, ahogy az alább látható. Azt, hogy ezek közül melyiket alkalmazzuk az függhet attól, hogy – mennyire vagyunk tájékozottak az alkalmazható …

Hogyan töröljünk adott karaktereket egy karakterláncból? Read More »

Hogyan valósítsunk meg írható és csak olvasható adatattribútumokat vegyesen?

A feladat tehát az, hogy egy osztályt úgy definiáljunk, hogy annak példányaiban bizonyos adatattribútumok írhatók és olvashatók, ugyanakkor más adatattribútumok csak olvashatók legyenek. Ez az igény olyan esetekben fordulhat elő, amikor a modellezett entitásnak vannak olyan jellemzői, adatai, amelyek a születése, létrejötte után nem változnak, és vannak olyanok, amelyek változhatnak. Vegyünk például egy embert, egy …

Hogyan valósítsunk meg írható és csak olvasható adatattribútumokat vegyesen? Read More »

Gráf rajzoló és elemző grafikus alkalmazás

Az előző bejegyzésekben gráfok reprezentációjával és az alapvető gráfalgoritmusokkal (szélességi és mélységi bejárás, legrövidebb út) foglalkoztunk. Ennek során a csúcsokat képviselő Vertex osztály mellett kifejlesztettük a gráfot modellező Graph osztályt. E két osztályt mint gráfmodellt fogjuk használni a továbbiakban, és ehhez ezeket egy graph_model nevű modulba helyezzük. E modul tartalma tehát ez: Most e modellhez …

Gráf rajzoló és elemző grafikus alkalmazás Read More »

Gráfok mélységi bejárása

Az előző bejegyzésben gráfok szélességi bejárásával foglalkoztunk. Most gráfok mélységi bejárását (depth first traversal) fogjuk megvalósítani. A mélységi bejárás alapelve: úgy járjuk be a gráfot, hogy egy kiinduló csúcstól kezdve először is az éppen aktuális csúcs szomszédait határozzuk meg, majd ezek közül a még meg nem látogatottakat vesszük nyilvántartásba egy LIFO konténerben, vagyis egy veremben. …

Gráfok mélységi bejárása Read More »

Gráfok szélességi bejárása

Az előző bejegyzésekben (itt és itt) gráfok ábrázolásával és alapimplementációjával foglalkoztunk és ezt bővítettük ki azzal a képességgel, hogy egy adott csúcspontból meg tudjuk határozni a többi csúcshoz vezető legrövidebb utat. Most gráfok bejárásával fogunk foglalkozni. Egy gráf bejárása azt jelenti, hogy egy kiinduló csúcstól, az élek által meghatározott irányokban levő csúcsokat valamilyen logika szerinti …

Gráfok szélességi bejárása Read More »

Legrövidebb út meghatározása gráfokban

Az előző bejegyzésben gráfok ábrázolásával és implementációjával foglalkoztunk. Most arra keressük a megoldást, hogy hogyan lehet meghatározni egy gráf egy adott csúcsából a többi csúcsba vezető legkisebb élsúlyösszegű, vagy más szóval legrövidebb utakat. Ez a kérdés számos, gyakorlatban felmerülő, gráffal modellezhető problémában felmerül. Például utazáskor a távolságban vagy időben legrövidebb út megtalálása, vagy számítógéphálózatokban a …

Legrövidebb út meghatározása gráfokban Read More »

Gráfok megvalósítása

Gráfokat több módon lehet matematikailag ábrázolni. A leggyakoribb reprezentációk a szomszédsági mátrix és a szomszédsági lista. Ezeket mutatja a következő ábra: A szomszédsági mátrixban a gráfban szereplő összes csúcsot (vertex) számba vesszük és megnézzük, hogy egy adott csúcsnak mely más csúcsok a közvetlen szomszédai. A vizsgált csúcsok a mátrix sorai, a szomszédos csúcsokat az oszlopok …

Gráfok megvalósítása Read More »

A super leutánzása, hogy jobban megértsük a használatát

Egy korábbi, „Tudáselmélyítés és gyakorlás kész függvények vagy metódusok leutánzásával” című bejegyzésben arról volt szó, hogy a nyelv használatát és a nyelvi elemek megértését nagyban segítheti, ha megpróbálunk már készen rendelkezésre álló függvényeket, metódusokat vagy osztályokat emulálni, vagyis a funkcionalitásukat saját készítésű kóddal utánozni. Ilyenkor ahhoz, hogy ez sikerüljön, alaposan meg kell értenünk az utánozni …

A super leutánzása, hogy jobban megértsük a használatát Read More »