Sobes.tech
Junior — Middle

Wie ist die zeitliche Komplexität der Operation zum Einfügen von Elementen am Anfang oder in der Mitte eines dynamischen Arrays?

sobes.tech KI

Antwort von AI

Die zeitliche Komplexität der Operation zum Einfügen eines Elements am Anfang oder in der Mitte eines dynamischen Arrays beträgt in der Regel O(n), wobei n die Anzahl der Elemente im Array ist.

Dies liegt daran, dass nach dem Einfügen alle nachfolgenden Elemente um eine Position nach rechts verschoben werden müssen, um Platz für das neue Element zu schaffen. Im schlimmsten Fall, beim Einfügen am Anfang, werden alle Elemente verschoben.

Beispiel in Go:

package main

import "fmt"

func insertAt(slice []int, index int, value int) []int {
    slice = append(slice, 0)           // Array vergrößern
    copy(slice[index+1:], slice[index:]) // Elemente verschieben
    slice[index] = value               // Wert einfügen
    return slice
}

func main() {
    s := []int{1, 2, 3, 4}
    s = insertAt(s, 1, 99) // Einfügen von 99 an Position 1
    fmt.Println(s)        // [1 99 2 3 4]
}