ACADEMIC RESEARCH IN MODERN SCIENCE
International scientific-online conference
154
SARALASH ALGORITMLARINING SAMARADORLIGINI
ALGORITMIK TAHLIL QILISH VA C++ DASTURLASH TILI
YORDAMIDA TADBIQ ETISH
Muhriddin Qulmatov
Naziraliyev O‘rinboy
Ilhom Jumabekov
*UMFT universiteti “Kommunikatsiya va raqamli texnologiyalar” kafedrasi katta
o‘qituvchisi muxroka2525@gmail.com , Tel:+998-95-039-25-25
UMFT universiteti “Kommunikatsiya va raqamli texnologiyalar” kafedrasi katta
o‘qituvchisi naziraliyevurinboy1996@gmail.com
UMFT universiteti “Kommunikatsiya va raqamli texnologiyalar” kafedrasi
assistent o‘qituvchisi jumabekovilhom@gmail.com
https://doi.org/10.5281/zenodo.15518240
Аннотация:
В этой статье сравниваются основные типы алгоритмов
сортировки – Bubble sort, Insertion sort и quick sort-на основе
алгоритмического анализа. Приведен принцип работы каждого алгоритма,
наихудшие (worst-case), средние (average-Case) и лучшие (Best-Case)
временные сложности выполнения, код приложения, а также сравнения
производительности в виде таблиц. С помощью языка программирования
CM алгоритмы тестируются на реальных данных и анализируются их
преимущества и недостатки.
Annotation:
This article compares the main types of sorting algorithms –
Bubble sort, Insertion sort, and quick sort-based on algorithmic analysis. The
principle of operation of each algorithm is given, the worst (worst-case), average
(average-Case) and best (Best-Case) time complexity of execution, application
code, as well as performance comparisons in the form of tables. Using the CM
programming language, algorithms are tested on real data and their advantages
and disadvantages are analyzed.
Annotatsiya:
Ushbu maqolada saralash algoritmlarining asosiy turlari –
Bubble Sort, Insertion Sort va Quick Sort – algoritmik tahlil asosida solishtiriladi.
Har bir algoritmning ishlash prinsipi, eng yomon (worst-case), o‘rtacha
(average-case) va eng yaxshi (best-case) ishlash vaqt murakkabliklari, amaliy
dastur kodi hamda jadval shaklida samaradorlik solishtiruvlari keltirilgan. C++
dasturlash tili yordamida algoritmlar real ma’lumotlarda testdan o‘tkazilib,
ularning afzallik va kamchiliklari tahlil qilinadi.
Kalit so‘zlar:
NLP,
BERT, GPT, Self-Attention, TensorFlow, HuggingFace,
Multi-Head, RNN, LSTM, GRU.
Saralash (sorting) — dasturlashda eng muhim va ko‘p uchraydigan
muammolardan biri. Ma’lumotlar omborlarida, qidiruv tizimlarida, grafik
ACADEMIC RESEARCH IN MODERN SCIENCE
International scientific-online conference
155
chizmalarida tartiblangan ma’lumotlar bilan ishlash tezlik va aniqlikni
ta’minlaydi. Ushbu maqolada uchta mashhur saralash algoritmi solishtirilib, C++
dasturlash tili orqali ularning dasturiy realizatsiyasi ko‘rib chiqiladi.
Saralash muammosi — berilgan ma’lumotlar to‘plamini (odatda sonlar,
matnlar yoki obyektlar) belgilangan tartibda joylashtirishdir. Tartiblanayotgan
elementlar biror asosiy mezonga (masalan, son qiymati, alfavit tartibi) ko‘ra
solishtiriladi.
Saralash
algoritmlari
ko‘plab
boshqa
algoritmlarning
samaradorligiga bevosita ta’sir ko‘rsatadi, chunki tartiblangan ma’lumotlar bilan
ishlash ancha osonroq va tezroq bo‘ladi.
Saralash algoritmlari ichki (in-place) va tashqi (external) turlarga
bo‘linadi:
Ichki saralash (Internal Sorting) - bu holatda saralanayotgan ma’lumotlar
butunlay tezkor xotirada (RAM) joylashadi. Masalan:
Bubble Sort
Insertion Sort
Merge Sort
Quick Sort
Heap Sort
Tashqi saralash (External Sorting) - ma’lumotlar hajmi tezkor xotiradan
katta bo‘lib, diskda saqlanadi. Bu holatda maxsus algoritmlar, masalan, External
Merge Sort, qo‘llaniladi. Quyidagi formulalar odatda saralash algoritmlari
samaradorligini taqqoslashda ishlatiladi:
T(n) – operatsiyalar soni n element uchun.
Bubble Sort:
𝑇(𝑛) = ∑ 𝑖 =
𝑛(𝑛 − 2)
2
𝑛−1
𝑖=1
= 𝑂(𝑛
2
)
Insertion Sort:
𝑇(𝑛) = 𝑂(𝑛
2
)
Quick Sort:
𝑇(𝑛) = 𝑛 + 2𝑇(𝑛 2
⁄ ) => 𝑂(𝑛𝑙𝑜𝑔𝑛)
ACADEMIC RESEARCH IN MODERN SCIENCE
International scientific-online conference
156
1-rasm. Saralash algoritmlari uchun ishlash vaqtini ifodalovchi grafik
Saralash algoritmlarining qo‘llanilishi
Algoritm
Kichik
hajm
O‘rta
hajm
Katta
hajm
Real
vaqtda
Stabillik
Bubble
Sort
Ha
Yo‘q
Yo‘q
Yo‘q
Ha
Insertion
Sort
Ha
Yo‘q
Yo‘q
Ha
Ha
Quick Sort
Ha
Ha
Ha
Yo‘q
Yo‘q
Merge Sort
Ha
Ha
Ha
Yo‘q
Ha
Heap Sort
Yo‘q
Ha
Ha
Ha
Yo‘q
Adabiyotlar:
1.
Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2009). Introduction
to Algorithms.
2.
Sedgewick, R., & Wayne, K. (2011). Algorithms (4th Edition).
3.
Malik, D. S. (2009). C++ Programming: From Problem Analysis to Program
Design. Cengage Learning.
4.
https://www.geeksforgeeks.org/sorting-algorithms/
5.
Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. Introduction to
Algorithms (3rd ed.).
6.
Knuth, D. E. The Art of Computer Programming, Volume 3: Sorting and
Searching. Addison-Wesley, 1998.
ACADEMIC RESEARCH IN MODERN SCIENCE
International scientific-online conference
157
7.
Sedgewick, R., & Wayne, K. Algorithms (4th ed.). Addison-Wesley, 2011.
8.
Weiss, M. A. Data Structures and Algorithm Analysis in C++ (4th ed.).
Pearson, 2013.
9.
Skiena, S. S. The Algorithm Design Manual. Springer, 2008.