Massivlarni birlashtirib saralash algoritmi

|
Massivlarni birlashtirib saralash algoritmi
|
bet | 7/7 | Sana | 10.02.2024 | Hajmi | 0,54 Mb. | | #154413 |
Bog'liq 1-topshiriq tayyor 092.3 Massivlarni birlashtirib saralash algoritmi
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])
{
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();
}
}
}
II. Loyixa qism
Berilgan String dagi 'a' charlarini 'p' charlari bilan almashtiring dasturiy masalasi bizda berilgan ushbu masalani quydagi tartibda dasturlash orqali dasturini tuzamiz:
DASTUR JAVOBI:
XULOSA
Men ushbu loyiha ishini yozish davomida massivlar haqida ancha malumotga ega bo'ldim. Ushbu loiha 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 loiyha ishi orqali saralashning 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 loyiha 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 loyiha ishi dasturlash olamiga kirib borishimga katta poydevor vazifasini o’tab beradi.
FOYDALANILGAN ADABIYOTLAR
1. Абрамов С.А. и др. Задачи по программированию.-М.:Наука, 1988.-224 стр.
2. Gulomov S.S. va boshqalar. Axborot tizimlari va texnologiyalari. Toshkent, 2000
3. Ахо А., Хопкрофт Дж. Построение и анализ вычислительных алгоритмов. - М: Мир, 1979 г., 535 с.
4. Вирт Н.. Алгоритмы и структуры данных. – Досса, Хамарайан, 1997.
5. Кнут Д. Искусство программирования для ЭВМ. Основные алгоритмы.-М: Мир, 2000 г. 6. Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы: построение и анализ. М.: МЦНМО, 2001.- 960 с.
7. Лебедев В.И. Введение в системы программирования. М: Статистика, 1975
8. Поляков Д.Б., Круглов И.Ю. Программирование в среде Turbo Pascal: Справ.-метод. пособие.- М.: Изд-во МАИ, 1992.-576 с.
9. Попов В.В. Общение с ЭВМ на естественном языке. М:Наука, 1982.
10.Тыугу Х. Концептуальное программирование. М: Наука, 1984.
11.Успенский В.А., Семенов А.Л.. Теория алгоритмов: основные открытия и приложения. М: Наука, 1987, 287 с.
12.Файсман А. Профессиональное программирование на Турбо-Паскале.- Info&F, 1992.-270 стр.
INTERNET SAYTLAR.
1. http:\\acm.tuit.uz
2. http:\\Referat.arxiv.uz
3. http:\\Ziyonet.uz
4. http:\\dastur.uz
5. http://fayllar.org
|
| |