Mavzu: qidiruv usullarini tadqiq qilish


Qidiruv jadvalini qayta tartibga keltirish



Yüklə 0,51 Mb.
səhifə3/3
tarix03.03.2022
ölçüsü0,51 Mb.
#84300
1   2   3
MT 2

Qidiruv jadvalini qayta tartibga keltirish

Umuman olganda, jadvalda har bir elementni qidirish ehtimolligini qandaydir bir qiymat bilan izohlash mumkin. Faraz qilaylik jadvalda qidirilayotgan element mavjud. U holda qidiruv amalga oshirilayotgan jadvalni diskret holatga ega tizim sifatida qarash mumkin hamda unda qidirilayotgan elementni topish ehtimolligi – bu tizim i-chi holati ehtimolligi p(i) deb olish mumkin.

Jadvalni diskret tizim sifatida qaraganimizda, undagi taqqoslashlar soni diskret tasodifiy miqdorlar qiymatlarini matematik kutilmasini ifodalaydi.



Z=Q=1*p(1)+2*p(2)+3*p(3)+…+n*p(n)

Ma’lumotlar jadvalda quyidagi ko‘rinishda tartiblangan bo‘lishi lozim:



p(1)p(2) p(3) …p(n).

Bu shart taqqoslashlar sonini kamaytirib, samaradorlikni oshiradi. Sababi, ketma-ket qidiruv birinchi elementdan boshlanganligi uchun eng ko‘p murojaat qilinadigan elementni birinchiga qo‘yish lozim.

Qidiruv jadvalini qayta tartibga keltirishning eng ko‘p ishlatiladigan ikkita usuli mavjud. Ularni bir bog‘lamli ro‘yhatlar misolida ko‘rib chiqamiz.


  1. Topilgan elementni ro‘yhat boshiga qo‘yish orqali qayta tartibga keltirish.

  2. Transpozitsiya usuli.




Masala:

Find 30”


90

50

30

70

25

13



  1. Ketma-ket qidiruv usulidan foydalanib, ro‘yhat eng kichik elementini toping.

#include

#include

using namespace std;

int main(){

int n;

cout<<"Ro`yxatning elementlari sinoni kiriting: ";cin>>n;



cout<<"Ro`yxatning elementlarini kiriting: ";

lista;

for(int i=0,x;i

cin>>x;


a.push_back(x);}

int mn=a.front();

for(int x: a){

if(x

cout<<"Ro`yxatning eng kichik elementi: "<

Yüklə 0,51 Mb.

Dostları ilə paylaş:
1   2   3




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

    Ana səhifə