“Ma’lumotlar tuzilmasi va algoritmlar” fanidan 1-hafta laboratoriya ishi bajarishga namuna


Pythonda dastur kodi: a=map(int,input('massiv elementlarini kiriting: ').split())


Download 1.19 Mb.
bet2/2
Sana10.09.2023
Hajmi1.19 Mb.
#1675201
1   2
Bog'liq
MTA 2-amaliy ish 2023

Pythonda dastur kodi:

a=map(int,input('massiv elementlarini kiriting: ').split())

a=list(a)

key=int(input('Qidirilayotgan elementni kiritng: '))

def chiz_qid(a,key):

for x in range(len(a)):

if a[x]==key:

return x+1

return -1

print(chiz_qid(a,key))

Binar qidiruv algoritmi

Binar qidiruv algoritmi

C++ da dastur kodi:


#include
using namespace std;
// qidirish funksiyasi
int Search_Binary (int arr[], int left, int right, int key){
int midd = 0;
while (1) {
midd = (left + right) / 2;
if (key < arr[midd]) // agar kerakli qiymat yacheykadagi qiymatdan kichik bo'lsa
right = midd - 1; // qidiruvning o'ng chegarasini siljiting
else if (key > arr[midd]) // agar kerakli qiymat indeksdagi qiymatdan katta bo'lsa
left = midd + 1; // Chap tarafdagi qidiruv chizig'ini o'lchang
else
return midd; // funksiyasi indeksni chaqiradi
if (left > right) // agar chegara to'liq bo'lsa
return -1;
}
}


int main(){
setlocale (LC_ALL, "rus");
const int SIZE = 12;
int array[SIZE] = {};
int key = 0;
int index = 0; // yuqori qiymatli raqamlar indeksi
for (int i = 0; i < SIZE; i++) {
array[i] = i + 1;
cout << array[i] << " | ";
}
cout << "\n\nIxtiyoriy son kiriting: ";
cin >> key;
index = Search_Binary (array, 0, SIZE, key);
if (index >= 0)
cout << "Berilgan son joylashtirilgan: " << index << "\n\n";
else
cout << "Massivda bunday element yo'q!\n\n";
return 0;

Pythonda dastur kodi:

def binar_qid(lst,key):

chap=0

ung=len(lst)-1

while ung>=chap:

mid=(chap+ung)//2

if key

ung=mid-1

elif key==lst[mid]:

return mid

else:

chap=mid+1

return -1

lst=[8,14,26,28,38,47,56,60,64,69,70,78,80,82,84,87,90,92,98,108]

print(binar_qid(lst,82))

Mustaqil bajarish uchun topshiriq

  • Ketma-ket qidiruv usulidan foydalanib, ro’yxatda berilgan kalitdan katta elementlarni toping.
  • Mashina raqamlari ro’yxati berilgan: 069, 070, 230, 345, 368, 564, 687, 701, 876, 905, 926, 937, 955. Binar qidiruvdan foydalanib berilgan raqamli mashina qaysi joyda turganini toping?

E’tiboringiz uchun rahmat!!!


Laboratoriya topshiriqlarini vaqtida bajaring va mustaqil bilimga ega bo’lin!!!
Download 1.19 Mb.

Do'stlaringiz bilan baham:
1   2




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling