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

  • David Wills

    David Wills

    31 Aralık 2007
  • LaKe Lightroom Tutorials

    LaKe Lightro

    22 Temmuz 2014
  • maxman.tv

    maxman.tv

    29 EKİM 2013