Піраміда або бінарна купа. Означення піраміди, функціональність. Базові процедури. Пірамідальне сортування. Опис алгоритму. Відновлення властивостей купи, просіювання вгору, вниз. Побудова купи. Зміна значення елемента. Опис програми. Опис класу Pyramid.
Аннотация к работе
В обчислювальній техніці структури даних - це спосіб зберігання та представлення даних у компютері, що забезпечує більш ефективне її використання. Структури даних бувають простими та складними: прості характеризуються типом одиниці інформації, що зберігається (цілочисельний, логічний, текстовий і так далі), складні поділяють на динамічні (такі структури створюють можливість зміни свого розміру в процесі виконання програми, тобто додавати чи видаляти елементи) та статичні (без можливості додавання та видалення елементів - розмір залишається незмінним) способи організації даних. Добре спроектована структура даних дозволяє виконувати типові операції, використовуючи при цьому оптимальний обсяг ресурсів, таких як час виконання чи використовуваний обєм оперативної памяті. Самостійно реалізувати клас для представлення структури даних «піраміда» засобами мови програмування C# (якщо існує відповідний стандартний .NET-клас, відтворити його функціональність).Двійкове дерево - це така ієрархічна структура даних (елементи, повязані між собою за певними правилами), що являє собою сукупність деяких елементів та звязків між ними; кожна вершина такого дерева має не більш ніж два нащадки). Такі купи мають назву min-heap, а купи, опис яких наведено вище - max-heap. Над купою можна виконувати наступні операції: - додати елемент до купи; Можна розглядати її як вдосконалене сортування так званою «бульбашкою» (або сортування обміном), в якому елемент, так би мовити, «спливає» (в разі якщо маємо min-heap) або «тоне» (у випадку max-heap). Тобто на першому кроці міняються місцями Array[1] та Array[n], а Array[1], Array[2], … , Array[n-1] таким чином перетворюються на дерево сортування.У даній програмі реалізовано структуру даних «піраміда» і продемонстровано основні дії над нею: створення піраміди; додавання та заміна, вилучення максимального елемента. Щоб реалізувати структуру даних «піраміда», були використані засоби мови С#. Клас Pyramid містить у собі основні методи, використовувані для роботи зі структурою. Щоб створити піраміду на основі елементів обраного Вами файлу, натисніть «Actions» a «Build» a «Source file…». Якщо бажаєте створити піраміду, ввівши її елементи власноруч, натисніть «Actions» a «Build» a «Enter elements».Було реалізовано клас для представлення структури даних «піраміда» та основних методів для роботи з нею, а саме: побудова піраміди з дотриманням властивостей купи, відновлення властивостей купи, пірамідальне сортування, додавання елемента до побудованої купи, вилучення максимального елемента.{list.Add(value); // новий елемент додаємо в кінець масиву, тобто на позицію з індексом heapsize int i = list.
Вывод
В процесі виконання курсової роботи навички програмування мовою C# та роботи з графічним інтерфейсом були суттєво покращені.
Було реалізовано клас для представлення структури даних «піраміда» та основних методів для роботи з нею, а саме: побудова піраміди з дотриманням властивостей купи, відновлення властивостей купи, пірамідальне сортування, додавання елемента до побудованої купи, вилучення максимального елемента. Піраміда - багатофункціональна структура, що дозволяє як додавати, так і вилучати елементи. Виявилося, що пірамідальне сортування потребує дуже мало, тобто О(1) віртуальної памяті, швидко працює (потребує (n log2n) часу на сортування n елементів), проте алгоритм доволі нестійкий та досить складний у реалізації.