Return to search

Rikiavimo algoritmų analizė / Analysis of Sorting Algorithms

Baigiamojo bakalauro darbo tema yra Rikiavimo algoritmų analizė, taigi, jame analizuojami šeši labiausiai naudojami rikiavimo algoritmai, po du iš trijų pagrindinių grupių - išrinkimo, įterpimo ir sukeitimo. Išrinkimo grupėje - Išrinkimo ir Dvigubo išrinkimo algoritmai, įterpimo grupėje - Įterpimo ir Šelo algoritmai, sukeitimo grupėje - Burbulo ir Gnomo algoritmai. Jie lyginami pagal palyginimų ir sukeitim kiekius ir pagal rikiavimo laiką mikrosekundėmis. Kad analizuoti būtų lengviau, naudojant C++ Builder programą buvo sukurtos trys nedidelės apimties programos: pirmoji - duomenų generavimui, antroji - atskirų algoritmų tyrimui ir trečioji - pagrindinė, rikiavimų parametrams tirti. Duomenys generuojami sveikųjų skaičių, slankaus kablelio skaičių ir raidyno pavidalu. Duomenys generuojami pagal reikšmių kiekį ir intervalą, iš kurio mes norime gauti reikšmes. Atskirų algoritmų tyrimo programa išrašo duomenų eilutes po kiekvieno sukeitimo, taigi, mes galime stebėti atskirų algoritmų darbą ir matyti, kuo jie skiriasi. Ir pagrindinė programa rikiuoja duomenis skirtingais algoritmais ir gražina tik palyginimų ir sukeitimų kiekius ir rikiavimo laiką. Pagal šiuos rezultatus buvo sudarytos lentelės ir diagramos algoritmų palyginimui. / The theme of Bachelor Final Work is Analysis of Sorting Algorithms, so I analyse six mostly used algorithms, by two of them from three main groups – selection, insertion, and exchange. In selection group – Selection Sort and Double Selection Sort, in insertion group – Insertion Sort and Shell Sort, in exchange group – Bubble Sort and Gnome Sort. I made comparison of them by the amount of compares, swaps and sorting time in mikroseconds. For making my analysis easier, using C++ Builder program, I made three small programs: one for data generation, the other for the examination of separate algoritms, and the main program which returns sorting parameters. The data are generating in Int type (Integer number), Float type (Floating-point number) and Char type (alphabet). The data are generating by the number of values, for the numbers generating we can appoint the range and so we can make files with different levels of data such like almost sorted row or, on the contrary, very scattered. The program for separate algorythms examination sorts data and after every swap writes the row of values in text box, so we can follow the work of separates algorithms and we can see how different they are. And the main program sorts values by data type and returns just amount of compares, swaps and sorting time. By these results I made tables and diagrams for algoritms comparisons.

Identiferoai:union.ndltd.org:LABT_ETD/oai:elaba.lt:LT-eLABa-0001:E.02~2011~D_20110802_152652-19523
Date02 August 2011
CreatorsOrvidaitė, Ingrida
ContributorsBernotas, Marijus, Kaklauskienė, Danutė, Laurutis, Remigijus, Ramanauskaitė, Simona, Paliulis, Egidijus, Siauliai University
PublisherLithuanian Academic Libraries Network (LABT), Siauliai University
Source SetsLithuanian ETD submission system
LanguageLithuanian
Detected LanguageEnglish
TypeBachelor thesis
Formatapplication/pdf
Sourcehttp://vddb.laba.lt/obj/LT-eLABa-0001:E.02~2011~D_20110802_152652-19523
RightsUnrestricted

Page generated in 0.0022 seconds