#2 Izlew ha’m tan’law algoritmleri



Download 14,3 Kb.
Sana28.04.2020
Hajmi14,3 Kb.
#48012
Bog'liq
391 3 [43](3)I2


#2 Izlew ha’m tan’law algoritmleri

Dizimdegi kerekli mag’liwmatlardi qidiriw teoriyaliq dasturlewdin’ waziypalarinin’ tiykarg’I na’rselerinen biri bolip esaplanadi. Qidiriw algoritmlerin taliqlap atirg’a waqitta, mag’liwmat bazi bir dizimdi payda etetin jaziwlarda bar bolg’an dep oylaymiz. Jaziwlar yamasa dizimler elementleri massivde jaylasqan boladi ha’m olar arasinda hesh qanday bosliq bolmawi kerek. Sanlardi jazamiz ha’m dizimde jaziwlardin’ uluwmaliq sani 1 den n ge shekem. Negizinde jaziwlar maydanlardan ibarat boliwi mu’mkin, biraq bizler ushin usi maydanlardan tek g’ana birewinin’ ma’nisine qizig’amiz. Ha’m bul gilt dep ataladi. Dizimler gilt maydanin’ ma’nisine qarap sortlanbag’an yamasa sortlang’an boliwi mu’mkin. Sortlanbag’an dizimde ma’nisler ta’rtipsiz jaylasqan boladi al sortlang’an o’siw ta’rtibinde dizimde izbe-iz jaylasqan boladi.

Sortlanbag’an dizimde kerek bolg’an gilt ma’nisin qidiriw dizimnin’ bar bolg’an elementlerin izlep atqan ma’niske ten’ bolaman degenshe ko’rip shig’iwdan ibarat boladi. Bul en’ an’sat ha’m a’piwayi algoritmlerden biri bolip esaplanadi. Bul algoritmnin’ effektivligi joqari emes ha’m ol ta’rtibsiz dizimde isleydi.

Sortlang’an dizimde ekilik qidiriw mu’mkin boladi. Ekilik qidiriwdi salistirsaq, onda izbe-iz jaylasqan elementlerden bir elemnti salistiriw ushin bir neshshe elementlerdi taslap qoyadi. Na’tiyjede qidiriw effektivli boladi.


Izbe-iz qidiriw algoritmi

Qidiriw algoritmlerinde bizge qandayda bir elementti izlewdegi dizimdi ko’rip shig’iw protsessi qiziq boladi. Biz bunda elementler dizimin sortlanbag’an dep esaplaymiz, sebebi bazi bir algoritmler sortlanbag’an dizimde effekti joqari boladi. Adette qidiriw izlep atirg’an giltimiz dizimde tek g’ana bar yamasa joq ekenligin aniqlaw esem yag’niy sol haqqinda toliq mag’liwmatqa iye boliw. Misali gilt ma’nis degenimiz jumisshinin’ nomeri yamasa tartib sani, yamasa basqa da identifikasiyon nomeri boliwi mu’mkin. Kerek bolg’an gilt aniqlang’annan son’ programma sol element benen baylanisli mag’liwmatlardi o’zgertiwge yamasa sol mag’liwmatlardi shig’arip beriwdi soraymiz. Izlew algoritminin’ maqsedi izlenip atirg’an giltimizdin’ jaylasqan ornin tawip beriwden ibarat boaldi. Sonliqdan qidiriw algoritmi dizimde indeksdi tawip beredi. Eger gilt ma’nis tawilmasa onda qidiriw algoritmi massivdin’ en’ joqarg’I shegarasinin’ u’stindegi indeksin shig’arip beredi. Dizimdegi jaziwlar 1 den n ge shekem bar bolsa biraq gilt ma’nisimiz joq bolsa onda bizge 0 ma’nisin qaytarip beredi. Izbe-iz qidiriw algoritmi dizimde birden baslap izlep atirg’an element tawilaman degenshe birme bir ko’rip shig’adi. Bunnan ko’rinip turipti gilt ma’nis dizimde turiwina baylanisili onin’ izlewine sonsha waqit ketedi.


public class Siziqli_izlew {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

int n; int search, find, index;

n = input.nextInt();

int [] a = new int [n];

for(int i=0; i

{ a[i] = (int)(Math.random() * 50); }

System.out.println(Arrays.toString(a));

System.out.println("Qidirilib atirgan sandi kiritin = ");

search= input.nextInt();

for(int i=0; i

{ if(search == a[i])

{ search = a[i];

index = i;

System.out.println("search number= "+ search + " "+ "index= "+index);

} } } }
Binar qidiriw algoritmi:

Belgilangan ro'yxatning o'rta elementi bilan maqsadli qiymatni taqqoslashda uchta natijadan bittasini olish mumkin: qiymatlar teng, maqsad qiymati ro'yxat elementidan kamroq yoki maqsad qiymati ro'yxat elementlaridan kattaroqdir. Birinchi va eng yaxshi holatda, qidiruv yakunlandi. Qolgan ikkita holatda biz ro'yxatning yarmini tushirishimiz mumkin.

Agar maqsad qiymati o'rta elementdan past bo'lsa, biz bilamizki, agar u ro'yxatda bo'lsa, u ushbu o'rta elementdan oldin. Agar u o'rta elementdan kattaroq bo'lsa, biz bilamizki, agar u ro'yxatda bo'lsa, unda bu o'rtadagi elementdan keyin. Bu bitta taqqoslash bilan biz ro'yxatning yarmini tashlab yuborishimiz uchun etarli. Ushbu protsedurani takrorlashda biz ro'yxatning qolgan qismini yarmiga tashlashimiz mumkin.
Saralash tanlov usuli
public class Tanlaw_sort {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

int n; n = input.nextInt();

int [] a = new int [n];

for(int i=0; i

{ a[i] = (int)(Math.random() * 50); }

System.out.println(Arrays.toString(a));

for (int i = 0; i < a.length; i++) {

/* Birinchi element (elementlarning har bir kichik qismida) minimal deb taxmin qilamiz */

int min = a[i];

int min_i = i;

/* Ichki qismning qolgan qismida biz kutilgan minimal darajadan past bo'lgan elementni qidiramiz */

for (int j = i+1; j < a.length; j++) {

//topilgan elementni saqlab qolamiz

if (a[j] < min) {

min = a[j];

min_i = j; } }

/* Agar mavjud holatdan kichikroq element topilsa, biz ularni almashtiramiz */

if (i != min_i) {

int tmp = a[i];

a[i] = a[min_i];

a[min_i] = tmp; } }

System.out.println(Arrays.toString(a)); }}


Binar qidiruw
static void BinarySearch(int [] a, int search)

{ int low=0; System.out.println("low= " +low);

int high = a.length -1; System.out.println("high= " + high);

while(low <= high)

{ int mid = (low + high) /2;

System.out.println("mid= " + mid);

if(search >= a[mid])

{ low = mid +1;

System.out.println("low= " + low); }

else if (search <= a[mid])

{ high = mid -1;

System.out.println("high= " + high); }

else break;

if (a[mid] == search)



{ System.out.println("san= "+ search + " "+ "index= "+mid);}

} }
Download 14,3 Kb.

Do'stlaringiz bilan baham:




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish