Visualisierung2
myMaxheap Class Reference

#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...
 
mytupleinsertItem (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

hnodeA
 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...
 

Detailed Description

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.

Constructor & Destructor Documentation

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.

Member Function Documentation

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.

int myMaxheap::downsift ( int  index)
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.

void myMaxheap::grow ( )
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.

mytuple * myMaxheap::insertItem ( const mytuple  newData)

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.

int myMaxheap::left ( int  index)
private

Gibt den Index des Linken Kindex zurueck.

Gibt das linke Kind des Elements zurueck.

Definition at line 132 of file myMaxheap.cpp.

int myMaxheap::parent ( int  index)
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.

int myMaxheap::right ( int  index)
private

Gibt den Index des rechten Kindes zurueck.

Gibt das rechte Kind des Elements zurueck.

Definition at line 136 of file myMaxheap.cpp.

void myMaxheap::shrink ( )
private

Verringert die Groesse des A Arrays.

Verringert das Array im Heap.

Definition at line 168 of file myMaxheap.cpp.

void myMaxheap::updateItem ( mytuple address,
mytuple  newData 
)

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.

int myMaxheap::upsift ( int  index)
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.

Member Data Documentation

hnode* myMaxheap::A
private

Arrayspeicher des Maxheaps.

Definition at line 41 of file myMaxheap.h.

int myMaxheap::arraysize
private

Groesse des Arrays.

Definition at line 43 of file myMaxheap.h.

int myMaxheap::heaplimit
private

Erstes unbenutzes Element im Heap.

Definition at line 42 of file myMaxheap.h.

bool myMaxheap::isempty
private

Gibt an ob der Heap leer ist. True..ist leer, False..nicht leer.

Definition at line 44 of file myMaxheap.h.


The documentation for this class was generated from the following files: