Aplicación en tiempo real de Estructuras de Datos

Una estructura de datos es una forma particular de organizar los datos en una computadora para que pueda usarse de manera efectiva. En este artículo, se analizan las aplicaciones en tiempo real de todas las estructuras de datos. 

Aplicación de arrays :

Las arrays son las estructuras de datos más simples que almacenan elementos del mismo tipo de datos. Una aplicación básica de Arrays puede ser el almacenamiento de datos en formato tabular. Por ejemplo, si deseamos almacenar los contactos en nuestro teléfono, el software simplemente colocará todos nuestros contactos en una array. 
 

Algunas otras aplicaciones de los arreglos son: 

  1. La disposición de la tabla de clasificación de un juego se puede hacer simplemente a través de arrays para almacenar la puntuación y organizarlas en orden descendente para distinguir claramente el rango de cada jugador en el juego.
  2. Una pregunta simple El papel es una array de preguntas numeradas a cada una de las cuales se le asignan algunas marcas.
  3. Las arrays 2D , comúnmente conocidas como arrays, se utilizan en el procesamiento de imágenes.
  4. También se utiliza en el procesamiento de voz, en el que cada señal de voz es una array. 
  5. Su pantalla de visualización también es una array multidimensional de píxeles.
  6. Títulos de libros en un Sistema de Gestión de Bibliotecas.
  7. Reserva de billetes en línea.
  8. Contactos en un teléfono celular.
  9.  Para la programación de la CPU en la computadora.
  10. Para almacenar los posibles movimientos de ajedrez en un tablero de ajedrez.
  11. Para almacenar imágenes de un tamaño específico en un Android o una computadora portátil.
     

Aplicación de Cuerdas:

  1. Detección de correo electrónico no deseado.
  2. Detección de plagio.
  3.  Buscador.
  4. Sistema de recuperación de información y forense digital
  5. Correctores ortográficos.
  6. En la base de datos para comprobar la información válida del usuario
 

Complete Interview Preparation - GFG

Aplicación de Array:

Matrix es una colección ordenada de columnas y filas de elementos. Es necesario encerrar los elementos de una array entre paréntesis.

 

Algunas aplicaciones de una array son:

  1. En geología, las arrays se utilizan para realizar levantamientos sísmicos.
  2. Se utiliza para trazar gráficos y estadísticas y también para realizar estudios e investigaciones científicas en casi diferentes campos.
  3. Las arrays también se utilizan para representar datos del mundo real, como la población de personas, la tasa de mortalidad infantil, etc.
  4. Son los mejores métodos de representación para trazar levantamientos. 
  5.  Para refracción y reflexión en ciencia óptica.
  6. Circuito electrónico y física cuántica.
  7. Reproductor multimedia.
  8. Lista de correo.
  9. Creación de tablas de símbolos.
     

Aplicación de Listas Enlazadas :

Una lista enlazada es una estructura de datos de secuencia, que conecta elementos, llamados Nodes, a través de enlaces.  

Algunas otras aplicaciones de la lista enlazada son:  

  1. Las imágenes están vinculadas entre sí. Por lo tanto, un software de visualización de imágenes utiliza una lista vinculada para ver las imágenes anterior y siguiente mediante los botones anterior y siguiente.
  2. Se puede acceder a las páginas web usando los enlaces URL anterior y siguiente que están enlazados usando una lista enlazada.
  3. Los reproductores de música también usan la misma técnica para cambiar de música.
  4. Para realizar un seguimiento de los turnos en un juego de varios jugadores, se utiliza  una lista enlazada circular .
  5. Los dibujos y las formas de MS-Paint se conectan a través de una lista vinculada en el lienzo.
  6. Escaleras mecánicas — Lista enlazada circular.
  7. Cada una de las líneas de código en un IDE internamente es un registro en una lista doblemente enlazada.
  8. Deslizar hacia la izquierda/derecha en Tinder utiliza una lista con doble enlace.
  9. Contenido de redes sociales «feeds».
  10. Se utiliza para la gestión de tablas de símbolos en un compilador de diseño.
  11. Se utiliza para cambiar entre aplicaciones y programas (Alt + Tabulador) en el sistema operativo (implementado mediante la lista circular enlazada)
  12. Los vagones de tren están conectados entre sí en forma de lista doblemente enlazada.
  13. Se puede utilizar para implementar pilas, colas, gráficos y árboles.
  14. Para realizar la operación de deshacer.
  15. Botón Atrás.[LIFO]
  16. Sintaxis en el editor de codificación.
  17. Historial de páginas visitadas.

     

Aplicación de la pila :

Una pila es una estructura de datos que utiliza el orden LIFO .  

Algunas aplicaciones de una pila son: 

  1. Conversión de expresiones infijas a sufijas.
  2. Botón Deshacer/Rehacer/operación en procesadores de texto.
  3. Las sintaxis en los idiomas se analizan mediante pilas.
  4. Se utiliza en muchas máquinas virtuales como JVM .
  5. Navegación hacia adelante y hacia atrás en el navegador.
  6. Historial de sitios web visitados.
  7. Los registros de mensajes y todos los mensajes que recibe se organizan en una pila.
  8. Registros de llamadas, correos electrónicos, cualquier galería de fotos de Google, descargas de YouTube, notificaciones (la última aparece primero).
  9. La tarjeta rasca gana después de la transacción de pago de Google.
  10. Ponerse/Quitarse Brazaletes, Pila de Platos de Cena, Sillas Apiladas.
  11. Cambiando los wearables en una tarde fría, primero en entrar, sale por fin.
  12. Último contratado, primer despedido, que normalmente se utiliza cuando una empresa reduce su fuerza laboral en una recesión económica.
  13. Cargando balas en el cargador de un arma. El último en entrar es despedido primero. ¡Bam!
  14. Máquina virtual de Java.
  15. Recursión.
  16. Se utiliza en IDE para verificar la coincidencia adecuada de paréntesis
  17. Lista de reproducción multimedia. Para reproducir la canción anterior y siguiente 

Aplicación de cola :

Una cola es una estructura de datos que utiliza el orden FIFO .  

Algunas aplicaciones de una cola son: 

  1. El sistema operativo utiliza colas para la programación de trabajos.
  2. Se puede utilizar para manejar la congestión en la cola de red.
  3. Los paquetes de datos en comunicación se organizan en formato de cola.
  4. Al enviar un correo electrónico, se pondrá en cola.
  5. Servidor mientras responde a la solicitud
  6. La carga y descarga de fotos, primero guardadas para cargar/descargar, se completará primero (no si hay subprocesos)
  7. La mayoría de las requests y procesos de Internet utilizan la cola.
  8. Al cambiar varias aplicaciones, las ventanas usan cola circular.
  9. En escaleras mecánicas, cola de impresión, cola de lavado de coches.
  10. Se utiliza una cola circular para mantener la secuencia de juego de múltiples jugadores en un juego.
  11. Una cola se puede implementar en: cola basada en lista vinculada, cola basada en array, cola basada en pila.
  12. La carga y descarga de fotos, primero guardadas para cargar/descargar, se completará primero (no si hay subprocesos).
  13.  Manejar el tráfico del sitio web
  14. programación de la CPU
     

Cola de prioridad:

  1. Programación de procesos en el kernel.
  2. Las colas de prioridad se utilizan en las operaciones de descarga de archivos en un navegador
  3.  Vehículo en el centro de peaje.
     

Aplicación de algoritmos de clasificación

  1. Ordena las cosas por su valor.
  2. Bases de datos back-end (ordenación por combinación).
  3. Jugando a las cartas con tus amigos (clasificación por inserción).
  4. sort() – utiliza IntroSort (un híbrido de Quicksort, Heapsort y Insertion Sort), más rápido que qsort()
  5.  Lista de contactos en el teléfono
  6. Las compras en línea . Para ordenar el premio en diferentes rangos. ejemplo: flipkart y amazon.

Aplicación de gráfico :

Graph es una estructura de datos donde los datos se almacenan en una colección de vértices (Nodes) y bordes (caminos) interconectados. 
 

Algunas aplicaciones de un gráfico son:  

  1. La API Graph de Facebook utiliza la estructura de Graphs.
  2. Knowledge Graph de Google también tiene que ver con Graph.
  3. El algoritmo de Dijkstra o el primer algoritmo de la ruta más corta también utiliza la estructura del gráfico para encontrar la ruta más pequeña entre los Nodes del gráfico.
  4. El sistema de navegación GPS también utiliza las API de ruta más corta.
  5. Los componentes de red tienen una gran aplicación para gráficos.
  6. Facebook, Instagram y todos los sitios de redes sociales, cada usuario es Node
  7. Organización de datos
  8. El DOM virtual de React utiliza estructuras de datos de gráficos.
  9. MS Excel utiliza DAG (Gráficos acíclicos dirigidos).
  10. Algoritmos de optimización de rutas, BFS, DFS.
  11. Motores de recomendación.
  12. Cómputos científicos, redes de vuelo, ranking de páginas.
  13.  Mapa de Google para encontrar la ubicación más cercana.
  14. Facebook para sugerir amigos mutuos 
     

Aplicación de árbol :

Los árboles son estructuras jerárquicas que tienen un solo Node raíz.  

Algunas aplicaciones de los árboles son: 

  1. XML Parser utiliza algoritmos de árbol.
  2. El algoritmo basado en decisiones se utiliza en el aprendizaje automático que funciona sobre el algoritmo del árbol.
  3. Las bases de datos también utilizan estructuras de datos de árbol para la indexación.
  4. El servidor de nombres de dominio (DNS) también utiliza estructuras de árbol.
  5. Explorador de archivos/mi computadora del móvil/cualquier computadora
  6. BST utilizado en gráficos por computadora
  7. Al publicar preguntas en sitios web como Quora, los comentarios son un hijo de preguntas.
  8. Analizadores (analizador XML).
  9. Compresión de código (zip).
  10. DOM en Html.
  11. Evaluar una expresión (es decir, analizar).
  12. Integral a la teoría de los compiladores/autómatas.
  13. Para almacenar los posibles movimientos en un juego de ajedrez.
  14. Almacenar la información genealógica de las especies biológicas.
  15. Utilizado por JVM (Java Virtual Machine) para almacenar objetos Java. 

Aplicación del árbol de búsqueda binaria:

  1. Motor de juego D.
  2. Representación de gráficos por computadora.
  3. Tabla de ruteo.

ÁRBOL ROJO-NEGRO

  1. Se utiliza cuando hay Inserciones/Borrados frecuentes y pocas búsquedas.
  2. Agrupamiento de K-mean utilizando un árbol rojo-negro, bases de datos, base de datos simple, búsqueda de palabras dentro de diccionarios, búsqueda en la web.
  3. Programación de procesos en Linux.

ÁRBOL AVL

  1. Más Búsqueda y menos Inserción/Borrado.
  2. Data Analysis y Data Mining y las aplicaciones que más búsquedas implican.

ÁRBOL DE SUFIJOS

  1. Búsqueda rápida de texto completo, utilizada en la mayoría de los procesadores de texto.

TRIE

  1. Aplicación de diccionario.
  2. Función de autocompletar en la búsqueda.
  3. Autocompletar el texto y revisión ortográfica.

Aplicación de tablas hash :

Las tablas hash almacenan datos en pares clave-valor. Solo almacena datos que tienen una clave asociada. Las operaciones de inserción y búsqueda son fácilmente manejables mientras se usan tablas hash. 

Algunas aplicaciones de una tabla hash son:  

  1. Los datos almacenados en las bases de datos generalmente tienen el formato clave-valor que se realiza a través de tablas hash.
  2. Cada vez que escribimos algo para buscar en Google Chrome u otros navegadores, genera el resultado deseado basado en el principio de hashing.
  3. Message Digest, una función de criptografía, también utiliza hashing para crear resultados de tal manera que llegar a la entrada original desde ese resultado generado es casi imposible.
  4. En nuestras computadoras tenemos varios archivos almacenados en él, cada archivo tiene dos piezas de información muy importantes, es decir, el nombre del archivo y la ruta del archivo, para hacer una conexión entre el nombre del archivo y su correspondiente ruta de archivo se utilizan tablas hash. 
  5. Redes sociales “feeds”.
  6. Hashing de contraseñas.
  7. 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 únicos.
  8. Para almacenar un conjunto de palabras clave fijas a las que se hace referencia con mucha frecuencia.

Aplicación de montón :

Un montón es un caso especial de un árbol binario donde los Nodes principales se comparan con sus hijos con sus valores y se organizan en consecuencia.  

Algunas aplicaciones de los montones son:  

  1. En heapsort Algorithm , es un algoritmo para clasificar elementos en el montón mínimo (la clave del padre es menor o igual que la de sus hijos) o en el montón máximo (la clave del padre es mayor o igual que la de sus hijos ) ), la clasificación se realiza con la creación de montones.
  2. Los montones se utilizan para implementar una cola de prioridad donde la prioridad se basa en el orden del montón creado.
  3. Los sistemas relacionados con la seguridad y los sistemas integrados, como Linux Kernel, utilizan Heap Sort debido a O( n log(n) ).
  4. Si estamos atascados en encontrar el K -ésimo valor más pequeño (o más grande) de un número , Heaps puede resolver el problema de una manera fácil y rápida.
  5. Utilizado por JVM (Java Virtual Machine) para almacenar objetos Java.

APLICACIÓN DEL ALGORITMO CODICIOSO:

  1. Algoritmo de Dijkstra.
  2. Compras con un presupuesto ajustado pero quiere comprar regalos para todos los miembros de la familia.
  3. Los algoritmos de Prim y Kruskal se utilizan para encontrar los árboles de expansión mínimos.

ALGORITMO DE DIJKSTRA

  1. Se utiliza en aplicaciones como Google Maps para encontrar la ruta más corta en un gráfico.

PRIM y KRUSKAL

  1. Se utiliza para encontrar los árboles de expansión mínimos.

APLICACIÓN DE LA PROGRAMACIÓN DINÁMICA:

A. Ejemplos de la vida real

  1. En Google Maps para encontrar el camino más corto entre el origen y la serie de destinos (uno por uno) de los varios caminos disponibles.
  2. En redes para transferir datos de un emisor a varios receptores de forma secuencial.

B. Aplicaciones en Informática

  1. Gráfico de etapas múltiples
  2. Problema del vendedor ambulante
  3. Subsecuencia común más grande: para identificar videos similares utilizados por YouTube
  4. Árbol binario de búsqueda óptima: para obtener resultados de búsqueda optimizados.
  5. Ruta más corta de fuente única: algoritmo de Bellman-Ford.
  6. Algoritmos de distancia de documentos: para identificar el grado de similitud entre dos documentos de texto utilizados por motores de búsqueda como Google, Wikipedia, Quora y otros sitios web.
  7.  Para programar trabajos en un procesador.
  8. Para encontrar socios potenciales.
  9. En teoría, gráficos, IA, sistema.

APLICACIÓN DE BACKTRACKING:

  1. Supongamos que estamos codificando un algoritmo para jugar al ajedrez y, en cierto punto, el algoritmo descubre que un conjunto de pasos no logra ganar. En esta situación, el algoritmo volverá al estado seguro e intentará otro conjunto de pasos posibles.
  2. solucionador de sudokus
  3. 2048 juego
  4.  Redes de computadoras.
  5. Para resolver el problema de la Reina N. 
  6. Para resolver el problema del Laberinto.
  7. Para encontrar el camino hamiltoniano presente en un gráfico.
  8. Al problema del amor de Knight’s Tour Problem.
     

VARIOS:

  1. La búsqueda binaria se puede utilizar en las negociaciones.
     Si el vendedor tiene un precio en mente pero no lo revela, puede nombrar una oferta baja, a la que el vendedor responderá con un precio de venta alto. Luego puede aumentar su oferta y el vendedor puede reducir su precio de venta. Dado que cada uno de ustedes tiene un precio ideal en mente, las ofertas y demandas nombradas pueden estar aproximadamente a la mitad del precio deseable para cada lado. Este no es exactamente el algoritmo de búsqueda binaria, pero se parece mucho al espíritu de la búsqueda binaria.
  2. Hashmap tiene su implementación interna en el árbol AVL.

¡FELIZ LECTURA! 

Publicación traducida automáticamente

Artículo escrito por tanyadrona y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *