Сравнение разработанных сортировки
Для сравнения эффективности методов сортировок определить время ? в данном оно является показателем эффективности. таблице 3 указано время соответствующее определенному элементов массива, экспериментально для метода сортировки.
3.3 Время сортировки
элементов массива | сортировки для простых вставок, | Время сортировки метода пузырька, |
5 | 237 | 245 |
10 | 248 | 267 |
15 | 253 | 272 |
20 | 259 | 294 |
30 | 277 | 311 |
40 | 279 | 320 |
64 | 346 | 368 |
128 | 659 | 702 |
256 | 876 | 912 |
512 | 910 | 975 |
1024 | 953 | 1034 |
На основе таблицы построены для экспериментального эффективности методов .
Рисунок 3.12 Графики времени сортировки количества элементов массива
на данные можно сделать , что общее сортировки для простых вставок , чем для пузырька. Следовательно, методом простых является более , чем сортировка пузырька.
Заключение
ходе курсовой работы проведен обзор алгоритмов сортировки, том числе оценка эффективности. Был сделан , что методы сортировок (сортировки копирование массива), эффективны в , чем методы сортировок. Причем эффективная из сортировок менее , чем худшая производительности из сложных .
Также было теоретическое сравнение алгоритмов сортировок, в рамках проекта, построены графики. В теоретического сравнения выявлено, что методом вставок сортировки методом , благодаря меньшему сравнений ключей меньшему количеству пересылок.
|
|
разработаны функции методом простых (insert) и пузырька (bubble). функции интегрированы разработанное приложение, с которого можно массив с количеством элементов, его любым рассмотренных в курсовом методом сортировки узнать время сортировки .
С помощью приложения был экспериментальный анализ методом простых и методом , подтвердивший результаты сравнения эффективности сортировок. По экспериментального анализа среднем сортировка методом вставок занимает времени, чем методом пузырька. этого можно , что сортировка простых вставок , чем сортировка пузырька.
Список источников
1. Бадд . Объектно-ориентированноепрограммирование действии. СПб.: , 2014.
2. 2.Буч Г. -ориентированныйанализ и с примерами на C++. .: Бином; СПб.: диалект, 2013.
3. 3.Вирт . Алгоритмы и данных. М.: , 2010.
4. 4.Дал У., Э., Хоор . Структурное программирование. .: Мир, 2013.
5. 5.Иванова .С., Ничушкина .Н., Пугачев .К. Объектно-про граммирование. М.: -во МГТУ . Н.Э. , 2011.
6. 6.Кормен Т., Ч., Ривест . Алгоритмы: построение анализ. М.: , 2011.
7. 7.Майерс Г. тестирования программ. .: Мир, 2013.
8. 8.Фаронов .В. Турбо-.ОсновыТурбо-Паскаля..: «МВТУ - ФЕСТО », 2013.
|
|
9. 9.Хьюз Дэю., Дэю. Структурный к программированию. .: Мир, 2013.
10. «Программирование основы алгоритмизации» — В. . Давыдов — изд. « школа», 2015.
11. «Основы и программирования» — . Л. Голицына, . И. Попов — . «ФОРУМ-ИНФРА-», 2016.
12. «Программирование на высокого уровня» — . А. Павловская — . «Питер», 2014.
13. Петзольд . Программирование под 95. В двух : BHV – Санкт - , 2012, silt.
14. Ричард .Линкер, Том . Программирование для 98. Библия разработчика. “ ” – Москва, 2013.-864 с.: .- Парал. тит. . Уч.пос.
15. Либерти. С++ 21 день. ”Вильямс” - , 2012.-816 с.: ил. - .тит. англ.
16. Дж. Круглински. С++. “Русская ” – Москва, 2013.- 696 с.: .
17. Кэйт Грегори. Visual C++. “” – Москва, 2011.-864 с.: .. - Парал.тит. ., уч. пос.
18.
19. Павловская Т. . «С#. Программирование языке высокого » Питер, 2014 год, 432 .
20. Грызлов В.., Грызлова Т.. Турбо Паскаль 7.0. — .: ДМК, 2014.
Приложение
( рабочего кода приложения)
#pragma
#include < iostream. >
# include < time. >
void insert ( *a, int ) // ФУНКЦИЯ ВСТАВОК
{
i, j, ; // объявление переменных
(i=1; i< ; i++)
{
t= [i]; // запоминается для вставки
(j=i-1; > =0 & & t<a []; j--) // ищем для вставки
[j+1] =a []; // сдвиг на позицию
a [+1] =t;
}
}
void (int *a, n) // функция
{
int i, , t; // объявление
for (i = 0; <= n-1; i++)
{
(j = 0; j <= -2-i; j++)
{
(a [j] > [j+1]) // сравниваем соседних элементов
|
|
{
= a [j]; // меняем их местами это требуется
[j] = a [+1];
a [j+1] = ;
}
}
}
}
int main ( argc, char* [])
{
char b;
n;
typedef clock_t; // данных времени
_t t; // — время выполнения
char str1 [100] = « количество элементов сортировки: «;
char [100];
char str3 [100];
(str1, buf);
< <buf<<endl;
> >n;
int* =new int; // , указание кол- элементов
randomize (); // заполнение массива
for ( i=0; i< =; i++)
a [] =random (50) — 30;
strcpy (,"Первичный массив: «);
(str1, buf);
< <buf<<endl;
(int i=0; < n; i++)
{
< <" a ["< <i<<"] ="< < [i] < <' ';
if (! ((+1)%5)) cout < < «n»; // выводится по 5 в строке
};
< <endl;
strcpy (,"Выберите тип : «);
strcpy (str2,"1. методом простых ");
strcpy (str3,"2. методом пузырька «);
(str1, buf);
(str2, buf1);
(str3, buf2);
< <buf<<endl
< <<<endl
< <buf2<<;
cin> >b;
(str1,"Отсортированные : «);
CharToOem (str1, );
cout< <buf<<;
if (b='1')
{
(a, n); // функции сортировки
}
(b='2')
{
buble (, n); // вызов
}
for (int =0; i< n; ++)
{
cout< <" a ["< <<<"] ="< <a [i] < <' ';
(! ((i+1)%5)) cout < < «»;
}
cout< <endl; // времени выполнения
strcpy (str1," сортировки в : «);
CharToOem (str1, );
cout< <buf<<;
t= (clock () /_PER_SEC) * 60; // clock () возвращает исп программы
< <t; // как типа clock_ объявленного ранее // значение можно в секунды
// на определенную библиотеке time. h CLOCKS_PER_
|
|
getchar ();
getchar ();
0; }
Дата добавления: 2018-04-15; просмотров: 299; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!