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

  • AlaskanGrizzly

    AlaskanGrizz

    30 EKİM 2009
  • apenney888

    apenney888

    27 EKİM 2010
  • pleated-jeans

    pleated-jean

    6 HAZİRAN 2013