Explicación detallada de estructuras de datos y algoritmos. Matrices y listas enlazadas.

Características básicas de las matrices.

La matriz es una estructura de datos de uso común. Creó una serie de espacios de memoria en la memoria para guardar datos. El acceso a sus datos se puede hacer directamente a través de subíndices.

Sin embargo, debido a que la dirección de memoria de cada elemento de la matriz es clara, la adición o eliminación de elementos en la matriz suele ir acompañada del movimiento general hacia adelante o hacia atrás de los elementos posteriores. Por ejemplo, para eliminar el bit 0 de la matriz de la matriz, mueva cada bit posterior hacia adelante a un bit.

Además, el tamaño de la matriz se determinó cuando se creó. Si desea expandir la capacidad, debe encontrar la dirección de memoria continua de la nueva capacidad en la memoria, copiar los datos originales a la nueva memoria, y hay una mayor Costo

La lista vinculada es la estructura de datos utilizada para resolver estas deficiencias.

Características básicas de las listas enlazadas.

Los elementos de la lista vinculada son discretos en el espacio de memoria, y el orden de sus elementos es guardar la dirección que apunta al siguiente nodo a través del nodo anterior, formando así una colección dinámica.

Veamos una implementación simple de la lista vinculada basada en el lenguaje Java:

public class SimpleNode<T> {
    public T value;
    public SimpleNode<T> next;
}

Estas sorprendido De hecho, esta es la implementación más simple de la lista vinculada. Si agrega el objeto

public SimpleNode<T> prep;

Campo, esto se convierte en una lista doblemente vinculada.

La ventaja de la lista vinculada es que al agregar y eliminar datos, solo puede modificar la preparación y los siguientes atributos del nodo en el punto de adición, y puede lograr el objetivo sin tener que modificar demasiados nodos.

Comparación de matrices y listas vinculadas

Matriz Lista vinculada
Uso de la memoria Relativamente pequeño Relativamente grande, con sobrecarga de memoria adicional
Accede al elemento de subíndice especificado Acceso directo a o (1) complejidad de tiempo Para buscar hacia atrás desde el primer nodo, la complejidad del tiempo es o (n)
Agregar elementos al subíndice especificado o (n) complejidad de tiempo, lleva mucho tiempo agregar en la primera posición de la matriz o (n) complejidad de tiempo, agregar a la mitad de la matriz necesita encontrar el nodo antes de realizar operaciones posteriores
Eliminar elemento al subíndice especificado Básicamente lo mismo que arriba Básicamente lo mismo que arriba
Publicado 19 artículos originales · elogiado 8 · visitas 4041

Supongo que te gusta

Origin blog.csdn.net/u014068277/article/details/103229643
Recomendado
Clasificación