“Las estructuras de datos inteligentes y el código tonto funcionan mucho mejor que al revés”, dicen muchos genios de la codificación.
La estructura de datos se refiere a la forma en que los datos se almacenan y organizan en sistemas informáticos. Las computadoras necesitan datos para prosperar y, donde existan, debe tener algún tipo de estructura de datos. El uso de estructuras de datos apropiadas influye positivamente en la eficiencia de los sistemas informáticos al mejorar la capacidad de la computadora para almacenar y recuperar datos de cualquier ubicación en su memoria. Naturalmente, los principales codificadores son maestros de las estructuras de datos.
- ¿Por qué es necesario un relleno de palabra no utilizado al comienzo del espacio de almacenamiento dinámico asignado?
- Cómo encontrar un segmento en una matriz con un número máximo de elementos con suma S
- Cómo calcular la similitud semántica entre un automóvil y una bicicleta mediante el algoritmo Jian y Conrath
- ¿Es c * O (n) = O (n) verdadero?
- ¿Desde dónde puedo aprender estructuras de datos en Bhopal?
Existen diversas estructuras de datos, cada una de ellas adaptada a ciertos tipos de aplicaciones y tareas informáticas. Toda empresa de tecnología se da cuenta de la importancia de estos componentes básicos de la programación. Por lo tanto, se pone un énfasis extremo en el conocimiento de las estructuras de datos cuando se trata de reclutar un candidato.
Tiene a su disposición las siguientes estructuras de datos:
matrices simples y bidimensionales, lista vinculada, lista doblemente vinculada, cola, pila, árbol binario, árbol de búsqueda binaria, montón, un árbol de búsqueda equilibrado (como 2-3, 2-3-4, etc.), tabla hash , y gráficos dirigidos y no dirigidos.
————————————————————————————————————————
Obtuve algún escenario de Internet, por lo que debe pasar por esto, seguramente le dará cierta celeridad hacia el uso de la estructura de datos y le creará una visión lógica en su mente:
- Tienes que almacenar “feeds” de redes sociales. No conoce el tamaño y es posible que las cosas deban agregarse dinámicamente.
- Necesita almacenar operaciones de deshacer / rehacer en un procesador de textos.
- Necesita evaluar una expresión (es decir, analizar).
- Necesita almacenar la información de amistad en un sitio de redes sociales. Es decir, quién es amigo de quién.
- Necesita almacenar una imagen (1000 por 1000 píxeles) como un mapa de bits.
- Implementar la cola de impresión para que los trabajos se puedan imprimir en el orden de llegada.
- Implementar la funcionalidad de respaldo en el navegador de internet.
- Para almacenar los posibles movimientos en un juego de ajedrez.
- Para almacenar un conjunto de palabras clave fijas a las que se hace referencia con mucha frecuencia.
- Para almacenar la información del pedido del cliente en un lugar de hamburguesas con autocinema. (Los clientes siguen llegando y tienen que obtener sus alimentos correctos en la ventana de pago / recolección de alimentos).
- Almacenar la información genealógica de especies biológicas.
———————————————————————————————————————
No podrá responder a todos estos problemas hasta que aprenda más sobre estructuras de datos, árboles, gráficos, etc. ¡De eso se trata este curso !
Estos son algunos escenarios reales donde este tipo de estructura de datos será apropiado para usar:
Tabla de hash: utilizada 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.
Árbol de sufijos: búsquedas rápidas de texto completo utilizadas en la mayoría de los procesadores de texto.
Pila: operación de deshacer / rehacer en procesadores de texto, evaluación de expresiones y análisis sintáctico, muchas máquinas virtuales como JVM están orientadas a la pila.
Colas: investigación de transporte y operaciones donde se almacenan y mantienen varias entidades para procesarlas posteriormente, es decir, la cola realiza la función de un búfer.
Colas de prioridad: programación de procesos en el núcleo
Árboles – Analizadores, Sistema de archivos
Árbol Radix : tabla de enrutamiento IP
Árbol BSP : gráficos 3D por computadora
Gráficos : conexiones / relaciones en sitios de redes sociales, enrutamiento, redes de comunicación, organización de datos, etc.
Heap : asignación dinámica de memoria en lisp
¿Los ingenieros de software de Google, Amazon, etc. utilizan estructuras de datos y algoritmos en el desarrollo de aplicaciones en tiempo real?
¿Los ingenieros de software de Google, Amazon, etc. utilizan estructuras de datos y algoritmos en el desarrollo de aplicaciones en tiempo real?
Estos son algunos enlaces que puedes usar para intentar aclarar tu pregunta
(1) Estructuras de datos y algoritmos: ¿Cuándo usar qué?
(2) ¿Cuáles son las aplicaciones del mundo real de algunas estructuras de datos avanzadas, y cuándo elegiría una estructura de datos sobre otra, en el caso de estructuras de datos similares?
Crédito de imagen y contenido: Google
Gracias