Új hozzászólás Aktív témák
-
axioma
veterán
válasz
kezdosql #2274 üzenetére
Nekem ezt mondd el, hogy miert?
"A sorbarendezest ugy kell vegezni, hogy a legnagyobb elemet tartalmazonal megkeresni, melyek a reszlistai, es azokat sorrendbe rendezni, majd megnezni, hany fuggetlen lista van, es azoknal is reszlistakat keresni."Azt nem ertem, hogy most az a feladat, hogy fuggetlen listakat kell keresni, vagy az, hogy egy sorbarendezest megvalositani? Mi a vegso cel? A sorbarendezes mar a te megoldasod resze?
Amugy ha definialod ezt a sorbarendezest, akkor abban lehet segiteni. Elso tipp, amit versenyeken szoktam: uj lista kepzese ugy, hogy annak minden eleme egy tuple, amiben az elso, masodik, ... elemek a szempontok fontossagi sorrendben, a vegere meg vagy betolod magat az elemet, vagy csak egy indexet. Ezt a listat rendezed, majd kiolvasod az elemeket (instantice vagy az indexnel fogva).
Esetedben ha mar betukbol allo stringjeid vannak
strings=[s1,...,s15]
, akkor kepezni kell atoSort=[(len(strings[i]),strings[i]) for i in xrange(15)]
listat, meghivod ra a.sort()
-ot es a hossz szerinti majd azon belul lexikografikus rendezest megkapod asortedStrings=[toSort[i][1] for i in xrange(15)]
modszerrel. [A 15 most direkt hogy konnyebb legyen kovetni, de nyilvan nem magic number-ezunk.]Ja az elejen feltettem, hogy ha mar betukkel helyettesitettel, akkor a lista az egy karakterlista, amit nevezhetunk (hasznalhatunk) akar stringnek is... de egyebkent kb. hasonloan megoldhato ha a string helyett lista van, csak akkor mar nem tennem bele a tuple-be, hanem az indexszel visszakeresest hasznalnam (tehat a tuple elemei
(len(listOfLists[i]), i)
, mig a kiolvasasnal a futo elemlistOfLists[toSort[i][1]]
).Amugy valoszinuleg, hacsak nem nagyon titkos a sztori, az eredeti problema lenne a legkonnyebben megvalaszolhato. A fuggetlen halmazok meg az altalad emlitett kapcsolatok mar a grafelmelet iranyaba visznek el (ami neked nem feltetlen baj, mert kesz algok vannak csak megfelelo formara kell alakitani es meghivni).
[ Szerkesztve ]