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

  • BrandonHarrisWalker

    BrandonHarri

    27 Kasım 2006
  • hydejiaqi

    hydejiaqi

    12 Mart 2008
  • LIVESTRONG.COM

    LIVESTRONG.C

    5 EKİM 2005