Masivlarni tashkil etish


Download 433 Kb.
bet7/7
Sana19.02.2023
Hajmi433 Kb.
#1215161
1   2   3   4   5   6   7
2.2 2-rasm. Bog‘langan ro‘yxatlar konkatenatsiyasi
Taqqoslanma saralashlarning bajarilish vaqtlari. Qo‘yish usuli. Agar ichki siklga qarasak yozuvlarning tartiblangan qismiga qo‘shilgan element qolgan elementlardan kichik bo‘lsa operasiyalar eng ko‘p bajariladi. Bu holda location o‘zgaruvchisi 0 ga teng bo‘lganda sikl o‘z ishini tugatadi. SHuning uchun yangi element massiv boshiga qo‘shilganda algoritm eng ko‘p bajariladi. Bunday holat joriy massivning elementlari kamayish tartibida joylashgan bo‘lsa bo‘lishi mumkin. Bu yomon holatlardan biridir.

Bunday massivni qayta ishlash jarayoni qanday bo‘lishini ko‘rib chiqamiz. Birinchi massivning ikkinchi elementi qo‘yiladi. U faqat bitta element bilan solishtiriladi. Ikkinchi qo‘yiladigan element (tartib buyicha uchinchi) oldingi ikkita element bilan, uchinchi qo‘yilgan element oldingi uchta element bilan solishtiriladi. Umuman olganda i - qo‘yiladigan element oldingi i ta element bilan solishtiriladi va bu jarayon N-1 marta takrorlanadi.




2.3 Massivlarni birlashtirib saralash algoritmi
17
Birlashmali saralash (Merge Sort) algoritmi asosiy beshta saralash algoritmlari (pufakchali saralash, tezkor saralash va boshqalar) dan biri bo`lib, chiziqli saralash algoritmlaridan farqli ravishda "bo`lib tashla va hukmronlik qil" tipidagi algoritm hisoblanadi.

Bu tipdagi algoritmlar katta hajmdagi masalalarni nisbatan kichik bo`lgan va oson yechiladigan qismlarga ajratgan holda bajaradi. Bunday algoritmlar masalalarni hal qilishda vaqtdan katta yutuq qilish imkonini beradi.


Birlashmali saralashda biz berilgan massivni uzunligi faqat 1 elementga teng bo`lgan qismlar qolmaguncha o`rtasidan ajratamiz. Keyin bu qismlar to`g`ri tartibda birlashtiriladi.




using System; namespace Asosiy

{ class Program


{ static void Main(string[] args)


{


Console.WriteLine("Nechta harflarni saralaymiz?"); int N = Convert.ToInt32(Console.ReadLine());

Console.WriteLine("Saralanishi kerak bo'lgan harflarni kiriting:"); char[] mas=new char[N]; for (int i = 0; i < mas.Length; i++)


{ mas[i] = Convert.ToChar(Console.ReadLine());


} char temp; for


(int i = 0; i < mas.Length;


i++)

{ for (int j = i + 1; j < mas.Length; j++) { if (mas[i] > mas[j])


18


{ temp = mas[i]; mas[i] = mas[j]; mas[j] = temp;

}


}

}


Console.WriteLine("Saralashdan keyin:"); for (int i =

0; i < mas.Length; i++)


{


Console.WriteLine (mas[i].ToString());

}


Console.ReadKey();

}


}

}

19


2.3 1-rasm.

Dastur algoritmini ko’rib chiqamiz:

Boshlash


Nechta
raqamlarni


24

21
Yo q

mas[i]


Tamom




XULOSA

Men ushbu LOYHA ishini yozish davomida Algoritmlar nazaryasi fanini va dasturlash texnalogiyalarini ya’ni dasturchilikni o’rganishda algoritmlar nazaryasi fanini dasturlash tillariga bog’lashni, dasturlarning algoritmlarini tuzishni o’rganishga bo’lgan bilimlarni egallashda katta poydevor bo’ldi. BU LOYHA ishi orqali bilim va ko’nikmalarimni oshirib oldim, men kelajakda ushbu bilimlarimni rivojlantirib yetuk mutaxasis bo’lishga harakat qilaman.


Saralash orqali ko’p masalalarni hal qilsa bo’ladi. Katta-katta masalalarni oddiy va sodda qilib ishlab chiqsa bo’lar ekan. Bu kurs ishi orqali saralashning



22


qanchlik qiziqarli va samarali mavzu ekanligini bildim. Bundan tashqari juda ko’p yangi usullar orqali saralash bilan turli xil chiroyli va qiziqarli masalarni hal qilish, va shu kabi misollarni tez bajara olish qobilyatini hosil qildim. Bu LOYHA ishi orqali men mustaqil oddiy saralashlarni hal qiladigan dasturlar tuza olish qobilyatiga ega bo’ldim.

Kundalik hayotimizda juda ko’p qo’llaniladigan saralash har doim har bir ishimizda foydalanamiz. O’ylaymanki bu LOYXA ishi dasturlash olamiga kirib borishimga katta poydevor vazifasini o’tab beradi.


23


FOYDALANILGAN ADABIYOTLAR



  1. Абрамов С.А. и др. Задачи по программированию.-М.:Наука,




1988.224 стр.













2.

Gulomov

S.S. va

boshqalar. Axborot

tizimlari

va

texnologiyalari. Toshkent, 2000







3.

Ахо А.,

Хопкрофт Дж. Построение и

анализ




вычислительных алгоритмов. - М: Мир, 1979 г., 535 с.







  1. Вирт Н.. Алгоритмы и структуры данных. – Досса, Хамарайан,

1997.

5. Кнут Д. Искусство программирования для ЭВМ.

Основные

алгоритмы.-М: Мир, 2000 г. 6. Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы:

построение и анализ. М.: МЦНМО, 2001.- 960 с.





  1. Лебедев В.И. Введение в системы программирования. М:

Статистика, 1975





  1. Поляков Д.Б., Круглов И.Ю. Программирование в среде

Turbo Pascal: Справ.-метод. пособие.- М.: Изд-во МАИ, 1992.-576 с.





  1. Попов В.В. Общение с ЭВМ на естественном языке.

М:Наука, 1982.


10.Тыугу Х. Концептуальное программирование. М: Наука, 1984.


11.Успенский В.А., Семенов А.Л.. Теория алгоритмов:


основные открытия и приложения. М: Наука, 1987, 287 с.


12.Файсман А. Профессиональное программирование


на ТурбоПаскале.- Info&F, 1992.-270 стр.




INTERNET SAYTLAR.



  1. http:\\acm.tuit.uz




  1. http:\\Referat.arxiv.uz




  1. http:\\Ziyonet.uz




  1. http:\\dastur.uz




  1. http://fayllar.org



24

Download 433 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




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