Galería de mapas mentales Estructura de datos Capítulo 2 Tabla lineal
Capítulo 2 de "Estructura de datos": clasificación del conocimiento de las tablas lineales, incluida su definición y operaciones básicas, representación secuencial y representación en cadena.
Editado a las 2022-11-23 16:06:11,Este es un mapa mental sobre una breve historia del tiempo. "Una breve historia del tiempo" es una obra de divulgación científica con una influencia de gran alcance. No sólo presenta los conceptos básicos de cosmología y relatividad, sino que también analiza los agujeros negros y la expansión. del universo. temas científicos de vanguardia como la inflación y la teoría de cuerdas.
¿Cuáles son los métodos de fijación de precios para los subcontratos de proyectos bajo el modelo de contratación general EPC? EPC (Ingeniería, Adquisiciones, Construcción) significa que el contratista general es responsable de todo el proceso de diseño, adquisición, construcción e instalación del proyecto, y es responsable de los servicios de operación de prueba.
Los puntos de conocimiento que los ingenieros de Java deben dominar en cada etapa se presentan en detalle y el conocimiento es completo, espero que pueda ser útil para todos.
Este es un mapa mental sobre una breve historia del tiempo. "Una breve historia del tiempo" es una obra de divulgación científica con una influencia de gran alcance. No sólo presenta los conceptos básicos de cosmología y relatividad, sino que también analiza los agujeros negros y la expansión. del universo. temas científicos de vanguardia como la inflación y la teoría de cuerdas.
¿Cuáles son los métodos de fijación de precios para los subcontratos de proyectos bajo el modelo de contratación general EPC? EPC (Ingeniería, Adquisiciones, Construcción) significa que el contratista general es responsable de todo el proceso de diseño, adquisición, construcción e instalación del proyecto, y es responsable de los servicios de operación de prueba.
Los puntos de conocimiento que los ingenieros de Java deben dominar en cada etapa se presentan en detalle y el conocimiento es completo, espero que pueda ser útil para todos.
mesa lineal
Definición y operaciones básicas.
definición
Una tabla lineal es una secuencia finita de n elementos de datos del mismo tipo de datos.
a1 es el elemento de encabezado
an es el elemento de la tabla
Cada elemento excepto el primer elemento tiene un solo predecesor directo; cada elemento excepto el último elemento tiene un solo sucesor directo.
Características
El número de elementos de la tabla es limitado.
Los elementos de la tabla tienen una secuencia lógica. Los elementos de la tabla tienen su orden.
Los elementos de la tabla son todos elementos de datos y cada elemento es un solo elemento.
Los tipos de datos de los elementos de la tabla son todos iguales, lo que significa que cada elemento ocupa el mismo tamaño de espacio de almacenamiento.
Los elementos de la tabla son abstractos, es decir, sólo se analiza la relación lógica entre los elementos, sin considerar lo que realmente representan los elementos.
Operaciones básicas de tablas lineales.
InitList(&): Lista de inicialización. Construir una tabla lineal vacía
Longitud (L): Encuentra la longitud de la mesa. Devuelve la longitud de la tabla lineal L, es decir, el número de elementos de datos en L
LocateElem(L,e): Encuentra operación por valor. Encuentre elementos en la tabla L con el valor clave dado
GetElem(L,i): operación de búsqueda bit a bit. Obtenga el valor del elemento en la posición i en la tabla
ListInsert (&L,i,e): Operación de inserción. Inserte el elemento especificado e en la i-ésima posición en la tabla L
ListDelete(&L,i,&e): operación de eliminación. Elimine el elemento en la posición i-ésima de la tabla y use e para devolver el valor del elemento eliminado
PrintList(L): Operación de salida. Genere todos los valores de los elementos de la tabla lineal en orden secuencial.
Vacío(L): Operación vacía. Si el trabajo es una tabla vacía, devuelve verdadero; de lo contrario, devuelve falso
DestroyList(&L): operación de destrucción. Destruya la tabla lineal y libere el espacio de memoria ocupado por la tabla lineal L
representación secuencial
definición
El almacenamiento secuencial de una tabla lineal utiliza un conjunto de unidades de almacenamiento con direcciones consecutivas para almacenar secuencialmente los elementos de datos en la tabla lineal, de modo que dos elementos lógicamente adyacentes también lo sean físicamente.
Características
acceso aleatorio
El elemento especificado se puede encontrar en el tiempo O (1) a través de la primera dirección y el número de elemento.
Alta densidad de almacenamiento, cada nodo solo almacena elementos de datos
El orden lógico de los elementos de una tabla es el mismo que su orden físico, por lo que las operaciones de inserción y eliminación requieren mover una gran cantidad de elementos.
Operaciones básicas
(1) insertar
Complejidad del tiempo: O (n)
(2) borrar
Complejidad del tiempo: O (n)
(3) Buscar por valor (búsqueda secuencial)
Complejidad del tiempo: O (n)
representación en cadena
Definición de lista enlazada individualmente
Almacene elementos de datos en una tabla lineal a través de un conjunto arbitrario de unidades de almacenamiento.
Para cada nodo de la lista vinculada, además de almacenar la información del elemento, también necesita almacenar un puntero a su sucesor.
Adjunte un nodo antes del primer nodo de la lista enlazada individualmente, llamado nodo principal. Su campo de datos no contiene ninguna información y el puntero apunta al primer nodo de elemento de la lista lineal.
Operaciones básicas de lista enlazada individualmente.
Cree una lista enlazada individualmente utilizando el método de inserción de encabezado
El orden de los nodos en la lista vinculada generada es inconsistente con el orden de los datos de entrada.
Complejidad del tiempo: O (n)
Cree una lista enlazada individualmente utilizando el método de inserción de cola
Introduzca el puntero de cola r, que siempre apunta al nodo de cola de la lista vinculada actual
Complejidad del tiempo: O (n)
Encuentre el valor del nodo por número de serie
Complejidad del tiempo: O (n)
Buscar nodos de tabla por valor
Complejidad del tiempo: O (n)
Insertar operación de nodo
complejidad del tiempo
Insertar después de un nodo determinado: O(1)
De lo contrario, O(n)
Operación de inserción hacia adelante
Suponga que el nodo a insertar es s e insértelo delante del nodo p: s se puede insertar primero después de p, y luego se intercambian p->datos y s->datos. La complejidad del tiempo es solo O (1).
Eliminar operación de nodo
Complejidad del tiempo: O (1)
Enfoque extendido: para eliminar el nodo p, primero puede asignarse el valor de su nodo sucesor y luego eliminar el nodo sucesor. La complejidad del tiempo es solo O (1).
Operación de búsqueda de longitud de tabla
Complejidad del tiempo: O (n)
lista doblemente enlazada
La complejidad temporal de acceder al nodo predecesor de una lista enlazada única es O (n). Por esta razón, se introduce una lista enlazada doble. Cada nodo tiene dos punteros, anterior y siguiente, que apuntan a su nodo predecesor y sucesor respectivamente.
operación de inserción
Eliminar operación
lista circular enlazada
Lista circular individualmente enlazada
El puntero del último nodo de la tabla no es NULL, sino que apunta al nodo principal.
El resto es igual que la lista enlazada individualmente.
Lista circular doblemente enlazada
El puntero anterior del nodo principal apunta al nodo final de la lista; cuando la lista vinculada es una lista vacía, el campo anterior y el siguiente del nodo principal son ambos iguales a L;
lista enlazada estática
Utilice matrices para describir la estructura de almacenamiento vinculada de listas lineales
El puntero es la dirección relativa del nodo (subíndice de matriz), también conocido como cursor
Utilice next==-1 como marca final
Comparación de lista de secuencia y lista enlazada
Métodos de acceso (lectura y escritura)
Tabla de secuencia: se puede acceder de forma secuencial o aleatoria
Lista enlazada: solo se puede acceder a los elementos de forma secuencial desde el encabezado de la lista
Estructura lógica y estructura física.
Operaciones de búsqueda, inserción y eliminación de elementos.
asignación de espacio
El almacenamiento secuencial es difícil de expandir cuando se asigna almacenamiento estático. La asignación de almacenamiento dinámico reducirá la eficiencia operativa;