Hogyan növelhető az orosz betűkészletbe való beillesztés sebessége a gyűjteménycsomagban?
Számos javítás érhető el:
- A notExistDuplicate bináris keresésként kerül végrehajtásra. mert ez azért lehetséges, mert egy tömb van elrendezve hashcod'am objektumokkal
- sortByHashCode a gyors rendezés végrehajtásához. vagy összeolvasztani. vagy bármely más, jobb aszimptotikus algoritmus, mint O (n ^ 2)
- A beillesztést intelligensebbé teheti - nem rendezheti el minden egyes új tömböt. Ie notExistDuplicate visszaadja az elem indexét - ha az elem megtalálható vagy - (pozíció + 1), ha az objektum nem található. Ezután csak az elemeket kell átmásolni a tömbből, és be kell illeszteni az új elemet a cellába a pozíció indexével.
Megválaszolva: Január 29, 10:09
köszönöm a választ. Ami a 3. pontot illeti, nem értettem, hogy a notExistDuplicate hogyan fogja tudni a szükséges cellát? Tehát ott is alkalmaznia kell a válogatást? Akkor milyen különbség van itt vagy itt? Vagy valahogy félreértettem? - Pavel január 30-án, 03:01 órakor
@ A Paul módszer bináris keresést fog készíteni, amelynek során az elem forrásindexét tisztázzák, vagy a pozíciót, amelyen az elem megtalálható. Igen, válogatás szükséges. Ezt a módszert egyszer hívják, de mivel visszaadja az indexet, és nem a logikai értéket, akkor ezt követően csökkenthetjük a műveletek számát, ennek következtében, valójában, és minden lendületet - Artem Konovalov január 30-án 7: 15-kor