Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Комплексные алгоритмы сортування, підрахувати кількість операцій порівняння та обміну (зсуву)

Автор:   •  Ноябрь 24, 2022  •  Лабораторная работа  •  2,107 Слов (9 Страниц)  •  107 Просмотры

Страница 1 из 9

                                ЛАБОРАТОРНА РОБОТА

        за курсом “Інформаційні технології та програмування”

     Кафедра  “Автоматика і управління в технічних системах”                                            

                                                                                       

                                                                                                     

                                                                            Виконав:

                                                                            Студент групи

                                                                                  ІКМ-721г

                                                                                  Кравченко А.О.

                                                                                  Перевірив:

                                                                                  Зуєв А.О.

                                           Харків 2022

Мета роботи: Дослідити дію комплексних алгоритмів сортування, підрахувати кількість операцій порівняння та обміну (зсуву).

Завдання:

алгоритм для дослідження- - шc з вибором місця розподілу по середині послідовності

розмір (N) тип та діапазон вхідних данних - 4200, double, [-1.3, 1.457]

Опис дій:

В файлі реалізаціїї змінили алгоритм сортування, в змінну m записуємо середнє значення лівої та правої межі.

        В заголовковому файлі оголосили розмір та діапазон значень послідовності

Лістинг коду у файлі lab09.h

#pragma once

#include <iostream>

#include <fstream>

#include <iomanip>

#include <time.h>

#include <stdlib.h>

using namespace std;

const int N = 4200;

const int Ns = 10;

const int deltaN = N / Ns;

const int minN = deltaN;

const int numT = 50;

//тип елементу для пошуку

typedef double t_elem;

//діапазон елементів

const t_elem minRange = -1.3, maxRange = 1.457;

//створення послідовності ПВЧ

void make_seq(t_elem* T, int tstN, t_elem mn, t_elem mx);

//тестування сортування

void test(fstream& res, t_elem* T, int tstN, t_elem mn, t_elem mx);

//рекурсивний алгоритм швидкого сортування

void sort_quick(t_elem* T, int L, int R, int& cmp_count, int& swap_count);

Лістинг коду у файлі lab09.cpp

#include "lab09.h"

void sort_quick(t_elem* T, int L, int R, int& cmp_count, int& swap_count)

{

        if (L >= R) return;

        //місце початкового розподілу

        int m = (L + R) / 2;

        cmp_count += 3;

        int l = L, r = R;

        while (l < r)

        {

                //шукаємо елемент, що порушує порядок (більший за T[m]) зліва

...

Скачать:   txt (7.2 Kb)   pdf (120.3 Kb)   docx (25 Kb)  
Продолжить читать еще 8 страниц(ы) »
Доступно только на Essays.club