Xeshlew tu’sinigi



Yüklə 22,94 Kb.
səhifə2/3
tarix21.12.2023
ölçüsü22,94 Kb.
#188538
1   2   3
Xeshlew tu

Xesh keste metodlari
Bo’liw usılı. Dáslepki maǵlıwmat bul qandayda bir bir key pútkil gilt hám m ólshemli keste. Bul funksiya nátiyjesi keste ólshemin gilt bolıwdan qalǵan qaldıq.
int h (int key, int m) {
return key % m;
}
m = 10 ushın xesh-funksiya gilttin’ kishi nomerin qaytaradı.
Xesh kestede sonıń menen birge simvolli elementlerdi de saqlaw múmkin. Mısalı “cat” sózin saqlaw kerek bolsın. Hár bir simvol sanlı kodı alınadı hám olardıń summası esaplanadı. Keyin bolsa summa m ga bólinedi hám qaldıqtı xesh retinde aladı.
1-másele. Gilt simvollar qatardan ibarat. Xesh funksiyada simvolli qatar pútkil sanǵa aylantırıladı,
barlıq simvollar summası esaplanadı hám m ga bolıwdan qaldıq esaplanadı.
#include
using namespace std;
int h(char *key, int m) {
int s = 0;
while(*key)
s += *key++;
return s % m;
}
int main()
{
char key[] = {'b', 'a', 'c'};
int s = h(key, 10);
cout<return 0;
}
Bul usılda birdey simvoldan ibarat jaǵdayda kolliziya kelip shıǵadı : abc hám cab.
Kvadrat ortası usılı. Gilt kvadratqa asıriladı hám indeks retinde alınǵan bahanıń bir neshe
orta nomerleri alınadı.
3-másele. Gilt 32 bıyt san, xesh funksiya baha retinde kvadrattıń orta daǵı 10 bıyt alınadı.
#include
#include
using namespace std;
int h(int key)
{
key *= key;
key >>= 11; //11 ta kichik bit olib tashlanadi
return key % 1024; //10 kichik bitni oladi
}
int main()
{
int key = 145;
int s = h(key);
cout<return 0;
}
KOLLIZIYA MA’SELESIN SHESHIW
Sızıqlı probalash usılında kolliziya máselesin sheshiw múmkin. Eger esaplanǵan xesh ma`nisi
kórsetken orında basqa element ámeldegi bolsa ol halda ol jaǵdayda keyin bos orın qıdırıladı. Bos
orın tabılǵanda baha sol orınǵa jazıladı.

Yüklə 22,94 Kb.

Dostları ilə paylaş:
1   2   3




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin