Re: programming::algo::bash - split list in buckets

Alex 'CAVE' Cernat <[email protected]> Tue, 2 Jul 2019 15:12:46 +0300
Newsgroups gmane.org.user-groups.rlug.offtopic
Message-ID <[email protected]>
deci sa zicem ca ai niste tupli de genul nume fisier, weight (sau
lungime) si vrei sa generezi n liste de tupli de astia, astfel incat
suma acelor weight-uri sa fie cat de cat pe acolo

cea mai simpla metoda (nu insa si cea mai eficienta) ar fi urmatoarea:
- ordonarea listei dupa lungime, descrescator
- si apoi mulinezi in lista, de genul L1, L2, ... Ln, Ln, ..., L2, L1 si
iar L1, L2 ... pana termini cu lista
nu e cea mai eficienta metoda, dar cand lista tinde spre infinit
statistic "galetile" ar fi echilibrate

o alta varianta mai eficienta ar fi o varianta de problema rucsacului
(desi aia e alta mancare de peste pana la urma)
ceva de genul: faci suma weight-urilor, faci o medie per fiecare bucket,
si apoi incepi sa gasesti combinatii de tz elemente din lista astfel
incat suma weight-urilor sa fie cat mai apropiat de media calculata
si aici poate sa-ti dea cu virgula rau daca distributia este
dezechilibrata, dar are mai multe sanse de reusita decat cea de mai sus

de obicei, cu cat dai mai multe detalii cu atat sunt mai multe sanse sa
gasim o solutie cat mai aproape de ce vrei tu ...

Alex


On 02-Jul-19 1:36 PM, Adrian Sevcenco wrote:
> Salut! Am o necesitate interesanta : mi-ar fi ff de folos sa pot
> imparti o lista de fisiere in sub-colectii __aproximativ__ egale (sa
> zic o colectie de la 4 la 8k de fisiere in 200 buckets).. problema e
> ca nu am nici o idee de unde sa incep (ca si algorithm)
> ca si implementare vad eu cum o fac in bash sau python, dar algoritmul
> e problema.
>
> Multumesc frumos!!
> Adrian
>
>
> _______________________________________________
> Offtopic mailing list
> [email protected]
> http://lists.lug.ro/mailman/listinfo/offtopic_lists.lug.ro