Hogy mondják angolul?
Szervusztok.
Van egy algoritmus, amit szeretnék elnevezni szépen (esetleg megtalálni a neten, ki, milyen megoldást adott rá), azonban nem tudom, hogy mondanák angolul. A feladat egyszerű: Adott méretű dobozokba érkeznek különböző méretű dolgok, ezeket kell lehetőleg egyenletesen elosztani, megtartva a sorrendet. (Adott a maximális oldalméret, és nem mutat jól egy teljesen telített oldal, majd utána egy egysoros…)
Például ha a dobozméret 4, az input adatok: 3214312, nem jó módszer, ha mohó módon kiirogatom őket: (32 1 4 31 2), az optimális megoldás: 3 21 4 3 12.
EgyenletesElosztás-ra gondoltam, de biztos van jobb…
Előre is köszönöm a válaszokat és a türelmeteket!
■ Van egy algoritmus, amit szeretnék elnevezni szépen (esetleg megtalálni a neten, ki, milyen megoldást adott rá), azonban nem tudom, hogy mondanák angolul. A feladat egyszerű: Adott méretű dobozokba érkeznek különböző méretű dolgok, ezeket kell lehetőleg egyenletesen elosztani, megtartva a sorrendet. (Adott a maximális oldalméret, és nem mutat jól egy teljesen telített oldal, majd utána egy egysoros…)
Például ha a dobozméret 4, az input adatok: 3214312, nem jó módszer, ha mohó módon kiirogatom őket: (32 1 4 31 2), az optimális megoldás: 3 21 4 3 12.
EgyenletesElosztás-ra gondoltam, de biztos van jobb…
Előre is köszönöm a válaszokat és a türelmeteket!
knapsack problem
Amúgy itt egy érdekes alkalmazása :)
Nem arra gondoltam
A példát nem egészen értem
Sőt...
5 hely esetén
4332211
- - - - -
332211
4 - - - -
32211
4 3 - - -
2211
4 3 3 - -
211
4 3 3 2 -
11
4 3 3 2 2
1
4 3 3 21 2
-
4 3 3 21 21
De ez inkább "paraszti ész" kategória, nagyzolás lenne algoritmusnak nevezni.
Az elemek sorrendje fix
Értem...
A példa rossz
Üres helyek minimalizálása
De ha azt érted, hogy a dobozokban maradó üres helyek összegét kell minimalizálni, akkor a következő gráfalgoritmus egy lehetséges megoldás: mindegyik bemeneti elemet az irányított gráf egy pontjaként képzelünk el. Mindegyik elemről feltesszük, hogy ő egy doboz első eleme, és ekkor olyan őt követő elemekbe húzunk belőle irányított éleket, amik lehetnek a közvetlenül következő doboz első elemei. Az él súlya pedig annyi, amennyi ezen elrendezés esetén üresen marad az él kezdőpontjának dobozából. Mielőtt ezeket az éleket megcsinálnánk, fel kell venni a bemeneti lista végére egy fiktív farokelemet, ami az utolsó utáni fiktív doboz első elemét szimbolizálja. Ha megvannak az élek, akkor egyszerűen meg kell keresni a legrövidebb utat az első elemtől a fiktív utolsó elemig. A legrövidebb út pontjai jelölik a dobozok első elemét.