Java gond
2012-04-18T19:47:11+02:00
2012-04-19T06:56:45+02:00
2022-07-19T04:52:28+02:00
  • Azért javasoltam a TreeSet-et, mert ahogy bemásoltam is, log(n) a műveletigénye az add, contains, remove műveleteknek. Így a visszakeresés(contains) gyors lett volna.
    Mutasd a teljes hozzászólást!
  • köszi közben már rájöttem egy nagyon gyors megoldásra. :) Előállítottam a közel 46 millió kombinációt, ami csak 29 másodperc volt, majd abbol kiválasztottam random 20500-at. :D Sajnos a tömbös megoldás tényleg nagyon lassú volt, nem csak a tömb mivolta miatt, hanem a folyamatos visszakeresés miatt is, lehet, hogy 24 óra is kellett volna neki mire végez. :)
    Mutasd a teljes hozzászólást!
  • talán egy TreeSet-tel járnál a legjobban

    This implementation provides guaranteed log(n) time cost for the basic operations (add, remove and contains).
    Mutasd a teljes hozzászólást!
  • Igen gondoltam, hogy emiatt, az ötletet köszi, erre nem is gondoltam. Így talán begyorsul. :)
    Mutasd a teljes hozzászólást!
  • azért lassul folyamatosan, mert egyre nagyobb számú kódot kell ellenőriznie, hogy van-e már olyan.
    javaslom, hogy a már legenerált kódokat tedd egy Hashtable-ba, mert az sokkal gyorsabban vissza fogja adni, hogy van-e már olyan, vagy nincs.
    Mutasd a teljes hozzászólást!
  • Igen, az lenne a könnyebb megoldás, de aki kérte annak teljesen szétszórt kódhalmaz kéne. Pedig a folyamatosan lépkedő generálással 1másodperc alatt meglenne. :(
    Mutasd a teljes hozzászólást!
  • Ne veletlenszeruen generald a kodokat, kanem afelhasznalhato karakterek elso 20500 kombinaciojat allitsd elo, igy mind egyediek lesznek. A vegen osszerazhatod oket (shuffle algorithm).
    Mutasd a teljes hozzászólást!
  • Sziasztok!

    Most írtam egy programot Javaban, a következőket csinálja:

    -Generál 20500 darab különböző 6 jegyű kódot. (X1X1XX)
    -A kódokat soronként egy .txt fileba kiírja.

    Jelenleg több mint 40perce fut a program, elképzelhető, hogy ennyi ideig tart ez neki? (i3 cpu)

    500-1000 kódra 1-2 másodperc alatt lefutott.

    A programom szerkezete:
    -Feltöltök egy 20500 méretű tömböt "0" karakterekkel.
    -Belerakom az első kódot a tömb első helyére és egy változót állítok arra, hogy hány elem van a tömbben, jelenleg 1.
    -Egy while ciklust indítók ami addig megy míg az utolso tömb elem nem "0" lesz.
    -A ciklusban generálok mindig egy kódot, majd egy belső for ciklusban mindig végigmegyek a tömbben, hogy van-e már benne ilyen elem. (Csak addig az elemig megyek, ameddig feltöltöttem eddig a tömböt)
    -A végén egy for ciklussal beleiratom a file-ba a kódokat a tömbből.
    Mutasd a teljes hozzászólást!
Ez a téma lezárásra került a moderátor által. A lezárás oka: L�gy sz�ves tanulj meg a t�m�nak norm�lis, a probl�m�t j�l k�r�l�r� c�met adni!
abcd