Ma’lumotlarni xeshlash algoritmlari. Xesh jadval va xesh funksiyalari



Yüklə 274,28 Kb.
Pdf görüntüsü
səhifə2/4
tarix04.11.2022
ölçüsü274,28 Kb.
#67309
1   2   3   4
0Ygi4ilsxvqxR2gIiGeo5xYg8uZjfHDtzcLDHRDR

int
h
(int
key
,
int
m
)
{
return
key 
%
m
;
}
m = 10 uchun xesh-funksiya kalitning kichik raqamini qaytaradi. 
m = 11 
Xesh jadvalda shuningdek simvolli elementlarni ham saqlash mumkin. Masalan “cat” so’zini 
saqlash kerak bo’lsin. Har bir simvol sonli kodi olinadi va ularning summasi hisoblanadi. Keyin esa 
summa m ga bo’linadi va qoldiqni xesh sifatida oladi. 


Anargamma ma’lumotlar esa bir xesh qiymatini chiqarishi mumkin. Bu masalani yechish 
uchun har bir simvol qiymatiga pozitsiya qiymati ko’paytiriladi. 
1-masala. Kalit simvollar qatordan iborat. Xesh funksiyada simvolli qator butun songa aylantiriladi, 
barcha simvollar summasi hisoblanadi va 
m ga bo’lishdan qoldiq hisoblanadi. 
#include 
<
iostream
>
using
namespace
std
;
int
h
(char
*
key
,
int
m
)
{
int

=
0
;
while(*
key
)

+=
*
key
++;
return

%
m
;
}
int
main()
{
char
key
[]
=
{
'b'
,
'a'
,
'c'
};
int

=
h
(
key
,
10
);
cout<<
s
;
return
0
;
}
Bu usulda bir xil simvoldan iborat holatda kolliziya kelib chiqadi: abc va cab. 
2-masala. Yuqoridagi usulga o’zgartirish kiritish mumkin. Faqat birinchi va oxirgi simvolni 
summasi hisoblanadi. Bunda esa abc va aec holatda kolliziya kelib chiqadi. 
#include 
<
iostream
>
#include 
<
string.h
>

Yüklə 274,28 Kb.

Dostları ilə paylaş:
1   2   3   4




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