Dastur kodi
#include
using namespace std;
int main(){
int n;
cout<<"n=";
cin>>n;
int k[n];
for(int i=0;i
cin>>k[i];
int key, search;
cout<<"qidirilayotgan elementni kiriting=";
cin>>key; int low = 0;
int hi = n-1; int j=0; while (low <= hi){
int mid = (low + hi) / 2;j++; if (key == k[mid]){
search = mid;
cout<<"qidirilayotgan element "<
system("pause"); exit(0);
}
if (key < k[mid])
hi = mid - 1; else low = mid + 1;
}
search=-1;
cout<
system("pause");
Dastur natijasi
n=6
1 2 3 4 5 6
qidirilayotgan elementni kiriting=6
qidirilayotgan element 6 o'rinda turibdi va u 3 ta solishtirishda toplidi
Biz tomonimizdan topilgan uchinchi element ro’yhat boshiga bir qadam suriladi (ya’ni ikkinchi bo’lib qoladi). Birinchi element Ko’rsatkichi uchinchi elementga joylashtiriladi, ikkinchi element Ko’rsatkichi to’rtinchi, shunday qilib uchinchi element ikkinchi joyga joylashib qoladi. Agar mazkur elementga yana bir bor murojaat qilinsa, u holda u ro’yhat boshida bo’lib qoladi.
node *s=NULL; node *q=NULL; node *p=table; while (p != NULL){
if (key == p->k){ //transponerlaymiz
if( q ==NULL){//o‘rinlashtirish shart emas search=p;
exit(0);
}
q->nxt=p->nxt; p->nxt=q;
if (s == NULL) table = p; else s->nxt = p;
search=p; exit(0);
}
s=q; q=p;
p=p->nxt;
}
search=NULL; exit(0);
TOPSHIRIQ
1. “Printer”, “Skaner”, “Monitor”, “HDD”, “SSD ”, “Key ”, “chip”, “mouse”, “Ploter ”, “webcam” ma’lumotdan foydalangan xolda ASCII kodlari topilsin , ular asosida kalit aniqlansin, xesh jadvallar tuzilsin indexlar ishtirokida.
#include
using namespace std;
int main(){
setlocale(LC_ALL, "");
string s;
getline(cin,s);
for (size_t i = 0; i < s.size(); ++i)
{
if (s[i]!=' ') cout << "<" << (int)(s[i] & 255) << ">";
else cout<
}
return 0;}
Принтер Сканер Монитор ХДД ССД Кей Чип Моусе Плотер Вебкам
2.1-LABORATORIYA ISHI.
Mavzu: Xesh funksiyalar va xesh algoritmlarini tuzish.
Ishdan maqsad: Ushbu laboratoriya ishining maqsadi talabalar xesh funksiyalar va algoritmlari mavjudligini va ularning samaradorliklarini baholashni o’rganishlari kerak.
Qo’yilgan masala: Talabalar topshiriq variantiga mos qidirish usuli yordamida masalani yechish dasturini yaratish ko’nikmasiga ega bo’lishlari kerak.
Ish tartibi:
Tajriba ishi nazariy ma’lumotlarini o’rganish;
Berilgan topshiriqning algoritmini ishlab chiqish;
Natijalarni tekshirish;
Hisobotni tayyorlash va topshirish.
"Xesh" so'zi ingliz tilidagi «hash» so’zidan olingan bo’lib, uning ma'nosi “shovqin” yoki “aralash” kabi ta'riflanadi. Aslida, bular atamaning haqiqiy ma'nosini to'liq ifodalaydi.
1. Xesh jadvalni tashkil etish: asosiy tushunchalar
• Xeshlash – bu ma'lum bir turdagi va ixtiyoriy uzunlikdagi kirish ma'lumotlari massivini fiksirlangan uzunlikdagi chiquvchi bitlar qatoriga (butun son) aylantirish. Bunday akslantirish (aylantirish) xesh-funksiya deb ham ataladi. Xesh-funksiya – bu kirish ma’lumotlarini sonlarga aylantiruvchi funksiya bo’lib, bir xil ma’lumotlar to’plami hamma vaqt bir xil natija beradi.
•Xesh-jadval – bu elementlari “kalit-qiymat” juftliklari bo'lgan assotsiativ massiv shaklidagi ma'lumotlar tuzilmasi.
• Xeshlash assotsiativ massivlarni tashkil qilish uchun qo’llaniladi, bunda indekslari sonlar emas, balki ixtiyoriy qiymatlar bo’ladi. Xeshlashdan odatda matnlardan nusxalarning takrorlanishini qidirishda, ya'ni xesh-funksiyalarining bir xil qiymatiga ega bo'laklarni qidirishda foydalaniladi. Bundan tashqari, xeshlash ko'pincha parollarni saqlash uchun ishlatiladi; shu bilan birgalikda noyob identifikatorlarni yaratish uchun, masalan, agar fayl o'ziga xos nomni talab qilsa, siz ushbu faylni xeshlash natijasini hisoblab chiqishingiz va natijani faylga nom sifatida ishlatishingiz mumkin. Shuningdek, bu matnlarning nazorat summasini hisoblash uchun juda muhimdir. Aytaylik, foydalanuvchi tarmoq orqali bir nechta matn yuborishi kerak. Tekshirish summasi matn bilan birga uzatiladi, olinganidan keyin asl nusxasi bilan tekshiriladi. Agar summasi mos kelmasa, demak matnni uzatishda qandaydir xatolik bo’lganligi haqida xulosa qilish mumkin bo’ladi.
• Biroq, ko'pincha kirishdagi turli uzunlikdagi bir nechta turli xil ma'lumotlar, chiqishda bir xil ma'lumotlarga mos kelishi mumkin. Turli xil ma'lumotlar bir xil xush qiymatiga ega bo'lgan holatlar kolliziya (to'qnashuv) deb ataladi (2-rasm). Bunday holda, xeshlash algoritmi har xil ma'lumotlarning har xil qiymatga ega bo'lishini ta'minlashga intilishi kerak. Kamdan kam hollarda kolliziyalarning oldini olish mumkin.
2-rasm. Kolliziyaga misol: xeshlash natijasida xesh funksiya K2 va K3 kalitlar uchun bir xil qiymat bergan.
• Xesh-jadval – assotsiativ massivni tatbiq etish uchun qo’llaniladigan interfeys hisoblanadi. Unda kalitlar va xeshlangan kalitlardan tashkil topgan juftliklar saqlanadi. Xesh-jadval unga yangi juftlik qo’shish, kaliti bo’yicha juftliklarni qidirish va o’chirish imkonini beradi. Xesh-jadval xesh-funksiya tomonidan ma’lum bir tartibda shakllanadi.
Do'stlaringiz bilan baham: |