Muxammad al-xorazmiy nomidagi tatu qarshi filiali “kompyuter injiniringi” fakulteti akt-11-21 gurux talabasi ro’ziyev bekzodning elektronik sexemalar fanidan 2-mustaqil ishi



Yüklə 0,89 Mb.
tarix23.10.2022
ölçüsü0,89 Mb.
#65972
Ròziyev Bekzod

Muxammad al-xorazmiy nomidagi tatu qarshi filiali “kompyuter injiniringi” fakulteti akt-11-21 gurux talabasi ro’ziyev bekzodning MALUMOTLAR TUZILMASI Va algoritm fanidan 3-amalliy ishi

topshirdi: ro’ziyev.b

Qabul qildi: ABLAQULOV.K

Mavzu: Saralash usullarini tadqiq qilish.

Ma‟lumotlarni kompyuterda qayta ishlashda elementning informatsion maydoni va uning mashina xotirasida joylashishini bilish zarur. Shu maqsadda ma‟lumotlarni saralash amalga oshiriladi. Demak, saralash – bu ma‟lumotlarni kalitlari bo„yicha doimiy ko„rinishda mashina xotirasida joylashtirishdan iborat. Bu yerda doimiylik ma‟lumotlarni massivda kalitlari bo„yicha o„sishi tartibida berilishi tushuniladi.

Ma‟lumotlarga qayta ishlov berilayotganda ma‟lumotning informatsion maydonini hamda uning mashinada joylashishini (adresini) bilish zarur.

Saralashning ikkita turi mavjud: ichki va tashqi:

 -ichki saralash - operativ xotiradagi saralash;

- tashqi saralash – tashqi xotirada saralash.

Agar saralanayotgan yozuvlar xotirada katta hajmni egallasa, u holda ularni almashtirishlar katta sarf (vaqt va xotira ma‟nosida) talab qiladi. Ushbu sarfni kamaytirish maqsadida, saralash kalitlar adresi jadvalida amalga oshiriladi. Bunda faqatgina ma‟lumot ko„rsatkichlari almashtirilib, massiv o„z joyida qoladi. Bu usul adreslar jadvalini saralash usuli deyiladi. Saralanayotganda bir xil kalitlar uchrashi mumkin, bu holda saralangandan keyin bir xil kalitlilar boshlangich tartibda qanday joylashgan bolsa, shu tartibda qoldirilishi maqsadga muvofiq boladi (Bir xil kalitlilar ozlariga nisbatan). Bunday usulga turgun saralash deyiladi.

Saralash samaradorligini bir necha mezonlar boyicha baholash mumkin:

saralashga ketgan vaqt;

 saralash uchun talab qilingan operativ xotira;

 dasturni ishlab chiqishga ketgan vaqt.

#include

#include

using namespace std;

struct table{

int t;

string FIO;};

int q=0;

void qs(table *a,int first,int last){

int i = first, j = last;table x =a[(first + last) / 2];

do {

while (a[i].FIO < x.FIO) i++;

while (a[j].FIO > x.FIO) j--;

if(i <= j) {

if (i < j){ swap(a[i], a[j]);q++;}

i++;

j--;

}

} while (i <= j);

if (i < last)

qs(a,i,last);

if (first < j)

qs(a,first,j);

}

int main(int args, char *argv[])

{ int n;cout<<"n=";cin>>n;

table talaba[n];

for(int i=0;i

talaba[i].t=i+1;

cin>>talaba[i].FIO;

}

qs(talaba,0,n-1);

for(int i=0;i

cout<

cout<<"quicksort algoritmi "<

}


Yüklə 0,89 Mb.

Dostları ilə paylaş:





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