La estructura de datos es una forma particular de organizar y almacenar datos en una computadora para poder acceder a ellos y modificarlos de manera eficiente.
Las diferentes estructuras de datos son:
Matriz : es una estructura de datos lineal que consiste en una colección de elementos identificados por índice de matriz.
- ¿Qué es más rápido, encontrar un elemento en una tabla hash o en una lista ordenada? ¿Suena fácil? Pensar, repensar y comentar.
- Dada una matriz con 100 elementos (números del 0 al 99), si saco un elemento aleatorio, ¿cómo encontrarías el que saqué? ¿Cómo resolvería esto si 1: la matriz está ordenada o 2: la matriz no está ordenada?
- ¿Cuál es la mejor manera de fusionar datos mal estructurados de grandes bases de datos?
- ¿Cuáles son los mejores sitios web con problemas de práctica de algoritmos?
- Cómo encontrar el elemento más grande y el segundo más grande entre los elementos de la matriz sin la técnica de selección de selección
La matriz se puede utilizar para clasificar elementos, puede realizar operaciones de matriz y se puede utilizar en la programación de la CPU.
Una matriz con 5 elementos. Además, la indexación de matriz comienza desde 0.
Pila: es una estructura de datos lineal que sigue un orden particular en el que se realizan las operaciones. El pedido puede ser LIFO (último en entrar, primero en salir). La inserción en una pila se llama PUSH mientras que la eliminación de la pila se llama POP .
Stack se utiliza en la evaluación de expresiones, la función de avance y retroceso en los navegadores web, el análisis de sintaxis, se utiliza en muchos algoritmos como la Torre de Hanoi, el problema del histograma, etc.
Cola : es una estructura lineal que sigue un orden particular en el que se realizan las operaciones. El orden es FIFO (primero en entrar, primero en salir). La inserción en una pila se llama Enqueue mientras que la eliminación de la pila se llama Dequeue .
La cola se utiliza cuando un recurso se comparte entre múltiples consumidores, como en la programación de CPU, la programación de disco. También se utiliza en el reconocimiento de Palindrome.
Árbol binario : es una estructura de datos en árbol en la que cada nodo tiene como máximo dos hijos, a los que se hace referencia como el hijo izquierdo y el hijo derecho.
Un árbol binario de tamaño 9 y altura 3, con un nodo raíz cuyo valor es 2
Las aplicaciones de árbol binario son árbol de búsqueda binaria, montones, intentos binarios, etc. Consulte esto para más aplicaciones: ¿Cuáles son las aplicaciones de los árboles binarios?
Árbol de búsqueda binaria : es un árbol binario donde el valor de cada nodo es mayor o igual que el valor del subárbol izquierdo y el valor de cada nodo es menor o igual que el valor del subárbol derecho.
Un árbol de búsqueda binario de tamaño 9 y profundidad 3, con 8 en la raíz.
Binary Search Tree se utiliza para implementar la indexación multinivel en la base de datos. También se utiliza en el algoritmo de codificación de Huffman y para implementar el algoritmo de búsqueda.
Heap : es una estructura de datos de árbol especializada que satisface la siguiente propiedad : si P es un nodo padre de C, entonces el valor de P es mayor o igual que (en un montón máximo) o menor o igual que (en un min heap) el valor de C.
Max Heap con claves de nodo que son enteros de 1 a 100
Heap se utiliza en Heapsort y en la asignación de memoria dinámica en lisp.
Trie : es una estructura de datos de árbol ordenada que se utiliza para almacenar un conjunto dinámico o una matriz asociativa donde las claves suelen ser cadenas.
Un trie para las teclas “A”, “to”, “tea”, “ted”, “ten”, “i”, “in” y “inn”.
Trie se usa como diccionario, como el que se encuentra en un teléfono móvil para autocompletar y revisar la ortografía. Trie también se usa en el algoritmo Aho-Corasick y en el algoritmo KMP.
Tabla hash : es una estructura de datos que se utiliza para almacenar pares claves / valores. Utiliza una función hash para calcular un índice en una matriz en la que se insertará o buscará un elemento.
Tabla hash con 3 teclas y función hash
Hash Table se utiliza para la búsqueda rápida de datos: tabla de símbolos para compiladores, indexación de bases de datos, cachés, representación de datos única.
Gráfico : es una estructura de datos que consiste en un conjunto finito de vértices llamados Nodos y un conjunto finito de par ordenado llamado Borde . El gráfico puede ser dirigido o no dirigido .
Los gráficos se usan para representar redes. Los gráficos también se usan en redes sociales como LinkedIn, Facebook. Por ejemplo, en Facebook, cada persona está representada con un vértice (o nodo). Cada nodo es una estructura y contiene información como identificación de persona, nombre, género y entorno local. También se utilizan en algoritmos de enrutamiento .