Array in Datenstruktur – Erklärung, Funktion & Beispiele

Veröffentlicht: 2021-06-21

Datenstrukturen haben sich als entscheidender Bestandteil fast aller Programmiersprachen erwiesen, die in großem Umfang auf die meisten Computerprogramme angewendet wurden. Durch die Datenstrukturen können die Daten effektiv verwaltet und von den Programmen abgerufen werden, da der Zugriff auf und das separate Speichern einzelner Daten ein zeitaufwändiger Prozess ist. Algorithmen werden speziell entwickelt, um bestimmte Operationen zu erstellen, die in einer Datenstruktur benötigt werden. Daher bilden Datenstrukturen und Algorithmen zusammen die Grundlage für komplexe Anwendungen und Programme.

In diesem Artikel konzentrieren wir uns auf eine Art von Datenstruktur, dh Array.

Ein Array ist eine Art Datenstruktur, in der die Elemente oder Daten an zusammenhängenden Stellen gespeichert werden. Immer wenn der Benutzer über eine Reihe von Daten mit demselben Datentyp verfügt, ist die Array-Datenstruktur die Option zum Organisieren dieser Daten. Die Größe eines Arrays hängt von der Größe der Daten ab. Bevor die Elemente in einem Array gespeichert werden, muss die Größe des Arrays definiert werden, damit es alle Elemente effektiv enthält. Jedem Element, das in einem Array gespeichert ist, ist ein Indexwert zugewiesen, der dabei hilft, die Position dieses Elements im Array zu identifizieren. Das erste Element des Arrays hat einen Indexwert von Null.

Die wichtigen Begriffe im Zusammenhang mit einer Array-Datenstruktur sind:

  • Element : Element repräsentiert jedes Objekt oder Element, das in der Datenstruktur gespeichert ist.
  • Index : Index repräsentiert die Position des Elements in einem Array. Es hat einen Zahlenwert.

Die Größe eines Arrays ändert sich mit verschiedenen Programmiersprachen. Je nach Größe kann es zwei Arten von Arrays geben: ein statisches und ein dynamisches Array.

Inhaltsverzeichnis

1. Statisches Array:

Diese Arten von Arrays haben ihre Größen während ihrer Erstellung vordefiniert. Aus diesem Grund werden die statischen Arrays auch als Arrays mit fester Länge oder Arrays mit fester Länge bezeichnet. Das Array kann auf zwei Arten definiert werden. Entweder die Elemente des Arrays können beim Erstellen des Arrays definiert werden oder die Größe des Arrays kann beim Erstellen eines Arrays definiert werden. Im letzteren Fall müssen die Elemente nicht angegeben werden. Standardwerte können einem nicht initialisierten Array oder Werten zugewiesen werden, die von vorherigen Zuweisungen im Speicher verbleiben.

Das Array kann nicht verkleinert oder erweitert werden, sobald die Größe definiert ist. Da während der Deklaration eines Arrays Speicher zugewiesen wird, kann nur der Compiler das Array zerstören. Das Hinzufügen eines Elements ist nicht möglich, da der Benutzer nicht sicher ist, ob freier Speicherplatz vorhanden ist, um ihn dem nächsten Element zuzuweisen.

Die folgende Tabelle zeigt das Beispiel von Arrays, die in verschiedenen Programmiersprachen verwendet werden.

Programmiersprache Definierter Array-Inhalt Definierte Größe des Arrays ohne Inhalt
C++ int markiert[] = {10, 20, 30}; Int-Markierungen[3];
C# int[] markiert = {10, 20, 30}; int[] markiert = = neu int[3];
Java int[] markiert = {10, 20, 30}; int[] markiert = = neu int[3];
JavaScript var markiert = [10, 20, 30]; var markiert = neues Array (3);
Python Noten = [10, 20, 30] Markierungen = [Keine] * 3
Schnell var-Werte:[Int] = [10, 20, 30] var markiert: [Int] = [Int](Wiederholung: 0, Anzahl: 3)

2. Dynamisches Array

Wie der Name schon sagt, ist das Array dynamisch, was bedeutet, dass die Elemente während der Laufzeit hinzugefügt oder entfernt werden können. Im Vergleich zu den statischen Arrays mit fester Länge haben die dynamischen Arrays keine feste Länge oder Größe des Arrays. Standardbibliotheksfunktionen oder integrierte Funktionen sind in den meisten Programmiersprachen verfügbar, um dynamische Arrays zu erstellen und zu verwalten.

Die folgende Tabelle zeigt die Erstellung eines Arrays in verschiedenen Programmiersprachen

Programmiersprache Klasse Element hinzugefügt Entfernen des Elements
C++ #include <Liste>

std::liste

Einfügung löschen
C# System.Collections.Generic.List Addieren Entfernen
Java java.util.ArrayList addieren Löschen
JavaScript Array schieben, spleißen knallen, spleißen
Python Liste anhängen Löschen
Schnell Array anhängen Löschen

Darstellung eines Arrays

Die Darstellung eines Arrays variiert je nach seiner Implementierung in verschiedenen Programmiersprachen. Da das Array ein wichtiger Bestandteil der Python-Datenstruktur ist , wurde eine Illustration in der Python-Programmiersprache gezeigt.

In Python werden Datenstruktur- Arrays über das Schlüsselwort array behandelt . Wann immer das Schlüsselwortarray verwendet wird, muss der Benutzer Elemente des gleichen Datentyps speichern.

Quelle

Abbildung 1: Ein Beispiel für ein Array

Wie in Abbildung 1 zeigt die Abbildung des Arrays dies

  • Die Größe des Arrays ist 10, was bedeutet, dass 9 Elemente im Array gespeichert werden können.
  • Der Indexwert wurde über dem Array erwähnt, das mit dem Wert 0 beginnt.
  • Die im Array gespeicherten Elemente können einen beliebigen Datentyp haben, und auf das Element kann über seinen Indexwert zugegriffen werden.

Eine weitere Veranschaulichung wurde in Abbildung 2 gezeigt, wo die Syntax von Python und C++ beschrieben wurde.

Quelle

Abbildung 2 : Array-Deklaration mit Python und C++ (

Eigenschaften eines Arrays

Eine Array-Datenstruktur hat mehrere Eigenschaften:

  • Die in einem Array gespeicherten Elemente haben die gleichen Datentypen und die gleiche Größe, dh der Datentyp int hat eine Größe von 4 Bytes.
  • Der zusammenhängende Speicherplatz wird zum Speichern der Elemente einer Datenstruktur verwendet. Der kleinste Speicher wird dem ersten Element im Array zugewiesen.
  • Indexwerte werden verwendet, um die Position der Elemente in einem Array zu finden. Der Index beginnt bei 0 und ist immer kleiner als die Gesamtzahl der Elemente im Array.
  • Durch den verfügbaren Indexwert ist ein wahlfreier Zugriff auf die Elemente im Array möglich. Die Adresse des Elements kann durch Addition der Basisadresse mit einem Offsetwert berechnet werden.
  • Das Konzept des Arrays bleibt in allen Programmiersprachen gleich. Nur die Initialisierung und Deklaration variieren.
  • Array-Name, Elemente und Datentyp sind die drei Teile, die in allen Sprachen gleich sind.

Erstellen eines Arrays

Die Erstellung eines Arrays in einer Python-Datenstruktur wurde unten gezeigt.

  • Das Array -Modul in der Python-Datenstruktur kann zum Erstellen eines Arrays importiert werden.
  • array(data_type, value_list ) ist die Syntax, mit der ein Array in der Python-Datenstruktur erstellt werden kann .
  • Der Datentyp sollte reelle Ganzzahlen oder Gleitkommazahlen sein. Strings sind in Python nicht erlaubt.

Abbildung 2 zeigt, wie Sie ein Array in Python erstellen. Ein Beispiel für einen Code, der zeigt, wie ein Array-Modul in Python importiert wird

Array importieren

Markierungen = array.array('i', [100.200.300])

Druck (Markierungen)

Die Deklaration eines Arrays kann durch erfolgen

arrayName = array.array(Typcode für Datentyp, [Array,Elemente])

Dies kann in Abbildung 3 dargestellt werden

Quelle

Abbildung 3: Array-Deklaration in Python

Wichtige Begriffe, die beim Erstellen eines Arrays verwendet werden:

  • Bezeichner: Ein Name, der wie ein Name für Variablen angegeben werden muss
  • Modul: Spezielles Modul namens Array muss in Python importiert werden.
  • Methode: Es ist eine spezielle Methode, um ein Array in Python zu initialisieren. Zwei Argumente wurden genommen, Typcode und Elemente.
  • Typenschlüssel: Der Datentyp muss mit dem verfügbaren Typenschlüssel angegeben werden.
  • Elemente: Die Array-Elemente müssen innerhalb der eckigen Klammern angegeben werden, zum Beispiel [200,400,100.]

Die verfügbaren Typencodes sind unten aufgeführt

Array-Operationen

Mit der Verfügbarkeit von Datenstrukturen und Algorithmen können mehrere Operationen in jeder Art von Datenstruktur ausgeführt werden. Eine Array-Datenstruktur kann Operationen wie Hinzufügen, Löschen, Zugreifen und Aktualisieren eines Elements haben.

Die Operationen, die in einem Array der Python-Datenstruktur ausgeführt werden können, sind unten aufgeführt.

1. Hinzufügen eines Elements zu einem Array

  • Die eingebaute Funktion insert() wird zum Hinzufügen von Elementen zu einem Array verwendet.
  • Verwendete Syntax : arrayName.insert(index, value)
  • Über die Funktion insert() können dem Array entweder ein oder mehrere Elemente hinzugefügt werden.
  • Die Elemente können am Anfang des Arrays oder an einer beliebigen Position mit der Funktion Input: append() hinzugefügt werden.

Array importieren

Markierungen = array.array('i', [200.500.600])

mark.insert(1, 150)

Ausgabe: array('i', [200.150.500.600])

Ein Beispiel mit einem Code ist unten abgebildet

Ausgabe des Codes:

Quelle

2. Löschen eines Elements in einem Array

  • Ein Element kann über seinen Wert aus dem Array gelöscht werden.
  • Verwendete Syntax: arrayName.remove(value)
  • Beispiel: Entfernen des Werts 250 nach seiner Hinzufügung im Array mit den Elementen 100, 300, 200, 500 und 800.

Eingang:

Array importieren

Markierungen = array.array('i', [100.300.200.500.800])

mark.insert(1, 250)

Druck (Markierungen)

Markierungen entfernen (250)

Ausgabe: array('i', [100.300.200.500.800])

Ein Beispiel für einen Code aus

Quelle

Ausgabe des Codes:

3. Zugriff auf Elemente in einem Array

  • Der Indexoperator [ ] wird für den Zugriff auf Elemente in einem Array verwendet.
  • Die Indexnummer wird verwendet, um auf jedes Element im Array zuzugreifen .

Ein Beispiel für einen Code ist unten entnommen

Ausgabe des Codes:

Quelle

4. Element in einem Array suchen.

  • Die eingebaute Methode index() wird zum Suchen eines Elements in einem Array verwendet.
  • Der Indexwert des zu suchenden Elements wird von der Funktion zurückgegeben.
  • Beispiel: Suche nach einem Element 250 im Array der Elemente 100, 250, 300, 200, 500 und 800.

Eingabe: Array importieren

Markierungen = array.array('I', [100.250.300.200.500.800])

print(marks.index(250))

Ausgang: 1

Ein Code zum Suchen eines Elements in einem Array

Die Ausgabe des Codes ist

Quelle

3. Aktualisieren von Elementen in einem Array

  • Der Vorgang zum Aktualisieren eines Elements ähnelt der Einfügemethode mit dem einzigen Unterschied, dass beim Aktualisieren der vorhandene Wert am angegebenen Index ersetzt wird.
  • Der neue Wert wird dem Index neu zugewiesen, um das Element in einem Array zu aktualisieren.
  • Beispiel: Aktualisieren eines Elements 250 mit 350 im Array der Elemente 100, 250, 300, 200, 500 und 800.

Eingabe: Array importieren

Markierungen = array.array('i', [100.250.300.200.500.800])

Mark[1] = 350

Ausgabe:

array('i', [100.350.300.200.500.800])

Unten ist ein Code dargestellt, der die Aktualisierung eines Elements anzeigt

Die Ausgabe des Codes ist

Quelle

Vorteile des Arrays

  • Es ist möglich, mehrere Werte in einer einzigen Variablen zu speichern, anstatt separate Variablen für jedes Element zu erstellen.
  • Mehrere Werte können mit Hilfe von Arrays einfach und schnell verarbeitet werden.
  • Die Elemente des Arrays können schneller sortiert und durchsucht werden.

Fazit

Der Artikel diskutierte eine spezielle Art von Datenstruktur, dh das Array und die damit verbundenen Operationen. Mit den Grundkonzepten könnten komplexere Programme aufgebaut werden, die auf reale Probleme abzielen. Wenn Sie die Grundlagen Ihrer Datenstrukturkonzepte in Python stärken möchten, können Sie sich auf den folgenden Kurs des Executive PG Program in Data Science von upGrad beziehen. Der Kurs ist von IIIT-Bangalore zertifiziert und verfügt über mehr als 14 Programmiertools und Sprachen, um Ihre Reise in die Industrie vorzubereiten. Es ist speziell für Berufseinsteiger in der Altersgruppe von 21 bis 45 Jahren konzipiert. Hören Sie also nicht mit Ihrem Lernen hier auf und lernen Sie die Sprache und ihre Anwendung in der Welt des maschinellen Lernens durch den Kurs von upGrad kennen. Bei Fragen steht Ihnen unser Assistenzteam gerne zur Verfügung.

Was sind die Vor- und Nachteile eines Arrays?

Ein Array ist eine leistungsstarke lineare Datenstruktur. Es hat jedoch einige Vor- und Nachteile, die im Folgenden aufgeführt sind:
Vorteile
1. In einem Array kann auf Elemente einfach über ihre Indexnummern zugegriffen werden.
2. Arrays können verwendet werden, um mehrere ähnliche Entitäten zu speichern.
3. Die Suchoperation ist sehr bequem. Dies kann in O(n)-Zeit und O(log n) in einem sortierten Array erfolgen, wobei n die Anzahl der Elemente ist.
Nachteile
1. Da der Speicher in einem Array statisch zugewiesen wird, kann die Größe des Arrays nicht geändert werden.
2. Es ist homogen, dh nur die Elemente mit ähnlichem Datentyp können in einem Array gespeichert werden.

Unterscheiden Sie zwischen einem Array und einer Liste?

Im Folgenden wird der Unterschied zwischen einem Array und einer Liste veranschaulicht.
Reihe -
1. Die Array-Datenstruktur ist homogen, dh nur die Elemente mit ähnlichen Datentypen können in einem Array gespeichert werden.
2. Module müssen importiert werden, bevor das Array verwendet werden kann.
3. Arithmetische Operationen sind direkt anwendbar.
4. Bevorzugt für größere Daten.
4. Viel kompakter und verbraucht weniger Speicher.
Liste -
1. Die Liste ist heterogen und kann Elemente mehrerer Datentypen darin speichern.
2. Keine Notwendigkeit, Module zu importieren, da es in Python integriert ist.
3. Arithmetische Operationen können nicht direkt ausgeführt werden.
4. Bevorzugt für kleinere Daten.
5. Speicherverbrauch ist mehr.

Beschreiben Sie die wichtigsten Anwendungen von Arrays?

Die Array-Datenstruktur hat viele Anwendungen im wirklichen Leben und wird auch als Basis für die Implementierung anderer benutzerdefinierter Datenstrukturen verwendet. Einige der Hauptanwendungen von Arrays sind wie folgt:
1. Arrays werden verwendet, um Matrixoperationen zu implementieren und auszuführen. Matrizen werden weitgehend in geologischen Untersuchungen und Wissenschafts- und Forschungsexperimenten verwendet.
2. Mehrere benutzerdefinierte Datenstrukturen werden unter Verwendung der Array-Datenstrukturen implementiert. Dazu gehören Stack, Queue, Heaps, Hash-Tabellen und Listen.
3. Programme verwenden Arrays, um den Kontrollfluss zu regulieren, anstatt die traditionellen elif-Anweisungen zu verwenden, die vergleichsweise langwierig sind.
4. Algorithmen, die für die CPU-Scheduling-Prozesse geschrieben wurden, verwenden auch die Array-Datenstruktur, um die CPU-Leistung zu verbessern.
5. Graphen verwenden die Adjazenzlisten als eine ihrer Implementierungen. Vektoren (Anwendung von Arrays) werden verwendet, um diese Adjazenzlisten zu erstellen.