Zum Inhalt springen

Diskussion:Datenstruktur

Seiteninhalte werden in anderen Sprachen nicht unterstützt.
aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 26. September 2004 um 15:29 Uhr durch Koethnig (Diskussion | Beiträge) (Antwort...). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Zu Feldern(Arrays) sagt man heutzutage Reihung. -- Meiko Michalsky 217.225.24.32 10:25, 22. Jun 2004 (CEST)

Das bezweifle ich. Die meisten sagen Feld, Array oder Vektor. --Coma 11:11, 22. Jun 2004 (CEST)

Abstimmung mit Artikel Datentyp dringend nötig

Hallo Coma, warum hast du denn so einen kurzen und unvollständigen Stub zu Abstrakter Datentyp erstellt, ohne die bereits vorhandenen Informationen aus Datentyp zu berücksichtigen. Mir ist aufgefallen, dass du ebenfalls unter Datenstruktur eine sehr lange Liste von Beispielen aufgebaut hast. Wenigstens das, was du konkrete Datenstruktur nennst, ist aber ein Datentyp. Ich würde mich freuen, wenn du versuchen könntest, den Artikel Datenstruktur in enger Abstimmung zu Datentyp weiterzuentwickeln. So ist es jedenfalls der klare Weg in eine Baustelle. Antworten auf diese Frage bitte in Diskussion:Datenstruktur, wohin ich diese Anfrage kopieren werde.

Ich habe mir dazu nicht all zu viele Gedanken gemacht, weil der Artikel erstmal nur als Stub für andere Artikel in der Kategorie Datenstruktur herhalten muss. Ich habe das ganze auch nicht wirklich verbrochen, sondern nur versucht etwas in der Kategorie Datenstruktur aufzuräumen und an den wichtigen Stellen Erweiterungen vorzunehmen, speziell arbeite ich gerade an den Heaps. Ursprünglich gab es glaube diesen doofen Redirect von abstrakte Datenstruktur auf abstrakter Datentyp. Da ich mir nur wenig Gedanken gemacht habe, habe und es an sich möglich war, habe ich einfach auch abstrakte Datenstruktur mit in den Artikel reingeschrieben. Jetzt erkenne ich aber, dass es eigentlich blödsinn war, besser wäre ein eigener Artikel zu Abstrakte Datenstruktur, denn eine Datenstruktur ist etwas anderes, als ein Datentyp. Ersteres kann nämlich durchaus aus mehreren Datentypen aufgebaut sein. Ich werde das entsprechend ändern. Was du mit dem Artikel abstrakter Datentyp dann machst, ist mir egal. Was ich konkrete Datenstruktur nenne, ist also nicht unbedingt ein Datenyp und auch die lange Liste stammt nicht nur von mir, ich habe sie nur zuletzt mal wieder aufgeräumt und auf wichtige Strukturen beschränkt. --Coma 22:06, 25. Sep 2004 (CEST)

Um das ganze mal ein wenig konkreter zu fassen. Es gibt aus meiner Sicht in den beiden Artikeln Datentyp und Datenstruktur nun zumindest die sechs folgenden Begriffe:

  1. Datentyp
  2. Datenstruktur
  3. Abstrakter Datentyp
  4. Konkreter Datentyp
  5. Abstrakte Datenstruktur
  6. Konkrete Datenstruktur


Diese werden zum Teil nicht konsistent verwendet. Hier muss eine Harmonisierung her. Ich mache mal einen Versuch:

Sowohl mit dem Lemma von Datentyp und auch Datenstruktur bin ich einverstanden.

Im Artikel Datentyp heisst im Abschnitt Abstrakter Datentyp: Alle Datentypen, die über die zugehörigen Operationen eine Funktionalität bieten, die von dem verwendeten Wertebereich bzw. Objekt unabhängig ist, sind abstrakte Datentypen (ADT). Auch bei den abstrakten Datentypen ist die Abgrenzung zu den Datenstrukturen schwierig, da die Datentypen je nachdem, ob der Schwerpunkt der Betrachtung auf den Daten oder auf den darauf definierten Operationen liegt, Datenstruktur oder Abstrakter Datentyp genannt werden.

Die Aussage im zweiten Satz stützt die These, dass jede Datenstruktur automatisch abstrakt ist. Natürlich ist es richtig zu sagen, dass jede Datenstruktur nur eine Spezifikation ihrer Operationen beinhaltet. Ob man dies jedoch sprachlich durch Voranstellung des Begriff Abstrakt betonen muss, halte ich für zweifelhalt. Aus meiner Sicht ist es vollkommend ausreichend, ja sogar zielführender, im Artikel Datenstruktur daraufhinzuweisen, dass die konkreten Implementierungen der Datenstrukturen stark differieren können. Die Schwierigkeit mit dem Begriff Konkrete/Abstrakte Datenstruktur zeigt sich auch schon an der Liste in diesem Artikel. Aus meiner Sicht sind dies alles Datenstrukturen, auch wenn man über das Array streiten könnte. ( Ja, im Sinne deiner Argumentation, dass Datenstrukturen aus verschiedenen Datentypen aufgebaut sein können, ist auch ein Array eine Datenstruktur.) Welcher der genannten Datenstrukturen soll den eine Konkrete Datenstruktur sein ??

Zu guter letzt wird in diesem Artikel auch noch der Begriff Konkreter Datentyp verwendet. Was ist denn das ???

Meine Konklusio: Ein Abstrakter Datentyp läßt sich schwer von einer Datenstruktur unterscheiden. Eine Differenzierung in Abstrakte und Konkrete Datenstruktur bedarf es nicht. Sinnvoll wäre es vielleicht den Abschnitt Abstrakter Datentyp aus Datentyp und den Artikel Datenstruktur zu einem guten Artikel zu kombinieren, weil diese Begriffe sehr schwierig voneiander abzugrenzen sind. Den Begriff Konkreter Datentyp gibt es nach meiner Kenntnis nicht, er sollte nicht weiter verwendet werden.

Und zum Abschluß noch folgender Hinweis: Das ich im Artikel Abstrakter Datentyp machen dürfe, was ich wolle, legt unterschwellig die Vermutung nahe, das damit eine Aufteilung in: Mach du, was du willst bei den Datentypen, ich mach dann, was ich will bei den Datenstrukturen erreicht werden soll. Ich wünsche mir, dass wir mit der Bündelung unseren Know-Hows beide Artikel, die sehr grundlegend für die Informatik sind, so aufeinander abstimmen, dass sie in sich schlüssig sind. --Friese 23:13, 25. Sep 2004 (CEST)

Zur letzten Bemerkung: Das war so nat. nicht gemeint und Abstimmen tun wir uns ja gerade.
Zum Inhalt: Offensichtlich gibt es das Problem die Begriffe Datentyp und Datenstruktur voneinander zu trennen, da sind wir uns wohl einig. Das Problem besteht darin, dass die Unterschiede nicht ganz offensichtlich sind und daher schwierig herauszuarbeiten. Ich versuche jetzt mal einen anderen Ansatz.
  • Der Begriff Datentyp orientiert sich stark an Programmiersprachen, die nat. eine saubere Definition, insbesondere auch des Attributes "abstrakt" verlangen. In einer Programmiersprache muss ein Datentyp genau sagen, was er ist und was man mit ihm machen kann.
  • Der Begriff Datenstruktur entstammt eher aus der Sichtweise der Mathematik/theoretischen Informatik und lehnt sich maximal an Pseudocode an. Eine Datenstruktur ist damit immer ein etwas schwammigeres Konzept. Dennoch unterscheidet man hier zwischen "abstrakt" und "konkret", wobei beide Begriffe hier etwas vom Standpunkt des Betrachters abhängen. Die Datenstruktur Heap ist natürlich zunächst als "abstrakt" zu bewerten, weil sie nur bestimmte Operationen verlangt (insert, delete, extractMin). Die Datenstrukturen Binärer Heap, Binomial-Heap und Fibonacci-Heap sind hingegen sehr konkret und es ist hinreichend genau beschrieben, wie sie zu arbeiten haben, auch wenn einige unwichtige Details der Implementierung nicht genannt werden oder Implementierungen aus gutem Grund (besserer Performance) vom Original-Paper abweichen, welches aus Gründen der Kürze, Lesbarkeit und Beweisbarkeit diese Details auslässt.
Das Attribut konkret stellt in gewisser Hinsicht das Gegenteil von abstrakt dar. Ist aber zumindest bei Datentypen scheinbar weniger gebräuchlich.
Ansonsten hatten wir eine Unterscheidung von Datentyp und Datenstruktur dahingehend gemacht, dass Datenstrukturen aus mehreren Datentypen bestehen können. Das ist bestenfalls verkürzt dargestellt. Ich will mal probieren es etwas zu präzisieren. Eine Datenstruktur kann aus unterschiedlichen Datentypen aufgebaut sein, die irgendwie ineinandergreifen und zusammenhängen. Erst dieses Konglomerat zusammen mit den Operationen auf diesem bildet dann die Datenstruktur. Wobei auch letzteres wieder Auslegungssache sein könnte. Datenstruktur meint ja scheinbar mehr die Form der Daten, weniger wie auf ihnen operiert wird. Dennoch ist eine Beschreibung der Struktur relativ nutzlos, wenn man nicht weiß, wie darauf effizient operiert werden kann. Insofern sollte man die Operationen nat. schon zur Datenstruktur dazurechnen, zumal diese auf der selben Struktur unterschiedlich ausfallen können. --Coma 15:29, 26. Sep 2004 (CEST)