Middle
Koje su klasifikacije hrpa u kontekstu struktura podataka?
sobes.tech АИ
Одговор од АИ
У контексту структура података, под "купа" (Heap) се обично подразумева бинарна купа (Binary Heap), која има следеће класификације:
-
По типу поређења:
- Минимална купа (Min-Heap): Вредност сваког чвора је мања или једнака вредностима његових дечијих чворова. Корен је минимални елемент.
- Максимална купа (Max-Heap): Вредност сваког чвора је већа или једнака вредностима његових дечијих чворова. Корен је максимални елемент.
-
По потпуности дрвета:
- Потпуна бинарна купа (Complete Binary Heap): Сви нивои, осим можда последњег, су потпуно попуњени, а чворови на последњем нивоу су распоређени што је могуће лево. Ово својство је важно јер омогућава ефикасно чување купе у низу.
// Пример структуре за чвор купе (за демонстрацију концепта) public class HeapNode<T> { public T Value { get; set; } // Референце на дечије чворове нису увек јасне у низовној репрезентацији public HeapNode<T> Left { get; set; } public HeapNode<T> Right { get; set; } }
Иако постоје и друге врсте купа, као што су Fibonacci купа (за напредније алгоритме) или биномна купа, у већини случајева, "купа" се односи управо на потпуну бинарну купу минималног или максималног типа због њихове широке примене у алгоритмима сортирања (нпр. Heapsort) и редовима приоритета.