¿Cómo se utilizan las estructuras de datos en las industrias?

“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.

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

  • ¿Compraste algo en una venta Flash o hiciste reservas? Entonces estabas en una ‘Cola’. El primero en ordenar lo consigue. Aquí, si se debe dar importancia a un cliente Prime, entonces una ‘Cola de prioridad’.
  • ¿Buscaste algo en la Web? Luego, los resultados se indexaron principalmente en un ‘árbol’.
  • ¿Usó una computadora para hacer lo anterior? Luego, tuvo una llamada ‘Pila’ para cada programa que ejecutó, Cola para paquetes de datos que envió y recibió a través de Internet.
  • ¿Usó Mapas para navegar, entonces tenía un ‘Gráfico’? Cada lugar es un nodo en el gráfico y las carreteras son bordes. La ruta que navegamos de un lugar a otro era solo un camino en el Gráfico.
  • Sitios de creación de coincidencias, gráficos aquí también. Cada persona es un nodo, cada interés similar hace una ventaja entre dos nodos. Más los bordes, más el partido.
  • Recomendación de amigos en Facebook, Gráficos nuevamente.
  • ¿Tiene un conjunto de tareas pendientes en su teléfono o computadora? Son ‘Listas’ nuevamente.