Keresés

Aktív témák

  • Hory

    aktív tag

    válasz Hory #11 üzenetére

    Ha akarod, leirom a dag algoritmusat is, nem trivialis. Csak marha hosszu sajnos, ezert inkabb az on-demand modszerhez folyamodok.

  • Hory

    aktív tag

    válasz emvy #1 üzenetére

    Haaat, mi csinaltunk ilyesmit. Nem egy leanyalom. Szerintem, amit akarsz, azt nem lehet megcsinalni, de meg ha ossze is jonne, tetu lassu lenne.

    DAG-ot lehet csinalni vele, de eleg maceras lekodolni.

    Itt is 2 modszer.
    1. Oslistaval
    Redundansan letarolod minden ponthoz az osszes oset. Ertelemszeruen ilyenkor egy kulon mezoben jelezni kell, hogy az adott rekord hanyadik ose.
    Igy teljes gyerek/os listat tetszoleges ponthoz egy sima select-el le lehet kerdezni, indexek hasznalataval eleg gyors, es ha nem tul mely a fa, akkor meg nem is tul redundans (bar ez manapsag kevesbe szempont, ilyen irdatlan tarolokapacitas mellett).

    2. Intervallumos modszer
    Ez nem redundansan kepes tarolni fat (de csak azt, szemben az 1. modszerrel). Az otlete nagyon ugyes: minden rekord (=pont, ha eddig nem lett volna vilagos) tartalmaz egy intervallumot is. Amelyik rekord tartalmazza a mi intervallumunkat, az osunk. Az osok kozotti sorrendet meg pl. az intervallum meretevel lehet legkonnyebben meghatarozni.
    Ez egy ugyes modszer, gyors is, de nagyon limitalt azon muveletek szama, ami elvegezheto rajta emberi idoben.

    PS: most egy darabig nem leszek netkozelben, bocs

  • Hory

    aktív tag

    válasz emvy #7 üzenetére

    Algoritmuselmelet orakon aludtal? :)

    A problema a dinamikusan valtoztathato meretu tomb megvalositasa. Erre meg rengeteg megoldas van, attol fuggoen, hogy _PONTOSAN_ mit akarsz csinalni vele, milyen muveleteknek kellene gyorsaknak lenniuk, stb...

    2 modszer.
    1. Alias java-s arraylist
    lefoglalsz egy adott meretu teruletet, ha jon uj adat, akkor szepen oda pakolsz, ha megtelik, realloc()-olsz egy X-szer nagyobb teruletet, es goto 10 (ahol X adja meg, hogy a CPU/memoria kozul melyiket zabalja jobban).

    Ez eleg primko, de kis meretekben kivalo.

    2. Alias stl-es vector (legalabbis asszem az igy muxik)
    Lancolt listat kepzelj el, amiben az adat az irt memoriablokkok. Igy az iras konstans ido, mint a villam, es ha vegig kell menni szep sorban az adatokon, az is gyakorlatilag olyan gyors, mintha egyben lenne az egesz. Hatranya, hogy eleg bonyolult megvalositani benne egy adott elem elereset, illetve a torlest. De ha ez utobbi ketto (es a hozza hasonlo muveletek) nem jellemzoek, akkor ez messze a leggyorsabb.

    Amugy meg: jozan paraszti ez rulez. belaim, gondolkodjunk.

Aktív témák