Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
bheap.h
Go to the documentation of this file.
1
29#pragma once
30
33
34
35namespace abacus {
36
37template<class Type, class Key>
38class AbaBHeap;
39
40template<class Type,class Key>
41std::ostream&operator<< (std::ostream& out, const AbaBHeap<Type, Key>& heap);
42
43
45
72template<class Type, class Key> class AbaBHeap : public AbacusRoot {
73public:
74
76
79 explicit AbaBHeap(int size);
80
82
91 const ArrayBuffer<Type> &elems,
92 const ArrayBuffer<Key> &keys);
93
95
103 friend std::ostream& operator<< <> (std::ostream &out, const AbaBHeap<Type, Key> &heap);
104
106
113 void insert(Type elem, Key key);
114
116
121 Type getMin() const;
122
124
129 Key getMinKey() const;
130
132
144
145
147 void clear();
148
150 int size() const;
151
153 int number() const;
154
156 bool empty() const;
157
159
162 void realloc(int newSize);
163
165
168 void check() const;
169
170private:
171
173 int leftSon(int i) const;
174
176 int rightSon(int i) const;
177
179 int father(int i) const;
180
182
187 void heapify(int i);
188
191 int n_;
192};
193
194}
195
Declaration and implementation of ArrayBuffer class.
Binary heaps.
Definition bheap.h:72
void heapify(int i)
Is the central function to maintain the heap property.
AbaBHeap(int size)
A constructor.
int number() const
Returns the number of elements in the heap.
Type extractMin()
Accesses and removes the minimum element from the heap.
bool empty() const
Return true if there are no elements in the heap, false otherwise.
Key getMinKey() const
Returns the key of the minimum element of the heap.
int size() const
Returns the maximal number of elements which can be stored in the heap.
int father(int i) const
Returns the index of the father of element i.
void clear()
Empties the heap.
int rightSon(int i) const
Returns the index of the right son of node i.
void realloc(int newSize)
Changes the size of the heap.
AbaBHeap(const ArrayBuffer< Type > &elems, const ArrayBuffer< Key > &keys)
A constructor with initialization.
void insert(Type elem, Key key)
Inserts an item with a key into the heap.
Type getMin() const
Returns the minimum element of the heap.
Array< Type > heap_
Definition bheap.h:189
void check() const
Throws an exception if the heap properties are violated.
Array< Key > keys_
Definition bheap.h:190
int leftSon(int i) const
Returns the index of the left son of node i.
Base class of all other classes of ABACUS.
Definition abacusroot.h:68
An array that keeps track of the number of inserted elements; also usable as an efficient stack.
Definition ArrayBuffer.h:56
The parameterized class Array implements dynamic arrays of type E.
Definition Array.h:214
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
std::ostream & operator<<(std::ostream &out, const Active< BaseType, CoType > &rhs)