SORU
12 NİSAN 2010, PAZARTESİ


İyi Karma Dizeleri için İşlev

Dizeleri için iyi bir karma işlev kadar düşünmeye çalışıyorum. Ve dizedeki ilk beş karakter (beş, nerede biter aksi durumda olduğunu varsayarak) için unicode değerlerini toplamak için iyi bir fikir olabileceğini düşünüyordum. Bu iyi bir fikir olurdu, yoksa kötü mü?

Java yapıyorum, ama bu kadar fark yaratacağını tahmin etmezdim.

CEVAP
12 NİSAN 2010, PAZARTESİ


Genellikle karma meblağlar yapmaz, durdurmak ve aynı karma tencere olacak yoksa.

ve aksi takdirde Evi ve evler aynı hash olurdu çünkü ilk n karakterleri sınırı olmaz.

Genellikle hashs değerleri alıp bir şeyler istersin diye bir asal sayı (benzersiz sağlamalarının üretmek için daha olası hale getirir) ile çarpın:

int hash = 7;
for (int i = 0; i < strlen; i  ) {
    hash = hash*31   charAt(i);
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • natescamp

    natescamp

    30 NİSAN 2009
  • TheDigiCraft

    TheDigiCraft

    25 NİSAN 2011
  • TomOdellVEVO

    TomOdellVEVO

    29 Mayıs 2012