Hogyan növelhető az orosz betűkészletbe való beillesztés sebessége a gyűjteménycsomagban?

Számos javítás érhető el:

  1. 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
  2. sortByHashCode a gyors rendezés végrehajtásához. vagy összeolvasztani. vagy bármely más, jobb aszimptotikus algoritmus, mint O (n ^ 2)
  3. 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

Kapcsolódó cikkek