Visualisierung2
|
#include <myMaxheap.h>
Public Member Functions | |
myMaxheap (void) | |
myMaxheap (int size) | |
Erzeugt einen Maxheap der groesse size. More... | |
~myMaxheap (void) | |
int | heapSize () |
gibt die Groesse des heaps zurueck (maxheap-1). More... | |
bool | heapIsEmpty () |
True wenn der Heap leer ist, andersfalls false. More... | |
mytuple * | insertItem (const mytuple newData) |
Fuegt newData in den Heap ein und gibt die Adresse davon zurueck. More... | |
mytuple | popMaximum () |
Gibt das maximale Element im Heap zurueck und entfernt es aus dem Heap. Ordnet dannach den Heap neu. More... | |
mytuple | returnMaximum () |
Gibt das maximale Element im Heap zurueck. Keine Aenderungen im Heap. More... | |
void | printHeap () |
Gibt die Elemente im Heap aus. More... | |
void | printHeapTop10 () |
Gibt die groessten 10 Elemente im Heap aus. More... | |
void | updateItem (mytuple *address, mytuple newData) |
Updated das Element an der angegeben Adresse mit dem uebergeben Wert. More... | |
void | updateItem (mytuple *address, double newStored) |
Aendert nur den im Element gespeicherten Wert an der angegeben Adresse. More... | |
void | deleteItem (mytuple *address) |
Entfernt das Element an der angegeben Adresse. More... | |
int | returnArraysize () |
Gibt die Groesse des Wertearrays zurueck. More... | |
int | returnHeaplimit () |
Gibt den Index vom ersten ungenutzen Element zurueck. More... | |
Private Member Functions | |
int | downsift (int i) |
Funktion um das Element von A[i] richtig in den Heap zu ordnen. More... | |
int | upsift (int i) |
Funktion um das Element von A[i] richtig in den Heap zu ordnen. More... | |
int | left (int i) |
Gibt den Index des Linken Kindex zurueck. More... | |
int | right (int i) |
Gibt den Index des rechten Kindes zurueck. More... | |
int | parent (int i) |
Gibt den Index des Elternknotens zurueck. More... | |
void | grow () |
Erhoeht die Groesse des A Arrays. More... | |
void | shrink () |
Verringert die Groesse des A Arrays. More... | |
Private Attributes | |
hnode * | A |
Arrayspeicher des Maxheaps. More... | |
int | heaplimit |
Erstes unbenutzes Element im Heap. More... | |
int | arraysize |
Groesse des Arrays. More... | |
bool | isempty |
Gibt an ob der Heap leer ist. True..ist leer, False..nicht leer. More... | |
Heapaehnliche Struktur zum schnellen Zugriff auf die Maximalwerte der Modalitaeten zwischen den Knoten. Teile der Implementierung von Aaron Clauset (http://www.cs.unm.edu/~aaron/research/fastmodularity.htm) übernommen.
Definition at line 38 of file myMaxheap.h.
myMaxheap::myMaxheap | ( | void | ) |
Definition at line 4 of file myMaxheap.cpp.
myMaxheap::myMaxheap | ( | int | size | ) |
Erzeugt einen Maxheap der groesse size.
Definition at line 20 of file myMaxheap.cpp.
myMaxheap::~myMaxheap | ( | void | ) |
Definition at line 36 of file myMaxheap.cpp.
void myMaxheap::deleteItem | ( | mytuple * | address | ) |
Entfernt das Element an der angegeben Adresse.
Loescht das Element an der uebergebenen Adresse aus dem Heap.
Definition at line 235 of file myMaxheap.cpp.
|
private |
Funktion um das Element von A[i] richtig in den Heap zu ordnen.
Ordnet das Element mit den uebergeben Idndex in den Heap ein.
Definition at line 78 of file myMaxheap.cpp.
|
private |
Erhoeht die Groesse des A Arrays.
Vergroessert das Array im Heap.
Definition at line 145 of file myMaxheap.cpp.
bool myMaxheap::heapIsEmpty | ( | ) |
True wenn der Heap leer ist, andersfalls false.
Gibt zurueck ob der Heap leer ist. True..leer, False..nicht leer.
Definition at line 265 of file myMaxheap.cpp.
int myMaxheap::heapSize | ( | ) |
gibt die Groesse des heaps zurueck (maxheap-1).
Gibt die Groesse des Heaps zurueck.
Definition at line 269 of file myMaxheap.cpp.
Fuegt newData in den Heap ein und gibt die Adresse davon zurueck.
Fuegt ein neues Element in den Heap ein.
Definition at line 193 of file myMaxheap.cpp.
|
private |
Gibt den Index des Linken Kindex zurueck.
Gibt das linke Kind des Elements zurueck.
Definition at line 132 of file myMaxheap.cpp.
|
private |
Gibt den Index des Elternknotens zurueck.
Gibt den Elternknoten des Elements zurueck.
Definition at line 140 of file myMaxheap.cpp.
mytuple myMaxheap::popMaximum | ( | ) |
Gibt das maximale Element im Heap zurueck und entfernt es aus dem Heap. Ordnet dannach den Heap neu.
Gibt das maximale Element im Heap zurueck und loescht dieses aus den Heap.
Definition at line 46 of file myMaxheap.cpp.
void myMaxheap::printHeap | ( | ) |
Gibt die Elemente im Heap aus.
Gibt den Inhalt des Heaps in der Konsole aus.
Definition at line 275 of file myMaxheap.cpp.
void myMaxheap::printHeapTop10 | ( | ) |
Gibt die groessten 10 Elemente im Heap aus.
Gibt die groessten 10 Elemente des Heaps in der Konsole aus.
Definition at line 283 of file myMaxheap.cpp.
int myMaxheap::returnArraysize | ( | ) |
Gibt die Groesse des Wertearrays zurueck.
Gibt die Groesse des Arrays zurueck.
Definition at line 67 of file myMaxheap.cpp.
int myMaxheap::returnHeaplimit | ( | ) |
Gibt den Index vom ersten ungenutzen Element zurueck.
Gibt den Index des ersten ungenuetzten Elements zurueck.
Definition at line 71 of file myMaxheap.cpp.
mytuple myMaxheap::returnMaximum | ( | ) |
Gibt das maximale Element im Heap zurueck. Keine Aenderungen im Heap.
Gibt das maximale Element des Heaps zurueck ohne den Heap zu veraendern.
Definition at line 56 of file myMaxheap.cpp.
|
private |
Gibt den Index des rechten Kindes zurueck.
Gibt das rechte Kind des Elements zurueck.
Definition at line 136 of file myMaxheap.cpp.
|
private |
Verringert die Groesse des A Arrays.
Verringert das Array im Heap.
Definition at line 168 of file myMaxheap.cpp.
Updated das Element an der angegeben Adresse mit dem uebergeben Wert.
Updatet das ganze Element an der uebergeben Adresse.
Definition at line 214 of file myMaxheap.cpp.
void myMaxheap::updateItem | ( | mytuple * | address, |
double | newStored | ||
) |
Aendert nur den im Element gespeicherten Wert an der angegeben Adresse.
Updatet nur den gespeicherten Wert des Elements an der ueberegeben Adresse.
Definition at line 225 of file myMaxheap.cpp.
|
private |
Funktion um das Element von A[i] richtig in den Heap zu ordnen.
Ordnet das Element mit den uebergeben Idndex in den Heap ein.
Definition at line 109 of file myMaxheap.cpp.
|
private |
Arrayspeicher des Maxheaps.
Definition at line 41 of file myMaxheap.h.
|
private |
Groesse des Arrays.
Definition at line 43 of file myMaxheap.h.
|
private |
Erstes unbenutzes Element im Heap.
Definition at line 42 of file myMaxheap.h.
|
private |
Gibt an ob der Heap leer ist. True..ist leer, False..nicht leer.
Definition at line 44 of file myMaxheap.h.