Lineare Datenstrukturen

Schlange und Stapel

Die Queue (Schlange) ist eine dynamische Datenstruktur nach dem FiFo-Prinzip (First in, first out), d.h. das zuerst eingefügte Element wird auch als erstes wieder entnommen.

Der Stack (Stapel oder Keller) ist eine dynamische Datenstruktur nach dem LiFo-Prinzip (Last-In-First-Out), d.h. das zuletzt eingefügte Objekt wird als erstes wieder entnommen.

Liste

Die Liste ist eine dynamische Datenstruktur zum Speichern von Objekten.

Bei der einfach verketteten Liste besitzt jedes Listenelement einen Verweis auf seinen Nachfolger.

Bei der doppelt verketteten Liste besitzt jedes Listenelment einen Verweis auf Vorgänger und Nachfolger. Dies bewirkt ein effizienteres Suchen, erhöht allerdings ein wenig auch den Speicherbedarf.

Generische Datenstukturen in Java

Generische Datentypen, in Java auch Generics genannt, fügen einen Typparameter hinzu. So können in eine Liste<Type> nur Elemente des Typs Type eingefügt werden.

Einfache Sortieralgorithmen

Bei Bubblesort wird das Array jeweils von links nach rechts durchlaufen, ggf. werden dabei nebeneinanderliegende Einträge vertauscht.

Insertionsort bringt nacheinander alle Elemente an die richtige Stelle.

Selectionsort sucht nacheinander jeweils den kleinsten Wert in einem Array und baut so das sortierte Array auf.

Der Aufwand dieser einfachen Sortierverfahren liegt bei O(n²).

Rekursive Sortieralgorithmen

Mergesort halbiert die zu sortierende Liste solange, bis einzelne Elemente übrig bleiben. So wird schrittweise sortiert.

Bei Quicksort erfolgt die Halbierung beim sog. Pivotelement.

Der Aufwand rekursiver Sortierverfahren liegt bei O(n log n).

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.