Saltar al contenido

Estructuras de datos – GeeksforGeeks

septiembre 20, 2021
gfg 200x200 min
  • Última actualización :
    18 junio 2021

A estructura de datos es una forma particular de organizar los datos en una computadora para que se puedan usar de manera efectiva.

Por ejemplo, podemos almacenar una lista de elementos que tienen el mismo tipo de datos utilizando el formación estructura de datos.

array 2

Estructura de datos de matriz

Esta página contiene tutoriales detallados sobre diferentes estructuras de datos (DS) con problemas por temas.

Temas:

Visión general:

Lista enlazada:

Lista individualmente vinculada:

  1. Introducción a la lista vinculada
  2. Lista vinculada vs matriz
  3. Inserción de lista vinculada
  4. Eliminación de listas vinculadas (eliminación de una clave determinada)
  5. Eliminación de lista vinculada (eliminación de una clave en una posición determinada)
  6. El enfoque de un programador de ver la matriz frente a la lista vinculada
  7. Encontrar la longitud de una lista vinculada (iterativa y recursiva)
  8. ¿Cómo escribir funciones C que modifiquen el puntero principal de una lista enlazada?
  9. Intercambiar nodos en una lista vinculada sin intercambiar datos
  10. Invertir una lista vinculada
  11. Fusionar dos listas enlazadas ordenadas
  12. Combinar ordenación para listas vinculadas
  13. Invertir una lista vinculada en grupos de un tamaño determinado
  14. Detectar y eliminar bucles en una lista vinculada
  15. Suma dos números representados por listas enlazadas | Serie 1
  16. Rotar una lista vinculada
  17. Lista vinculada genérica en C

Lista enlazada circular:

  1. Introducción y aplicaciones de la lista enlazada circular,
  2. Inserción circular de lista enlazada simple
  3. Recorrido circular de lista enlazada
  4. Dividir una lista enlazada circular en dos mitades
  5. Inserto ordenado para lista enlazada circular

Lista doblemente vinculada:

  1. Introducción e inserción de listas doblemente enlazadas
  2. Eliminar un nodo en una lista doblemente vinculada
  3. Invertir una lista doblemente enlazada
  4. El gran problema de la recursividad de la lista de árboles.
  5. QuickSort en lista doblemente enlazada
  6. Combinar ordenación para lista doblemente vinculada

Todos los artículos de la lista vinculada
Prueba en lista vinculada
Práctica de codificación en lista vinculada
Artículos recientes en la lista vinculada

Apilar:

  1. Introducción a Stack
  2. Conversión de infijo a postfijo usando Stack
  3. Evaluación de la expresión de postfijo
  4. Invertir una cadena usando Stack
  5. Implementar dos pilas en una matriz
  6. Compruebe si hay paréntesis equilibrados en una expresión
  7. Siguiente elemento mayor
  8. Invertir una pila usando recursividad
  9. Ordenar una pila usando recursividad
  10. El problema del volumen de existencias
  11. Diseñar e implementar una estructura de datos de pila especial
  12. Implementar pila usando colas
  13. Diseñar una pila con operaciones en el elemento intermedio
  14. ¿Cómo implementar de manera eficiente k pilas en una sola matriz?
  15. Ordenar una pila usando recursividad

Prueba en la pila
Todos los artículos en la pila
Práctica de codificación en la pila
Artículos recientes sobre la pila

Cola:

  1. Introducción a la cola e implementación de matrices
  2. Implementación de lista enlazada de cola
  3. Aplicaciones de la estructura de datos de la cola
  4. Introducción a la cola de prioridad
  5. Deque (Introducción y aplicaciones)
  6. Implementación de Deque usando matriz circular
  7. Implementar cola usando pilas
  8. Encuentra el primer recorrido circular que visita todas las bombas de gasolina.
  9. Máximo de todos los subarreglos de tamaño k
  10. Un método interesante para generar números binarios del 1 al n
  11. ¿Cómo implementar de manera eficiente k colas en una sola matriz?

Prueba en cola
Todos los artículos en cola
Práctica de codificación en cola
Artículos recientes en cola

Árbol binario:

  1. Introducción al árbol binario
  2. Propiedades del árbol binario
  3. Tipos de árbol binario
  4. Lema de apretón de manos y propiedades interesantes del árbol
  5. Enumeración de árbol binario
  6. Aplicaciones de la estructura de datos de árbol
  7. Travesías de árboles
  8. BFS vs DFS para árbol binario
  9. Desplazamiento del árbol de orden de nivel
  10. Diámetro de un árbol binario
  11. Desplazamiento del árbol en orden sin recursividad
  12. ¡Inorder Tree Traversal sin recursividad y sin pila!
  13. Árbol binario roscado
  14. Profundidad o altura máxima de un árbol
  15. Si se le dan dos secuencias transversales, ¿puede construir el árbol binario?
  16. Clonar un árbol binario con punteros aleatorios
  17. Construir árbol a partir de recorridos de pedidos anticipados y pedidos determinados
  18. Ancho máximo de un árbol binario
  19. Imprimir nodos a una distancia k de la raíz
  20. Imprimir antepasados ​​de un nodo determinado en el árbol binario
  21. Compruebe si un árbol binario es un subárbol de otro árbol binario
  22. Conectar nodos al mismo nivel

Prueba sobre árbol binario
Cuestionario sobre recorridos de árboles binarios
Todos los artículos sobre árbol binario
Práctica de codificación en árbol binario
Artículos recientes sobre el árbol

Árbol de búsqueda binaria:

  1. Buscar e insertar en BST
  2. Eliminación de BST
  3. Valor mínimo en un árbol de búsqueda binario
  4. Inorden predecesor y sucesor de una clave determinada en BST
  5. Compruebe si un árbol binario es BST o no
  6. Ancestro común más bajo en un árbol de búsqueda binaria.
  7. Sucesor de orden en el árbol de búsqueda binaria
  8. Encuentre el k-ésimo elemento más pequeño en BST (Estadísticas de pedidos en BST)
  9. Fusionar dos BST con espacio adicional limitado
  10. Se intercambian dos nodos de una BST, corrija la BST
  11. Piso y techo de un BST
  12. Conversión in situ de DLL ordenada a BST equilibrada
  13. Encuentra un par con una suma determinada en un BST equilibrado
  14. Número total de árboles de búsqueda binaria posibles con n claves
  15. Fusionar dos árboles de búsqueda binarios equilibrados
  16. Conversión de árbol binario a árbol de búsqueda binaria

Cuestionario sobre árboles de búsqueda binaria
Cuestionario sobre árboles de búsqueda binaria equilibrados
Todos los artículos sobre el árbol de búsqueda binaria
Práctica de codificación en el árbol de búsqueda binaria
Artículos recientes sobre BST

Montón:

  1. Montón binario
  2. ¿Por qué se prefiere Binary Heap sobre BST para Priority Queue?
  3. Montón binomial
  4. Montón de Fibonacci
  5. Ordenar montón
  6. K’th elemento más grande en una matriz
  7. Ordenar una matriz casi ordenada /
  8. Árbol de torneo (árbol de ganadores) y montón binario

Todos los artículos sobre Heap
Prueba en montón
Práctica de codificación en montón
Artículos recientes sobre Heap

Hashing:

  1. Introducción al hash
  2. Encadenamiento separado para manejo de colisiones
  3. Direccionamiento abierto para manejo de colisiones
  4. Imprimir un árbol binario en orden vertical
  5. Encuentre si una matriz es un subconjunto de otra matriz
  6. Unión e intersección de dos listas enlazadas
  7. Encuentra un par con la suma dada
  8. Compruebe si una matriz determinada contiene elementos duplicados a una distancia k entre sí
  9. Encuentre el itinerario de una lista determinada de boletos
  10. Encuentre el número de empleados debajo de cada empleado

Cuestionario sobre hash
Todos los artículos sobre hash
Práctica de codificación en hash
Artículos recientes sobre hash

Grafico:

Introducción, DFS y BFS:

  1. Gráfico y sus representaciones
  2. Amplitud del primer recorrido de un gráfico
  3. Primer recorrido de profundidad para un gráfico
  4. Aplicaciones de la búsqueda en profundidad
  5. Aplicaciones de la amplitud del primer recorrido
  6. Detectar ciclo en un gráfico dirigido
  7. Detectar ciclo en un gráfico no dirigido
  8. Detectar ciclo en un gráfico no dirigido
  9. Ruta más larga en un gráfico acíclico dirigido
  10. Clasificación topológica
  11. Compruebe si un gráfico dado es bipartito o no
  12. Problema de serpientes y escaleras
  13. Minimizar el flujo de caja entre un grupo determinado de amigos que se han prestado dinero entre ellos.
  14. Boggle (Encuentra todas las palabras posibles en un tablero de caracteres)
  15. Asignar direcciones a los bordes para que el gráfico dirigido permanezca acíclico

Todos los artículos sobre estructura de datos de gráficos
Cuestionario sobre gráfico
Cuestionario sobre recorridos de gráficos
Cuestionario sobre las rutas más cortas del gráfico
Cuestionario sobre el árbol de expansión mínimo del gráfico
Práctica de codificación en gráfico
Artículos recientes en Graph

Estructura de datos avanzada:

Listas avanzadas:

  1. Lista doblemente enlazada eficiente en memoria
  2. Lista enlazada de XOR: una lista doblemente enlazada con uso eficiente de la memoria | Serie 1
  3. Lista enlazada de XOR: una lista doblemente enlazada con uso eficiente de la memoria | Conjunto 2
  4. Lista de omisión | Conjunto 1 (Introducción)
  5. Lista autoorganizada | Conjunto 1 (Introducción)
  6. Lista vinculada sin enrollar | Conjunto 1 (Introducción)

Árbol de segmentos:

  1. Árbol de segmentos | Conjunto 1 (Suma del rango dado)
  2. Árbol de segmentos | Conjunto 2 (consulta de intervalo mínimo)
  3. Propagación perezosa en árbol de segmentos
  4. Árbol de segmentos persistentes | Conjunto 1 (Introducción)

Todos los artículos sobre árbol de segmentos
Trie:

  1. Trie | (Insertar y buscar)
  2. Trie | (Borrar)
  3. Coincidencia de prefijo más larga: una solución basada en Trie en Java
  4. Imprime filas únicas en una matriz booleana dada
  5. ¿Cómo implementar la caché de búsqueda de DNS inversa?
  6. ¿Cómo implementar la caché de búsqueda de DNS directo?

Todos los artículos sobre Trie
Árbol indexado binario:

  1. Árbol indexado binario
  2. Árbol indexado binario bidimensional o árbol Fenwick
  3. Árbol indexado binario: actualizaciones de rango y consultas de puntos
  4. Árbol indexado binario: actualización de rango y consultas de rango

Todos los artículos sobre árbol indexado binario
Matriz de sufijo y Árbol de sufijo:

  1. Introducción a la matriz de sufijo
  2. Algoritmo nLogn de matriz de sufijo
  3. Algoritmo de kasai para la construcción de una matriz LCP a partir de una matriz de sufijo
  4. Introducción al árbol de sufijos
  5. Construcción del árbol de sufijos de Ukkonen – Parte 1
  6. Construcción del árbol de sufijos de Ukkonen – Parte 2
  7. Construcción del árbol de sufijos de Ukkonen – Parte 3
  8. Construcción del árbol de sufijo de Ukkonen – Parte 4,
  9. Construcción del árbol de sufijos de Ukkonen – Parte 5
  10. Construcción del árbol de sufijos de Ukkonen – Parte 6
  11. Árbol de sufijo generalizado
  12. Cree una matriz de sufijos de tiempo lineal mediante el árbol de sufijos
  13. Verificación de subcadena
  14. Buscando todos los patrones
  15. Subcadena repetida más larga,
  16. Subcadena común más larga, subcadena palindrómica más larga


Todos los artículos sobre el árbol de sufijos

Árbol AVL:

  1. AVL Tree | Conjunto 1 (inserción)
  2. AVL Tree | Conjunto 2 (eliminación)
  3. AVL con llaves duplicadas

Árbol de expansión:

  1. Splay Tree | Conjunto 1 (búsqueda)
  2. Splay Tree | Conjunto 2 (Insertar)

Árbol B:

  1. B-Tree | Conjunto 1 (Introducción)
  2. B-Tree | Conjunto 2 (Insertar)
  3. B-Tree | Conjunto 3 (Eliminar)

Árbol rojo-negro:

  1. Introducción al árbol rojo-negro
  2. Inserción de árbol negro rojo.
  3. Supresión de árbol rojo-negro
  4. Programa para la inserción del árbol rojo negro


Todos los artículos sobre BST autoequilibrantes

Árbol dimensional K:

  1. Árbol KD (buscar e insertar)
  2. Árbol KD (encontrar mínimo)
  3. Árbol KD (Eliminar)

Otros:

    1. Treap (un árbol de búsqueda binario aleatorio)
    2. Árbol de búsqueda ternario
    3. Árbol de intervalo
    4. Implementar caché LRU
    5. Ordenar números almacenados en diferentes máquinas
    6. Encuentra las k palabras más frecuentes de un archivo
    7. Dada una secuencia de palabras, imprima todos los anagramas juntos
    8. Árbol de torneo (árbol de ganadores) y montón binario
    9. Árboles de decisión – Rompecabezas de monedas falsas (falsificadas) (Rompecabezas de 12 monedas)
    10. Pila de espaguetis
    11. ¿Estructura de datos para diccionario y corrector ortográfico?
    12. Árbol cartesiano
    13. Clasificación de árboles cartesianos
    14. Conjunto escaso
    15. Descomposición centroide del árbol
    16. Árbol de Gomory-Hu

Artículos recientes sobre estructuras de datos avanzadas.

Formación:

      1. Busque, inserte y elimine en una matriz sin clasificar
      2. Buscar, insertar y eliminar en una matriz ordenada
      3. Escribe un programa para invertir una matriz
      4. Líderes en una matriz
      5. Dada una matriz A[] y un número x, busque par en A[] con suma como x
      6. Elemento mayoritario
      7. Hallar el número que ocurre un número impar de veces
      8. Subarreglo contiguo de suma más grande
      9. Encuentre el número perdido
      10. Buscar un elemento en una matriz ordenada y pivotada
      11. Fusionar una matriz de tamaño n en otra matriz de tamaño m + n
      12. Mediana de dos matrices ordenadas
      13. Programa de rotación de matrices
      14. Algoritmo de inversión para la rotación de matrices
      15. Algoritmo de intercambio de bloques para la rotación de matrices
      16. Suma máxima tal que no haya dos elementos adyacentes
      17. Ordenar elementos por frecuencia | Serie 1
      18. Contar inversiones en una matriz

Todos los artículos sobre Array
Práctica de codificación en matriz
Prueba en matriz
Práctica de codificación en matriz
Artículos recientes sobre Array

Matriz:

      1. Busque en una matriz ordenada por filas y columnas
      2. Imprime una matriz dada en forma de espiral
      3. Una pregunta de matriz booleana
      4. Imprime filas únicas en una matriz booleana dada
      5. Submatriz cuadrada de tamaño máximo con todos los 1
      6. Imprime filas únicas en una matriz booleana dada
      7. Inplace M x N transposición de matriz de tamaño | Actualizado
      8. Programación dinámica | Conjunto 27 (Rectángulo de suma máxima en una matriz 2D)
      9. Multiplicación de matrices de Strassen
      10. Crea una matriz con rectángulos alternos de O y X
      11. Imprima todos los elementos en orden de filas y columnas ordenadas por matriz
      12. Dada una matriz cuadrada de nxn, encuentre la suma de todos los subcuadrados de tamaño kxk
      13. Cuente el número de islas donde cada isla está separada por filas y columnas
      14. Encuentre un elemento común en todas las filas de una matriz ordenada por filas dada

Todos los artículos sobre Matrix
Práctica de codificación en Matrix
Artículos recientes sobre Matrix.

Misc:

      1. Preguntas de entrevistas sobre estructura de datos más frecuentes | Serie 1
      2. Una estructura de datos para n elementos y O (1) operaciones
      3. Árbol de expresión

Cursos de Geeksforgeeks:

1. Cursos básicos de idiomas [C++ / JAVA / Python ]
Aprenda cualquier lenguaje de programación desde cero y comprenda todos sus conceptos fundamentales para una base sólida de programación de la manera más fácil posible con la ayuda de los cursos de la base de idiomas GeeksforGeeks – Fundación Java | Fundación Python | Fundación C ++

2. Geeks Classes en vivo
Obtenga clases en línea en vivo centradas en entrevistas sobre estructura de datos y algoritmos desde cualquier ubicación geográfica para aprender y dominar los conceptos de DSA para mejorar sus habilidades de resolución de problemas y programación y para descifrar la entrevista de cualquier empresa basada en productos. Clases de Geeks: Sesión en vivo

3. Preparación completa de la entrevista
Cumpla con todas sus necesidades de preparación de entrevistas en un solo lugar con el Curso completo de preparación para entrevistas que le proporciona todo lo necesario para prepararse para cualquier empresa basada en productos, basada en servicios o de nueva creación …

close