Ejercicios de algoritmo y estructura de datos
La solución óptima al famoso algoritmo empresarial y el problema de la estructura de datos
1. Stack y cola
- Diseñe una pila con la función getmin
- Una cola de dos pilas
- Cómo referirse a una función recursiva y un orden inverso de operación de pila
- Cola de gatos y perros
- Use una pila para implementar la clasificación de otra pila
- Para resolver el problema de la torre Hannover, primero modifique las reglas del juego: el límite de línea no se puede mover directamente desde la izquierda más a la derecha o de la derecha más a la izquierda, pero debe pasar por el medio. Encuentre el proceso de movimiento óptimo y el número total de pasos cuando la torre es N capas nuevamente.
- Generar una matriz máxima de ventana
- Maxtree para construir datos
- Dado un mapa de la matriz de conformación, los valores son 0 y 1, encuentre el área rectangular máxima de 1 entre todas las regiones matriciales donde todas las 1 es el número de 1.
- El valor máximo menos el número de sub-matrices con un valor mínimo menor o igual a NUM
2. Problemas de la lista de enlaces
- Dados los consejos de encabezado Head1 y Head2 de dos listas vinculadas ordenadas, imprima la parte común de las dos listas vinculadas
- Elimine el k-th hasta el nodo en listas individuales y dobles
- Elimine los nodos en el medio de la lista vinculada y los nodos en A/B
- Implementar funciones que invertiran listas vinculadas e invertir listas vinculadas de dos vías respectivamente
- Parte inversa de la lista vinculada unidireccional
- El problema de Arthur con la lista de enlaces únicos redondos
- Determinar si una lista vinculada es una estructura palindrómica
- Divide la lista vinculada unidireccional en una pequeña izquierda, igual a la derecha, grande, grande a la derecha
- Copiar una lista vinculada que contiene nodos de puntero aleatorios
- Dos listas vinculadas individuales generan una lista de enlaces agregado
- Una serie de problemas de intersección dos listas vinculadas
- Orden inverso entre cada k nodos de una sola lista vinculada
- Eliminar nodos con valores repetidos en listas vinculadas individuales desordenadas
- Eliminar un nodo de valor especificado en una sola lista vinculada
- Convertir el árbol binario de búsqueda en la tabla de enlaces bidireccionales
- Clasificación de selección de listas vinculadas individuales
- Una forma extraña de eliminar nodos
- Inserte nuevos nodos en una lista circular de un solo vinculado circular
- Fusionar dos mesas unidas ordenadas
- Reorganizar la mesa unida en la media área izquierda y derecha
Problema de árbol binario
- Métodos recursivos y no recursivos para realizar el pedido anticipado, el orden medio y el recorrido posterior a los árboles binarios respectivamente
- Imprima el nodo límite del árbol binario
- Cómo imprimir un árbol binario de manera más intuitiva
- Serialización y deserialización del árbol binario
- Método de nivel de Dios para atravesar árboles binarios
- Encuentre la longitud de la ruta más larga de la suma acumulada para el valor especificado en el árbol binario
- Encuentre el árbol binario de búsqueda más grande del árbol binario
- Encuentre la topología máxima en el árbol binario que cumple con los criterios de búsqueda de árboles binarios de búsqueda
- Árbol binario por impresión de capa e impresión en zigzag
- Ajuste la búsqueda de dos nodos incorrectos en el árbol binario
- Determine si el árbol T1 contiene todas las estructuras topológicas del árbol T2
- Determine si hay subárboles en el árbol T1 que tienen exactamente la misma topología que el árbol T2
- Determinar si un árbol binario es un árbol binario equilibrado
- Reconstruir el árbol binario de búsqueda basado en la matriz posterior al orden
- Determine si un árbol binario es un árbol binario de búsqueda y un árbol binario completo
- Generar árboles binarios de búsqueda equilibrados a través de matrices ordenadas
- Encuentre el nodo sucesor de un nodo en el árbol binario
- Encuentre el antepasado común más cercano de dos nodos en el árbol binario
- El algoritmo de Tarjan y el conjunto de búsqueda concurrente resuelven el problema de la consulta por lotes de los recientes antepasados públicos entre los nodos de árboles binarios
- Distancia máxima entre los nodos binarios de los árboles
- Reconstruyendo árboles binarios en combinación con preorden, orden medio y matrices Postorder
- Generar matrices posteriores a la orden a través de matrices de pedido anticipado y en servicio
- Estadística y genera todos los diferentes árboles binarios
- Cuente el número de nodos en un árbol completamente binario
- Subsecuencia incremental máxima
Programación recursiva y dinámica
- Programación recursiva y dinámica de problemas de la serie Fibonacci
- El camino mínimo a la matriz
- Cantidad mínima de moneda para cambiar por dinero
- Cómo intercambiar dinero
- La torre de Hannover
- El problema de subsecuencia común más largo
- El problema de cadena pública más larga
- Costo de edición mínima
- Composición entrelazada de cuerdas
- Problemas de juego de Dungeons and Dragons
- Número de números convertidos en combinaciones de letras
- El número de composiciones de la expresión para obtener el resultado deseado
- Problema de juego de cartas en una línea
- Saltar el juego
- La secuencia continua más larga en una matriz
- N Problema de la reina
Problema de cadena
- Determinar si dos cadenas están protegiendo la palabra de deformación
- Suma de subcadenas de números en cadenas
- Elimine las subcadenas k que aparecen en la cadena en sucesión
- Determinar si dos cadenas son palabras rotativas
- Convertir una cadena entera a un valor entero
- Reemplace las cadenas especificadas que aparecen continuamente en cadenas
- Cadenas estadísticas para cuerdas
- Determine si todos los personajes de la matriz de personajes solo han aparecido una vez
- Encuentra cuerdas en una matriz ordenada pero vacía
- Ajuste y reemplazo de cuerdas
- Cadena
- Distancia mínima entre dos cuerdas en una matriz
- Agregue un mínimo de caracteres para hacer la cadena como una cadena palindrómica
- De acuerdo con la validez de la cadena y la longitud efectiva máxima
- Evaluación de cadenas de fórmula
- Debe haber una serie de cuerdas binarias a la izquierda de 0
- Coser todas las cuerdas para producir cadenas de capital con la orden de diccionario más pequeña
- Encuentre la subcadena no repetitiva más larga de la cadena
- Encuentra el nuevo tipo de personaje mencionado
- Longitud mínima que contiene subcadena
- Número mínimo de segmentación de palíndromo
- Problema de coincidencia de cadenas
- Implementación del árbol de diccionario (árbol de prefijo)
Operación de bits
- No se utilizan variables adicionales para intercambiar dos números
- Encuentre el mayor número de dos números sin ninguna comparación
- Solo las operaciones de bits se usan sin operaciones aritméticas para implementar la adición, resta, multiplicación y división de enteros
- ¿Cuántos 1CCC hay en la expresión binaria de enteros?
- Encuentre números impares en una matriz donde otros números aparecen uniformemente
- Encuentre un número que solo aparezca una vez en una matriz donde aparecen otros números k veces
Problemas de matriz y matriz
- Matriz de impresión en círculo
- Gire la matriz cuadrada en sentido horario por 90 °
- Matriz de impresión de glifos "一"
- Encuentra el menor número de k en una matriz desordenada
- La longitud subarrray más corta para clasificar
- Encuentre el número de ocurrencias mayores que N/K en la matriz
- Encuentre números en una matriz donde se ordenen las filas y las columnas
- Se obtiene la sub-matriz más larga
- Ninguna impresión repetida de las matrices ordenadas agrega todos los quads y trillizos para un valor dado
- La suma acumulada de la longitud de la subarrray más larga en una matriz de números positivos no organizados es el valor dado
- Problema sobre la serie subarrray más larga de sumas acumuladas en una matriz sin clasificar
- La suma acumulada de la longitud de la subarrray más larga en una matriz no organizada es menor o igual al valor dado
- Clasificación de matriz de números naturales
- Los subíndices impares son todos los números impares o incluso los subíndices son todos los números pares
- Acumulación de subarrías y máximo
- Problema de suma de acumulación máxima de la submatriz
- Encuentra una ubicación más pequeña local en la matriz
- El producto acumulativo máximo de las sub-matrices en una matriz
- Imprima el más grande K de las matrices N
- Los límites son todos 1 tamaño cuadrado máximo
- Esta ubicación no está incluida en la matriz que vale la pena multiplicación acumulada
- Ajuste de partición de matriz
- Encuentra el valor de ruta más corto
- El entero positivo más pequeño que no aparece en la matriz
- La diferencia máxima entre los números adyacentes después de la clasificación de la matriz es 9
práctica
- Reemplace los espacios (espada apuntando a ofrecer)
- Buscar en una matriz bidimensional (espada que apunta a ofrecer)
- Lista de enlaces de inversión (Sword apunta a ofrecer)
- Elimine los nodos repetidos de la lista vinculada (espada para ofrecer)
- El número mínimo de la matriz de rotación (espada que apunta a la oferta)
- Números repetidos en la matriz (espada para ofrecer)
- Cadena de Número Worth (Sword apuntando a ofrecer)