Galería de mapas mentales estructura de datos
La estructura de datos, que organiza el contenido principal y la estructura lógica de los conceptos básicos de la estructura de datos, ayuda a comprender y recordar los puntos de conocimiento y es adecuada para la revisión de exámenes.
Editado a las 2024-03-27 14:56: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.
estructura de datos
introducción
Conceptos básicos de estructura de datos.
datos
elemento de datos, elemento de datos
Resumir con ejemplos
objetos de datos, estructuras de datos
Tipos de datos, tipos de datos abstractos
Tres elementos
estructura lógica
estructura lineal
recolectar
estructura de árbol
Estructura gráfica (estructura de malla)
estructura no lineal
Estructura física (estructura de almacenamiento)
almacenamiento secuencial
almacenamiento en cadena
Almacenamiento de índice
almacenamiento de hash
almacenamiento no secuencial
Operaciones de datos
algoritmo
concepto basico
¿Qué es el algoritmo?
Programa = estructura de datos + algoritmo
Las estructuras de datos son la información a procesar.
Los algoritmos son pasos para procesar información.
Cinco características de los algoritmos.
finitud
Se puede ejecutar en un tiempo limitado.
Los algoritmos son finitos.
Los programas pueden ser infinitos.
certeza
La misma entrada solo producirá la misma salida.
factibilidad
Los algoritmos se pueden implementar utilizando operaciones básicas existentes.
ingresar
Datos arrojados al algoritmo para su procesamiento.
producción
El resultado del procesamiento del algoritmo.
Características de un "buen" algoritmo
exactitud
Capaz de resolver problemas correctamente.
legibilidad
Describe el algoritmo para que otros puedan entenderlo.
Robustez
Los algoritmos pueden manejar algunas situaciones anormales.
Alta eficiencia y bajos requisitos de almacenamiento.
Es decir, la ejecución del algoritmo ahorra tiempo y memoria.
Baja complejidad temporal y baja complejidad espacial.
Una medida de la eficiencia del algoritmo.
complejidad del tiempo
Como calcular
① Encuentre una operación básica (el bucle más profundo)
② Analice la relación entre el número de veces de ejecución x de esta operación básica y el tamaño del problema n x = f (n)
③El orden de magnitud O(x) de x es la complejidad temporal del algoritmo T(n)
Técnicas comúnmente utilizadas
Regla de la suma: O( f( n)) × O( g( n)) = O( max( f( n), g( n)))
Regla de multiplicación: O( f( n)) × O( g( n)) = O( ( f( n) × g( n)))
"Refiérase siempre al orden de poder"
Tres niveles de complejidad
Complejidad del tiempo en el peor de los casos: considere el "peor" caso de los datos de entrada
Complejidad del tiempo promedio: considere la situación en la que todos los datos de entrada parecen igualmente probables
Mejor complejidad del tiempo: considere el "mejor caso" para los datos de entrada
complejidad espacial
sobrecarga de memoria
①Variables de almacenamiento
②Llamada recursiva
Como calcular
programa ordinario
①Encuentra las variables relacionadas con el espacio ocupado y el tamaño del problema.
②Analizar la relación entre el espacio ocupado x y el tamaño del problema n x = f (n)
③El orden de magnitud O(x) de x es la complejidad espacial del algoritmo S(n)
programa recursivo
① Encuentre la relación entre la profundidad de la llamada recursiva x y el tamaño del problema n x = f(n)
②El orden de magnitud O (x) de x es la complejidad espacial del algoritmo
Nota: Algunos algoritmos requieren un espacio de almacenamiento diferente para cada capa de funciones y los métodos de análisis son ligeramente diferentes.
Técnicas comúnmente utilizadas
Regla de la suma: complejidad del tiempo simultáneo
Regla de multiplicación: complejidad del tiempo simultáneo
"Refiérase siempre al orden de poder"
Capítulo uno
mesa lineal
Definición y operaciones básicas de tablas lineales.
definición
Una tabla lineal tiene una secuencia finita de n (n>=0) elementos de datos del mismo tipo de datos, donde n es la longitud de la tabla cuando n=0. Una lista lineal es una lista vacía.
orden
El orden de los bits comienza desde 1 y el subíndice de la matriz comienza desde 0
Longitud de la mesa, mesa vacía
Elementos de encabezado y pie de página
predecesor directo y sucesor directo
Excepto el primer elemento, cada elemento tiene un y sólo un predecesor directo; Cada elemento excepto el último elemento tiene exactamente un sucesor directo.
Características destacables
Los elementos de datos son del mismo tipo, limitados y ordenados.
Operaciones básicas
Crear ventas, agregar, eliminar, modificar y consultar
Juzgar vacío, juzgar largo, imprimir salida (función de función personalizada)
Otros puntos dignos de mención
Comprender cuándo pasar las referencias de parámetros "&"
El nombre de las funciones debe ser legible.
Tabla de secuencia (almacenamiento secuencial)
Definición (estructura de almacenamiento)
Los elementos de datos que son lógicamente adyacentes también lo son físicamente
Método para realizar
asignar memoria estáticamente
Utilice la implementación de "matriz estática" para definir la cantidad máxima de almacenamiento
Una vez determinado el tamaño, no se puede cambiar.
Asignar memoria dinámicamente
Usando una "matriz dinámica", el puntero de datos definido en la estructura asigna memoria dinámicamente a través de malloc (hay un área de montón)
L.data=(ElemType *)malloc(tamaño de(ElemType)*tamaño)
Cuando la tabla de secuencia está llena, se puede utilizar malloc para expandir dinámicamente la capacidad máxima de la tabla de secuencia.
Es necesario copiar los elementos de datos a una nueva área de almacenamiento y utilizar la función gratuita para liberar el área original.
Encabezados utilizados #include <stdlib.h>
Características
acceso aleatorio
Puede encontrar el i-ésimo elemento en tiempo O(1)
Alta densidad de almacenamiento
Ampliar la capacidad es inconveniente
Insertar y eliminar elementos de datos es inconveniente
Función de operación
insertar
Complejidad del tiempo: Mejor O(1) Peor O(n) Promedio O(n)
borrar
Complejidad del tiempo: Mejor O(1) Peor O(n) Promedio O(n)
Puntos de código
El código debe prestar atención a la diferencia entre el orden de bits i y el subíndice.
El algoritmo debe ser robusto y prestar atención a la legalidad de i
Uso de comillas
Encontrar
búsqueda bit a bit
En el caso de memoria asignada dinámicamente, la complejidad temporal es O (1)
Buscar por valor
Complejidad del tiempo de asignación estática: mejor O(1) peor O(n) promedio O(n)
Estático y dinámico son lo mismo.
lista enlazada
puntero de cabeza
cola
1. Se pueden utilizar matrices y listas enlazadas.
Listas circulares enlazadas y matrices circulares.
Punteros de cabeza y cola, subíndices
Capitulo dos