Esta es una lista de estructuras de datos conocidas . Para obtener una lista más amplia de términos, consulte la lista de términos relacionados con algoritmos y estructuras de datos . Para obtener una comparación de los tiempos de ejecución de un subconjunto de esta lista, consulte la comparación de estructuras de datos .
Tipos de datos
Tipos primitivos
- Booleano , verdadero o falso .
- Personaje
- Representación en punto flotante de un subconjunto finito de los racionales .
- Incluidos los flotantes IEEE 754 de precisión simple y doble , entre otros.
- Representación de punto fijo de los racionales
- Entero , una representación directa de los números enteros o de los números enteros no negativos.
- Una referencia , a veces denominada erróneamente puntero o identificador, es un valor que hace referencia a otro valor, posiblemente incluido él mismo.
- Símbolo , un identificador único
- Tipo enumerado , un conjunto de símbolos
- Complejo , representación de números complejos
Tipos compuestos o tipos no primitivos
- Matriz , una secuencia de elementos del mismo tipo almacenados de forma contigua en la memoria.
- Registro (también llamado estructura o struct ), una colección de campos
- Tipo de producto (también llamado tupla), un registro en el que los campos no tienen nombre
- Cadena , una secuencia de caracteres que representan texto.
- Unión , un dato que puede ser uno de un conjunto de tipos
- Unión etiquetada (también llamada variante , unión discriminada o tipo suma ), una unión con una etiqueta que especifica de qué tipo son los datos.
Tipos de datos abstractos
- Recipiente
- Lista
- Tupla
- Matriz asociativa, Mapa
- Multimapa
- Colocar
- Multiset (bolsa)
- Pila
- Cola (ejemplo Cola de prioridad )
- Cola de dos extremos
- Gráfico (ejemplo: árbol , montón )
Algunas propiedades de los tipos de datos abstractos:
"Ordenado" significa que los elementos del tipo de datos tienen algún tipo de orden explícito, donde un elemento puede considerarse "antes" o "después" de otro elemento. Este orden suele estar determinado por el orden en el que se añaden los elementos a la estructura, pero los elementos pueden reorganizarse en algunos contextos, como al ordenar una lista. Por otro lado, para una estructura que no está ordenada, no se pueden hacer suposiciones sobre el orden de los elementos (aunque una implementación física de estos tipos de datos a menudo aplicará algún tipo de orden arbitrario). "Unicidad" significa que no se permiten elementos duplicados. Según la implementación del tipo de datos, intentar añadir un elemento duplicado puede ignorarse, sobrescribir el elemento existente o generar un error. La detección de duplicados se basa en alguna regla incorporada (o, alternativamente, definida por el usuario) para comparar elementos.
Estructuras de datos lineales
Se dice que una estructura de datos es lineal si sus elementos forman una secuencia.
Matrices
- Formación
- Matriz asociativa
- Matriz de bits
- Campo de bits
- Tablero de bits
- Mapa de bits
- Amortiguador circular
- Mesa de control
- Imagen
- Vector de droga
- Matriz dinámica
- Amortiguador de huecos
- Árbol de matriz hash
- Tabla de consulta
- Matriz
- Matriz paralela
- Matriz ordenada
- Matriz dispersa
- Vector de Iliffe
- Matriz de longitud variable
Liza
- Lista doblemente enlazada
- Lista de matrices
- Lista enlazada también conocida como lista enlazada simple
- Lista de asociaciones
- Lista autoorganizada
- Saltar lista
- Lista enlazada desenrollada
- Lista V
- Lista de árboles de concentración
- Lista enlazada XOR
- Cremallera
- Lista de aristas doblemente conectadas también conocida como lista de aristas medias
- Lista de diferencias
- Lista libre
Árboles
Los árboles son un subconjunto de gráficos acíclicos dirigidos .
Árboles binarios
- Árbol AA
- Árbol AVL
- Árbol de búsqueda binaria
- Árbol binario
- árbol cartesiano
- Lista de árboles de concentración
- Árbol binario de hijo izquierdo y hermano derecho
- Ordenar árbol estadístico
- Pagoda
- Árbol de búsqueda binaria aleatorizado
- Árbol rojo-negro
- Soga
- Árbol del chivo expiatorio
- Árbol de búsqueda binario autoequilibrado
- Árbol de expansión
- árbol T
- Árbol de tango
- Árbol binario enhebrado
- Árbol superior
- Tratar
- Árbol WAVL
- Árbol de peso equilibrado
- Árbol zip
Árboles B
- Árbol B
- Árbol B+
- árbol B*
- Árbol danzante
- 2–3 árboles
- 2–3–4 árboles
- Quejarse
- Árbol de fusión
- árbol bx
Muchísimo
- Montón
- Montón mínimo-máximo
- Montón binario
- Montón B
- Montón débil
- Montón binomial
- Montón de Fibonacci
- Montón de AF
- Montón de Leonardo
- 2–3 montón
- Montón blando
- Montón de emparejamiento
- Montón de izquierdistas
- Tratar
- pitido
- Montón sesgado
- Montón ternario
- Montón D-ario
- Cola de Brodal
Árboles de cortes de bits
En estas estructuras de datos, cada nodo del árbol compara una porción de bits de valores clave.
- Árbol de base
- Árbol de sufijos
- Matriz de sufijos
- Matriz de sufijos comprimida
- Índice FM
- Árbol de sufijos generalizado
- Árbol B
- Matriz de Judy
- Intentar
- Trie ultrarrápido
- Trie rápido Y
- Árbol de Merkle
Árboles multidireccionales
- Árbol de búsqueda ternario
- Árbol ternario
- Árbol K-ario
- Y–o árbol
- árbol (a,b)
- Enlace/corte de árbol
- Árbol SPQR
- Pila de espaguetis
- Estructura de datos de conjunto disjunto (estructura de datos de búsqueda de unión)
- Árbol de fusión
- Enfilar
- Árbol exponencial
- Árbol de Fenwick
- Árbol de Van Emde Boas
- Arbol de rosas
Árboles de partición del espacio
Se trata de estructuras de datos que se utilizan para la partición del espacio o la partición del espacio binario .
- Árbol de segmentos
- Árbol de intervalos
- Árbol de distribución
- Papelera
- Árbol kd
- Árbol kd implícito
- Árbol kd mín/máx
- Árbol kd relajado
- Árbol kd adaptativo
- Árbol cuaternario
- Octárbol
- Octárbol lineal
- Orden Z
- Árbol UB
- Árbol R
- Árbol R+
- Árbol R*
- Árbol R de Hilbert
- árbol de navidad
- Árbol métrico
- Árbol de cobertura
- Árbol M
- Árbol VP
- árbol BK
- Jerarquía de intervalos delimitadores
- Jerarquía de volumen delimitador
- Árbol BSP
- Explorando rápidamente un árbol aleatorio
Árboles específicos de la aplicación
- Árbol de sintaxis abstracta
- Árbol de análisis
- Árbol de decisión
- Árbol de decisión alterno
- Árbol minimax
- Árbol Expectiminimax
- Árbol de dedos
- Árbol de expresión
- Árbol de fusión con estructura logarítmica
- Árbol PQ
Estructuras basadas en hash
- Filtro de consulta de membresía aproximada
- Boceto de conteo mínimo
- Tabla hash distribuida
- Doble hash
- Tabla hash dinámica perfecta
- Trie mapeado en matriz hash
- Lista de hash
- Tabla hash
- Árbol de hachís
- Trie de hash
- Coro
- Árbol hash de prefijo
- Hachís rodante
- MinHash
- Ctrié
Gráficos
En informática y campos relacionados se utilizan muchas estructuras de datos basadas en gráficos :
- Gráfico
- Lista de adyacencia
- Matriz de adyacencia
- Pila con estructura gráfica
- Gráfica de escena
- Árbol de decisión
- Diagrama de decisión con supresión de ceros
- Gráfico de inversor-and
- Grafo dirigido
- Grafo acíclico dirigido
- Grafo acíclico dirigido proposicional
- Multigrafo
- Hipergrafo
Otro
- Mapa de luz
- Borde alado
- De cuatro filos
- Tabla de enrutamiento
- Tabla de símbolos
- Tabla de piezas
- E-gráfico
Véase también
- Lista de algoritmos
- Estructura de datos puramente funcional
- Blockchain , una estructura de datos encadenada basada en hash que puede conservar el historial de estados a lo largo del tiempo
Enlaces externos
- Tommy Benchmarks Comparación de varias estructuras de datos.