ПОРІВНЯННЯ ШВИДКОДІЇ АЛГОРИТМІВ СОРТУВАННЯ У РІЗНИХ МОВАХ ПРОГРАМУВАННЯ

Saved in:
Bibliographic Details
Title: ПОРІВНЯННЯ ШВИДКОДІЇ АЛГОРИТМІВ СОРТУВАННЯ У РІЗНИХ МОВАХ ПРОГРАМУВАННЯ
Authors: Олена Трофименко, Юлія Прокоп, Олена Чепурна, Микола Корнійчук
Source: Кібербезпека: освіта, наука, техніка, Vol 1, Iss 21, Pp 86-98 (2023)
Publisher Information: Borys Grinchenko Kyiv University, 2023.
Publication Year: 2023
Collection: LCC:Information technology
Subject Terms: алгоритми сортування, о-нотація, час роботи, продуктивність, сортування, Information technology, T58.5-58.64
Description: Сортування як один із базових алгоритмів має широкий спектр застосування під час розробки програмного забезпечення. Зі зростанням обсягів даних, що опрацьовуються, значно зростає потреба у засобах швидкого та ефективного впорядкування даних. Існує велика кількість різноманітних алгоритмів сортування та їхніх розширень. Однак серед них неможливо вибрати оптимальний та універсальний. Усі ці алгоритми мають свою специфіку роботи, яка зумовлює сферу ефективного використання. Тому актуальною є проблема вибору оптимального алгоритму для певних специфічних умов. Цей вибір є часто нетривіальною задачею, а невдалий вибір алгоритму може спричинити проблеми зі швидкодією опрацювання даних. Щоб визначити, який саме алгоритм буде найкращим в конкретній ситуації, потрібно проаналізувати усі фактори, які впливають на роботу алгоритмів: розмір та структуру набору даних, діапазон значень його елементів, форму доступа (довільна чи послідовна), ступінь впорядкованості, розмір додаткової пам’яті, яка необхідна для виконання алгоритму, тощо. Крім того, різні алгоритми мають неоднакову швидкодію у різних мовах програмування. У дослідженні проаналізовані переваги та недоліки девʼяти популярних алгоритмів сортування (бульбашкою, вставкою, вибором, Шелла, злиттям, швидке, підрахунком, за розрядами, купою), зумовлені їхньою специфікою, та обмеження щодо можливого використання. Протестована швидкодія зазначених алгоритмів, реалізованих чотирма популярними мовами програмування (C++, С#, Java і JavaScript). Експериментально з’ясовано, що швидкодія алгоритмів сортування має відмінності залежно від мови програмування. Прикладний аспект дослідження полягає в тому, що його висновки і результати дозволять розробникам вибирати найкращий алгоритм для певної мови програмування, залежно від розміру, діапазону, структури тощо набору даних, який треба відсортувати. Врахування цього є важливим, коли виникає потреба перегрупування великих обсягів даних у пошукових системах, наукових та інженерних застосуваннях. Адже ефективність алгоритму сортування суттєво впливає на загальну продуктивність системи.
Document Type: article
File Description: electronic resource
Language: English
Ukrainian
ISSN: 2663-4023
Relation: https://csecurity.kubg.edu.ua/index.php/journal/article/view/496; https://doaj.org/toc/2663-4023
DOI: 10.28925/2663-4023.2023.21.8698
Access URL: https://doaj.org/article/b7a2d50bcc4b4dbeb99bb59a466a0b47
Accession Number: edsdoj.b7a2d50bcc4b4dbeb99bb59a466a0b47
Database: Directory of Open Access Journals
Description
Abstract:Сортування як один із базових алгоритмів має широкий спектр застосування під час розробки програмного забезпечення. Зі зростанням обсягів даних, що опрацьовуються, значно зростає потреба у засобах швидкого та ефективного впорядкування даних. Існує велика кількість різноманітних алгоритмів сортування та їхніх розширень. Однак серед них неможливо вибрати оптимальний та універсальний. Усі ці алгоритми мають свою специфіку роботи, яка зумовлює сферу ефективного використання. Тому актуальною є проблема вибору оптимального алгоритму для певних специфічних умов. Цей вибір є часто нетривіальною задачею, а невдалий вибір алгоритму може спричинити проблеми зі швидкодією опрацювання даних. Щоб визначити, який саме алгоритм буде найкращим в конкретній ситуації, потрібно проаналізувати усі фактори, які впливають на роботу алгоритмів: розмір та структуру набору даних, діапазон значень його елементів, форму доступа (довільна чи послідовна), ступінь впорядкованості, розмір додаткової пам’яті, яка необхідна для виконання алгоритму, тощо. Крім того, різні алгоритми мають неоднакову швидкодію у різних мовах програмування. У дослідженні проаналізовані переваги та недоліки девʼяти популярних алгоритмів сортування (бульбашкою, вставкою, вибором, Шелла, злиттям, швидке, підрахунком, за розрядами, купою), зумовлені їхньою специфікою, та обмеження щодо можливого використання. Протестована швидкодія зазначених алгоритмів, реалізованих чотирма популярними мовами програмування (C++, С#, Java і JavaScript). Експериментально з’ясовано, що швидкодія алгоритмів сортування має відмінності залежно від мови програмування. Прикладний аспект дослідження полягає в тому, що його висновки і результати дозволять розробникам вибирати найкращий алгоритм для певної мови програмування, залежно від розміру, діапазону, структури тощо набору даних, який треба відсортувати. Врахування цього є важливим, коли виникає потреба перегрупування великих обсягів даних у пошукових системах, наукових та інженерних застосуваннях. Адже ефективність алгоритму сортування суттєво впливає на загальну продуктивність системи.
ISSN:26634023
DOI:10.28925/2663-4023.2023.21.8698