Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Zeitkomplexität Grundlegender Array-Operationen | Liste und Array
Überblick Über Algorithmen und Datenstrukturen
course content

Kursinhalt

Überblick Über Algorithmen und Datenstrukturen

Überblick Über Algorithmen und Datenstrukturen

1. Einführung in ADS
2. Liste und Array
3. Fortgeschrittene Datenstrukturen
4. Graphen

book
Zeitkomplexität Grundlegender Array-Operationen

Die folgende Tabelle zeigt die Zeitkomplexität grundlegender Operationen für Arrays.

Suchoperation

Wie wir bereits besprochen haben und wie oben zu sehen ist, besteht der Hauptvorteil des Arrays darin, dass wir auf ein beliebiges Element in konstanter Zeit zugreifen können, wenn wir den Index dieses Elements im Array kennen. Aber wenn wir nicht wissen, nach welchem Element wir suchen, hat die Suchoperation eine Zeitkomplexität von O(N), da wir eine lineare Suche nach einem Element durchführen müssen.

Löschoperation

Wenn wir ein Element nach Index löschen möchten, können wir dies in konstanter Zeit tun.
Da Arrays jedoch mit kontinuierlichen Speicherblöcken dargestellt werden, bedeutet das Entfernen eines beliebigen Elements (außer dem letzten Element), dass wir mit "Löchern" in einer Datenstruktur umgehen müssen. Das nächste Bild veranschaulicht dies.

Um Löcher loszuwerden, müssen wir alle Elemente verschieben vom "Loch" bis zum Ende des Arrays, eine Position näher zum Anfang des Arrays. Und im schlimmsten Fall, wenn wir das erste Element entfernen, müssen wir alle anderen Elemente verschieben, und die Zeitkomplexität dieser Operation wird O(N) sein. Im besten Fall haben wir eine Zeitkomplexität von O(1), wenn wir das letzte Element entfernen.

Einfügeoperation

Wie beim Löschen von Elementen müssen wir beim Einfügen eines Elements in ein Array möglicherweise vorhandene Elemente verschieben, um Platz für das neue Element zu schaffen. Im schlimmsten Fall, wenn wir am Anfang des Arrays einfügen, müssten wir das gesamte Array verschieben, was zu einer Zeitkomplexität von O(n) führt. Wenn wir jedoch am Ende des Arrays einfügen, können wir das neue Element einfach ohne Verschiebung platzieren, was zu einer Zeitkomplexität von O(1) führt.

Wie lautet die Zeitkomplexität für das Einfügen eines Elements am Anfang und am Ende eines Arrays?

Wie lautet die Zeitkomplexität für das Einfügen eines Elements am Anfang und am Ende eines Arrays?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 2
We're sorry to hear that something went wrong. What happened?
some-alt