Va kommunikatsiyalarini rivojlantirish vazirligi muhammad al-xorazmiy nomidagi toshkent aborot texnalogiyalar universiteti



Yüklə 27,28 Kb.
tarix10.12.2023
ölçüsü27,28 Kb.
#139267
MTA 2-amaliy ishyangi


O`ZBEKISTON RASPUBLIKASI AXBOROT TEXNALOGIYALARI
VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI


MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT ABOROT
TEXNALOGIYALAR UNIVERSITETI


Ma’lumotlar tuzilmasi va algoritmlar
2-AMALIY ISHI


Guruh: SWD001-3
Bajardi: Norqulova Maftuna
Tekshirdi: Mo’minov Sanjar


Toshkent 2023
2-AMALIY MASHG’ULOT.
MAVZU: Qidirish va saralash algoritmi.
9-variant

  1. To’g’ridan-to’g’ri qo’shish usuli bilan saralash algoritmi(insertion sort)

  2. Tanlash orqali saralash algoritmi (Selection sort)

  3. Pufaksimon saralash algoritmi (Bubble sort)

  4. Chiziqli qidirish(linear search)

E. Binar qidirish(binary search)
Nazariy ma’lumot
Tanlash orqali saralash algoritmi
Mazkur usul quyidagi tamoyillarga asoslangan:
1. Eng kichik kalitga ega element tanlanadi.
2. Ushbu element a0 birinchi element bilan o’rin almashinadi.
3. Keyin mazkur jarayon qolgan n-1, n-2 elementlar bilan takrorlanib, to
bitta eng “katta” element qolguncha davom ettiriladi.
for(int i=0;ifor(int j=i+1;jif (a[i] > a[j]){
int k = a[j];
a[j]= a[i];
a[i]= k;
}
Algoritm samaradorligi:
-Taqqoslashlar soni

-Massiv tartiblanganda o’rinlashtirishlar soni


-Massiv teskari tartiblanganda o’rinlashtirishlar soni
Ushbu usul bo’yicha saralash bajarilsa, eng yomon holda taqqoslashlar va
o’rinlashtirishlar soni tartibi n^2 bo’ladi.
2.4. Pufaksimon saralash algoritmi
Ushbu usulning g’oyasi quyidagicha: n - 1 marta massivda quyidan yuqoriga
qarab yurib kalitlar jufti-jufti bilan taqqoslanadi. Agar pastki kalit qiymati
yuqoridagi jufti kalitidan kichik bo’lsa, u holda ularning o’rni almashtiriladi (3.1-
rasm). Misol : massiv - 4, 3, 7, 2, 1, 6
3.1-rasm. Pufaksimon saralash usulida massiv elementlarining o’rnini almashtirish
Pufaksimon usulni massiv elementlarida pastdan yuqoriga va
yuqoridan pastga
o’tishni bir vaqtda amalga oshirish natijasida yaxshilash mumkin.
-
Taqqoslashlar soni:
-Almashtirishlar soni:

“Pufaksimon” saralash usulini hisoblashga misol


3.2-rasm. Massivni pufaksimon saralashga misol
3.2-rasmda berilgan misolda 5 ta elementdan iborat massiv berilgan. Demak,
massivda pastdan yuqoriga (yuqoridan pastga) o’tishlar soni 5-1=4 marta bo’ladi.
Misoldan ko’rinib turibdiki, algoritm ichki siklda 3-qadamdan boshlab
massivni “bekor” qayta ishlaydi, 4-qadamni bajarmasa ham bo’ladi.
Berilgan usullarning afzalligi:
1) Eng sodda algoritm;
2) Amalga oshirish sodda;
3) Qo’shimcha o’zgaruvchilar shart emas.
Kamchiliklari:
1) Katta massivlarni uzoq qayta ishlaydi;
2) Har qanday holatda ham o’tishlar soni kamaymaydi.

Toq va juft sonlardan tashkil topgan B massiv berilgan. Barcha toq sonlarni chiqarib, juft sonlarini To’g’ridan-to’g’ri qo’shish usuli bilan saralash algoritmidan foydalanib o’sish tartibda joylashtiruvchi dastur tuzing.



KOD:
#include
using namespace std;

void oddEvenSort(int arr[], int n) {


bool isSorted = false;

while (!isSorted) {


isSorted = true;

// Saralash jarayoni to'g'ri sonlarga mos keladigan joylar orqali


for (int i = 1; i <= n - 2; i += 2) {
if (arr[i] > arr[i + 1]) {
swap(arr[i], arr[i + 1]);
isSorted = false;
}
}

// Saralash jarayoni toq sonlarga mos keladigan joylar orqali


for (int i = 0; i <= n - 2; i += 2) {
if (arr[i] > arr[i + 1]) {
swap(arr[i], arr[i + 1]);
isSorted = false;
}
}
}
}

int main() {


int arr[] = {9, 3, 5, 1, 7, 8, 2, 4, 6};
int n = sizeof(arr) / sizeof(arr[0]);

oddEvenSort(arr, n);

cout << "Odd-Even Sorted array: ";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}

return 0;


}
NATIJA:

Yüklə 27,28 Kb.

Dostları ilə paylaş:




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

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin