Datenstruktur

In der Informatik ist eine Datenstruktur eine besondere Weise, Daten in einem Computer zu versorgen und zu organisieren, so dass es effizient verwendet werden kann.

Verschiedenen Arten von Datenstrukturen wird verschiedenen Arten von Anwendungen angepasst, und einige werden zu spezifischen Aufgaben hoch spezialisiert. Zum Beispiel sind B-Bäume für die Durchführung von Datenbanken besonders gut passend, während Bearbeiter-Durchführungen gewöhnlich Hash-Tabellen verwenden, um Bezeichner nachzuschlagen.

Datenstrukturen werden in fast jedem Programm oder Softwaresystem verwendet. Datenstrukturen stellen ein Mittel zur Verfügung, riesige Datenmengen effizient, wie große Datenbanken und Internetindexieren-Dienstleistungen zu führen. Gewöhnlich sind effiziente Datenstrukturen ein Schlüssel zum Entwerfen effizienter Algorithmen. Einige formelle Designmethoden und Programmiersprachen betonen Datenstrukturen, aber nicht Algorithmen als der Schlüsselorganisieren-Faktor im Softwaredesign.

Übersicht

  • Eine Reihe-Datenstruktur versorgt mehrere Elemente desselben Typs in einer spezifischen Ordnung. Auf sie wird mit einer ganzen Zahl zugegriffen, um anzugeben, welches Element erforderlich ist (obwohl die Elemente fast jedes Typs sein können). Reihe kann feste Länge oder erweiterbar sein.
  • Aufzeichnung (auch genannt Tupel oder struct) Aufzeichnungen ist unter den einfachsten Datenstrukturen. Eine Aufzeichnung ist ein Wert, der andere Werte, normalerweise in der festgelegten Zahl und Folge und normalerweise mit einem Inhaltsverzeichnis versehen durch Namen enthält. Die Elemente von Aufzeichnungen werden gewöhnlich Felder oder Mitglieder genannt.
  • Ein Kuddelmuddel oder Wörterbuch oder Karte sind eine flexiblere Schwankung auf einer Aufzeichnung, in der Namenwert-Paare hinzugefügt und frei gelöscht werden können.
  • Vereinigung. Eine Vereinigungstyp-Definition wird angeben, welcher von mehreren erlaubten primitiven Typen in seinen Beispielen, z.B "Hin- und Herbewegung oder lange ganze Zahl" versorgt werden kann. Die Unähnlichkeit mit einer Aufzeichnung, die definiert werden konnte, um eine Hin- und Herbewegung und eine ganze Zahl zu enthalten; wohingegen, in einer Vereinigung, es nur einen Wert auf einmal gibt.
  • Eine markierte Vereinigung (hat auch eine Variante, verschiedene Aufzeichnung, unterschiedene Vereinigung oder zusammenhanglose Vereinigung genannt), enthält ein zusätzliches Feld, das seinen aktuellen Typ für die erhöhte Typ-Sicherheit anzeigt.
  • Ein Satz ist eine abstrakte Datenstruktur, die spezifische Werte, ohne jede besondere Ordnung und keine wiederholten Werte versorgen kann. Werte selbst werden von Sätzen nicht wiederbekommen, eher prüft man einen Wert für die Mitgliedschaft, um einen boolean "in" oder "nicht in" zu erhalten.
  • Ein Gegenstand enthält mehrere Datenfelder, wie eine Aufzeichnung und auch mehrere Programm-Codebruchstücke, um auf sie zuzugreifen oder sie zu modifizieren. Datenstrukturen, die nicht Code, wie diejenigen oben enthalten, werden einfache alte Datenstruktur genannt.

Viele andere sind möglich, aber sie neigen dazu, weitere Schwankungen und Zusammensetzungen des obengenannten zu sein.

Kernprinzipien

Datenstrukturen basieren allgemein auf der Fähigkeit eines Computers, Daten an jedem Platz in seinem Gedächtnis herbeizuholen und zu versorgen, das durch eine Adresse — wenig Schnur angegeben ist, die sich versorgt im Gedächtnis und manipuliert durch das Programm sein kann. So basieren die Aufzeichnung und Reihe-Datenstrukturen auf der Computerwissenschaft der Adressen von Datensachen mit arithmetischen Operationen; während die verbundenen Datenstrukturen auf der Speicherung von Adressen von Datensachen innerhalb der Struktur selbst basieren. Viele Datenstrukturen verwenden beide Grundsätze, die manchmal auf nichttriviale Weisen (als in XOR Verbindung) verbunden sind

Die Durchführung einer Datenstruktur verlangt gewöhnlich das Schreiben einer Reihe von Verfahren, die schaffen und Beispiele dieser Struktur manipulieren. Die Leistungsfähigkeit einer Datenstruktur kann getrennt von jenen Operationen nicht analysiert werden. Diese Beobachtung motiviert das theoretische Konzept eines abstrakten Datentyps, eine Datenstruktur, die indirekt durch die Operationen definiert wird, die darauf, und die mathematischen Eigenschaften jener Operationen (einschließlich ihrer Kosten der Zeit und Raums) durchgeführt werden können.

Sprachunterstützung

Die meisten Zusammenbau-Sprachen und einige auf niedriger Stufe Sprachen, wie BCPL (Grundlegende Vereinigte Programmiersprache), haben an Unterstützung für Datenstrukturen Mangel. Viele Programmiersprachen auf höchster Ebene und einige Zusammenbau-Sprachen des höheren Niveaus, wie MASM haben andererseits spezielle Syntax oder andere eingebaute Unterstützung für bestimmte Datenstrukturen, wie Vektoren (eindimensionale Reihe) in der c Sprache oder mehrdimensionalen Reihe in Pascal.

Die meisten Programmiersprachen zeigen einige Sorten des Bibliotheksmechanismus, der Datenstruktur-Durchführungen erlaubt, durch verschiedene Programme wiederverwendet zu werden. Neuere Sprachen kommen gewöhnlich mit Standardbibliotheken, die die allgemeinsten Datenstrukturen durchführen. Beispiele sind der C ++ Standardschablone-Bibliothek, das javanische Sammlungsfachwerk und das.NET Fachwerk des Microsofts.

Neuere Sprachen unterstützen auch allgemein Modulprogrammierung, die Trennung zwischen der Schnittstelle eines Bibliotheksmoduls und seiner Durchführung. Einige stellen undurchsichtige Datentypen zur Verfügung, die Kunden erlauben, Durchführungsdetails zu verbergen. Objektorientierte Programmiersprachen, wie C ++, Java und.NET Fachwerk verwenden Klassen für diesen Zweck.

Viele bekannte Datenstrukturen haben gleichzeitige Versionen, die vielfachen Rechenfäden erlauben, auf die Datenstruktur gleichzeitig zuzugreifen.

Siehe auch

  • Liste von Datenstrukturen
  • Einfache alte Datenstruktur
  • Gleichzeitige Datenstruktur
  • Datenmodell
  • Dynamization
  • Verbundene Datenstruktur
  • Beharrliche Datenstruktur

Weiterführende Literatur

Links


Source is a modification of the Wikipedia article Data structure, licensed under CC-BY-SA. Full list of contributors here.
Dachshund / Dmitri Shostakovich
Impressum & Datenschutz