AuK/Prioritätswarteschlangen SS12
Aus ProgrammingWiki
Wiki-Quelltext dieser Seite.
<language>Java</language>
<language>Java</language>
=Einführung=
kurze Einführung
==Heaps==
was sind Heaps
===Übungsaufgaben===
==Exkurs Heap-Sort==
kurzes blabla um an vorgänger an zu knüpfen
=Normale Warteschlangen=
Normale Warteschlangen funktionieren nach dem FiLo-Prinzip (First in, last out).
<popup name="Klassen-Definitionen">
<code id="35435435436546546">
public Object Queue(){
private Object[] elements = new Object[1];
public void enqueue(Object element){
int length = elements.length;
Object[] newElements = new Object[length+1];
for(int i=0; i<= length-1; i++){
newElements[i] = elements[i];
}
newElements[length] = element;
elements = newElements;
}
public Object dequeue(){
int length = elements.length;
Object firstElement = elements[0];
Object[] newElements = new Object[length-1];
for(int i=0; i<= length-1; i++){
newElements[i] = elements[i+1];
}
elements = newElements;
return firstElement;
}
return this;
}
</code>
</popup>
<run id="35435435436546546">
bla = Queue();
bla.enqueue(1);
bla.enqueue(2);
bla.enqueue(3);
System.out.println(bla.dequeue());
System.out.println(bla.dequeue());
System.out.println(bla.dequeue());
</run>
=Prioritätswarteschlangen=
warum wieso wesshalb man die brauch und unter welchen umständen man die dem normalen vorziehen sollte
==Nicht Adressierbare Prioritätswarteschlangen==
siehe prio-queues was hir rein soll
===Binary Heaps===
was ist das, wie funktioniert das?
==Adressierbare Prioritätswarteschlangen==
siehe prio-queues
===Binominal Bäume===
nochmal, aber spezieller
===Pairing-heaps===
wer wie was *clap* *clap*
===Fibonacci-heaps===
wieso wesshalb warum,
====Übungsaufgaben====