A programcsomag nevezetes gráfalgoritmusokat valósít meg Erlangban a digraph modul használatával, funkcionális szemléletmódot alkalmazva.
Tartalmazott algoritmusok:
A csomag 3 modult tartalmaz:
sample: példagráfok, összesen 5 darab. Ezeken a gráfokon jól szemléltethetőek a megvalósított algoritmusok:
A vizualitást elősegítendő, a gráfok GraphViz-zel renderelt ábrái megtalálhatóak a sample mappában.
common: az algoritmusokat segítő, hozzájuk szükséges gráfkezelő, gráftranszformáló függvények. Mivel ezek a függvények önmagukban is értelmesek, használhatóak, ezért egy külön modulba kerültek.
algorithm: a tényleges gráfalgoritmusokat tartalmazó modul.
Mélységi bejárás futtatása az 1. példagráfon:
Szélességi bejárás futtatása az 1. példagráfon:
Dijkstra algoritmus futtatása a 2. példagráfon:
Dijkstra algoritmus futtatása a 4. példagráfon (negatív él):
Prim algoritmus futtatása a 3. példagráfon:
Prim algoritmus futtatása a 2. példagráfon (irányított él):
Bellman-Ford algoritmus futtatása a 4. példagráfon:
Bellman-Ford algoritmus futtatása az 5. példagráfon (negatív kör):
Szerző neve: Cserép Máté
Készítés éve: 2012
A program alapvető adatbáziskezelési műveletek mutatja be
Kezdeti inicializáció:
Új sor beszúrása:
Shop tábla rekordjainak listázása:
Vetítés a shop item és quantity oszlopaira:
Feltételes lekérdezés, where záradék megadása:
Összetett lekérdezés a táblák összekapcsolásával:
Rekord törlése kulcs érték alapján:
Szerző neve: Gerstweiler Anikó Éva
Készítés éve: 2012
Az alkalmazások implementálása során lehetnek olyan esetek, mikor sokáig tartó taskokat (feladatokat megvalósító programokat/ programrészleteket) kell N-szer lefuttatni. Például: állítsunk össze és küldjünk ki egy emailt 100-szor. Ha feltesszük, hogy a taskok egymástól függetlenek és párhuzamosíthatóak, akkor az alkalmazásunk futási ideje nagyban csökkenthető, ha a taskok párhuzamosan vannak végrehajtva.
A feladat: Egy olyan általános algoritmus konstruálása, mely képes:
Szerző neve: Fördős Viktória
Készítés éve: 2013
Egy nagyon egyszerű, demó jellegű NIF-es könyvtár megírásán keresztül kerül bemutatásra a technológia alkalmazásához szükséges legfontosabb tudnivalók.
A feladat és az azt megoldó program leírása és használata az Elosztott programozás Erlangban című szekciójának NIF alszekciója alatt található meg.
Szerző neve: Fördős Viktória
Készítés éve: 2013
A modul elsődlegesen azt a tévhitet kívánja cáfolni, miszerint a rekurzióval készített alkalmazások mindig gyorsak. Ehhez a Fibonacci számok kiszámítását veszi példának: a definíció szerinti rekurzióval implementált megoldást hasonlítjuk össze annak egy optimalizált verziójával. A modulban a fibonacci/1 függvényt ellenőrző EUnit tesztek is implementálásra kerültek.
Erlangban a timer modul tc függvényével mérhetjük le az egyes függvények futási idejét mikromásodpercben. Egy kimenet:
Szerző neve: Fördős Viktória
Készítés éve: 2013
A modul a funkcionális nyelvi elemek (halmazkifejezések, rekurzió, mintaillesztés) felhasználásával adja meg a quicksort algoritmus egy lehetséges implementációját, melynek tömörsége és kifejezőereje mutatja meg igazán az Erlangban írható alkalmazások erejét és eleganciáját.
Szerző neve: Fördős Viktória
Készítés éve: 2013
Egy program, amely példát ad a kulcs-érték párok használatára.
A feladat egy karakter statisztika készítő program, amely megvalósításra került proplist és map adattípus használatával is.
Szerző neve: Oláh Barbara
Készítés éve: 2014
Egy egyszerű program az eseménykezelés szemléltetésére.
A feladat egy leegyszerűsített könyvtárműködést megvalósító program készítése. A megoldás során a gen_event viselkedésmintát használtam, továbbá a könyvek tárolására egy Mnesia adatbázist hoztam létre.
Szerző neve: Páter-Részeg Attila
Készítés éve: 2014
Hasznos példák angol nyelvű leírással a nyelv hivatalos oldalán találhatók.