ef:datenstrukturen

I. Datenstrukturen

Datenstrukturen sind spezielle Konzepte zur Organisation und Speicherung von Daten in einem Computerprogramm. Sie bestimmen, wie Daten angeordnet und verwaltet werden, um effiziente Zugriffe und Operationen zu ermöglichen.

Zweck von Datenstrukturen:

  • Effiziente Speicherung und Verwaltung von Daten
  • Schneller Zugriff und Bearbeitung
  • Grundlage für die Implementierung von Algorithmen

Unterschied zu Datentypen:

  • Datentypen beschreiben die Art einzelner Werte (z. B. Ganzzahl, Zeichenkette).
  • Datenstrukturen beschreiben die Anordnung und Beziehung mehrerer Werte (z. B. Liste, Baum).

Es gibt verschiedene Arten von Datenstrukturen, die je nach Anwendungsfall eingesetzt werden. Hier eine Übersicht der wichtigsten:

Liste (Array):

  • Geordnete Sammlung von Elementen, die über Indizes angesprochen werden.
  • Feste Größe (bei klassischen Arrays).
  • Direkter Zugriff auf Elemente.

Beispiel:

[3, 7, 9, 12]

Verkettete Liste:

  • Besteht aus Knoten (Nodes), die jeweils Daten und einen Verweis auf den nächsten Knoten enthalten.
  • Dynamische Größe.
  • Kein direkter Zugriff per Index.

Visualisierung:

[Head] → [3 | Next] → [7 | Next] → [9 | Next] → [12 | Next] →NULL

Aufgabe 1 Welche Vorteile und Nachteile hat wohl eine Verkettete Liste verglichen mit einer einfachen Liste (Array)?

Stack (Stapel):

  • Prinzip: LIFO (Last In – First Out).
  • Letztes eingefügtes Element wird zuerst entfernt.
  • Operationen: `push` (einfügen), `pop` (entfernen).

Beispiel:

Stapel von Tellern: Der zuletzt oben gelegte Teller wird zuerst genommen.

Queue (Warteschlange):

  • Prinzip: FIFO (First In – First Out).
  • Erstes eingefügtes Element wird zuerst entfernt.
  • Operationen: `enqueue` (einfügen), `dequeue` (entfernen).

Beispiel:

Warteschlange im Supermarkt: Wer zuerst kommt, wird zuerst bedient.

Graphen:

  • Sammlung von Knoten (Vertices) und Kanten (Edges), die die Knoten verbinden.
  • Kann gerichtet oder ungerichtet sein.
  • Kann Zyklen enthalten oder azyklisch sein.
  • Beispiel: Straßennetz, soziale Netzwerke.
  • Ein Baum ist ein zusammenhängernder Graph ohne Zyklen.

Visualisierung:

(A) --- (B)
 |       |
(C) --- (D)

Bäume:

  • Hierarchische Struktur mit Wurzel (Root) und Knoten (Nodes).
  • Jeder Knoten kann mehrere Kinder haben.
  • Für n Knoten hat ein Baum immer n-1 Kanten.
  • Es gibt einen eindeutigen Weg von zwischen zwei Knoten.
  • Beispiel: Binärbaum (max. 2 Kinder pro Knoten), Dateisystem

Visualisierung:

      Root
     /    \
  Node1   Node2

https://www.jamisbuck.org/presentations/rubyconf2011/index.html#title-page

Zurück zur Übersicht

  • ef/datenstrukturen.txt
  • Zuletzt geändert: 2025/11/13 13:35
  • von lehmannr