Добавил:
I want to die Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2 сем / 0207_Лиоско_ЛР3.pdf
Скачиваний:
5
Добавлен:
04.04.2022
Размер:
404.47 Кб
Скачать

МИНОБРНАУКИ РОССИИ САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ «ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА) Кафедра физической электроники и технологии

ОТЧЕТ по лабораторной работе №3

по дисциплине «Информационные технологии» Тема: Алгоритмы и программы решения задач комбинаторики

Студентка гр. 0207

 

Лиоско Е.П.

Преподаватель

 

 

Рябцев И.А.

Санкт-Петербург

2021

Алгоритм «Сортировка выбором» (Selection Sort)

Цель работы.

Изучение и программирование стандартного алгоритма сортировки выбором.

Блок-схема программы для сортировки выбором.

Текст программы 1 (cортировка по выбору).

clc;

clear all; N=7;

M=0;

s=[10 8 3 28 11 4 1]; tic;

2

for i=1:(N-1)% пробег по всему массиву кроме последнего элемента

MIN=i;

for j=i+1:N % в поисках минимального элемента

if (s(j)<s(MIN))% если j элемент массива меньше минимального элемента

MIN=j;

end

end

P=s(i);

s(i)=s(MIN);

s(MIN)=P;

M=M+1;% количество перестановок

end toc;

disp(s);

disp(M);

Листинг 1.

Elapsed time is 0.018125 seconds.

1

3

4

8

10

11

28

6

 

 

 

 

 

 

Текст программы 2 (s(1000)).

clc;

clear all; N=1000; M=0;

s=fix(50*rand ([1 1000])); tic;

for i=1:(N-1)% пробег по всему массиву кроме последнего элемента

MIN=i;

for j=i+1:N % в поисках минимального элемента

if (s(j)<s(MIN))% если j элемент массива меньше минимального элемента

MIN=j;

end

end

P=s(i);

3

s(i)=s(MIN);

s(MIN)=P;

M=M+1;% количество перестановок

end toc;

disp(M);

Листинг 2.

Elapsed time is 0.014916 seconds. 999

Текст программы 3 (s(10000)).

clc;

clear all; N=10000; M=0;

s=fix(50*rand ([1 10000])); tic;

for i=1:(N-1)% пробег по всему массиву кроме последнего элемента

MIN=i;

for j=i+1:N % в поисках минимального элемента

if (s(j)<s(MIN))% если j элемент массива меньше минимального элемента

MIN=j;

end

end

P=s(i);

s(i)=s(MIN);

s(MIN)=P;

M=M+1;% количество перестановок

end toc;

disp(M);

Листинг 3.

Elapsed time is 0.188454 seconds.

4

9999

Текст программы 4 (s(100000)).

clc;

clear all; N=100000; M=0;

s=fix(50*rand ([1 1000])); tic;

for i=1:(N-1)% пробег по всему массиву кроме последнего элемента

MIN=i;

for j=i+1:N % в поисках минимального элемента

if (s(j)<s(MIN))% если j элемент массива меньше минимального элемента

MIN=j;

end

end

P=s(i);

s(i)=s(MIN);

s(MIN)=P;

M=M+1;% количество перестановок

end toc;

disp(M);

Листинг 4.

Elapsed time is 18.157203 seconds. 99999

Таблицу времени выполнения и числа перестановок от размерности вектора, таблицу с коэффициентами KN, Kt, Km

i

N

t, сек

m

1

1000

0,014916

999

2

10000

0,188454

9999

3

100000

18,157203

99999

i-j

KN

Kt

Km

1-2

10

12,634352

10,00901

5

Соседние файлы в папке 2 сем