Saltar al contenido

Algoritmos – GeeksforGeeks

septiembre 23, 2021
gfg 200x200 min
  • Última actualización :
    28 junio 2021

Temas:

Análisis de algoritmos:

  1. Análisis asintótico
  2. Peores, promedios y mejores casos
  3. Notaciones asintóticas
  4. Pequeñas o y pequeñas notaciones omega
  5. Teoría del límite inferior y superior
  6. Análisis de bucles
  7. Resolver recurrencias
  8. Análisis amortizado
  9. ¿Qué significa «Complejidad espacial»?
  10. Algoritmos pseudopolinomiales
  11. Introducción a NP-Completeness
  12. Esquema de aproximación del tiempo polinomial
  13. Una pregunta sobre la complejidad del tiempo
  14. Complejidad temporal de la construcción de un montón
  15. Complejidad de tiempo donde la variable de ciclo se incrementa en 1, 2, 3, 4 ..
  16. Complejidad temporal del bucle con potencias
  17. Rendimiento de bucles (una pregunta de almacenamiento en caché)

Artículos recientes sobre análisis de algoritmos
Cuestionario sobre análisis de algoritmos
Cuestionario sobre recurrencias

Búsqueda y clasificación:

  1. Búsqueda lineal, Búsqueda binaria, Búsqueda por salto, Búsqueda por interpolación, Búsqueda exponencial, Búsqueda ternaria
  2. Orden de selección, Ordenamiento de burbuja, Tipo de inserción, Combinar ordenación, Ordenar montón, Ordenación rápida, Ordenar por radix, Ordenar por recuento, Ordenar por cubeta, ShellSort, Clasificación de peine, clasificación de casillero, clasificación de ciclo
  3. Búsqueda de interpolación vs búsqueda binaria
  4. Estabilidad en los algoritmos de clasificación.
  5. ¿Cuándo ocurre el peor caso de Quicksort?
  6. Límite inferior para algoritmos de clasificación basados ​​en comparación
  7. ¿Qué algoritmo de clasificación hace un número mínimo de escrituras de memoria?
  8. Encuentre el subarreglo sin clasificar de longitud mínima, ordenando que hace que el arreglo completo esté ordenado
  9. Combinar ordenación para listas vinculadas
  10. Ordene una matriz casi ordenada (o ordenada por K)
  11. Clasificación rápida iterativa
  12. QuickSort en una lista enlazada individualmente
  13. QuickSort en lista doblemente enlazada
  14. Encuentra k elementos más cercanos a un valor dado
  15. Ordenar n números en el rango de 0 an ^ 2 – 1 en tiempo lineal
  16. Un problema en muchas implementaciones de búsqueda binaria
  17. Buscar en una matriz casi ordenada
  18. Ordenar una matriz en forma de onda
  19. ¿Por qué se prefiere la búsqueda binaria a la búsqueda ternaria?
  20. K’th elemento más pequeño / más grande en una matriz sin clasificar
  21. K’th elemento más pequeño / más grande en una matriz sin clasificar en el tiempo lineal esperado
  22. K’th elemento más pequeño / más grande en una matriz sin clasificar en el peor de los casos de tiempo lineal
  23. Encuentra el par más cercano de dos matrices ordenadas
  24. Encuentra elementos comunes en tres matrices ordenadas
  25. Dada una matriz ordenada y un número x, encuentre el par en la matriz cuya suma sea más cercana a x
  26. Cuente 1 en una matriz binaria ordenada
  27. Orden de inserción binaria
  28. Orden de inserción para lista enlazada individualmente
  29. ¿Por qué se prefiere la ordenación rápida para matrices y la ordenación combinada para listas vinculadas?
  30. Combinar ordenación para lista doblemente vinculada
  31. Cambios adyacentes mínimos para mover el máximo y el mínimo a las esquinas

Artículos recientes sobre búsquedas
Artículos recientes sobre clasificación
Cuestionario sobre búsquedas
Cuestionario sobre clasificación
Práctica de codificación en la búsqueda
Práctica de codificación sobre clasificación

Algoritmos codiciosos:

  1. Problema de selección de actividad
  2. Algoritmo de árbol de expansión mínimo de Kruskal
  3. Codificación Huffman
  4. Codificación Huffman eficiente para entrada ordenada
  5. Algoritmo de árbol de expansión mínimo de Prim
  6. MST de Prim para la representación de listas de adyacencia
  7. Algoritmo de ruta más corta de Dijkstra
  8. Algoritmo de Dijkstra para la representación de listas de adyacencia
  9. Problema de secuenciación de trabajos
  10. Prueba sobre algoritmos codiciosos
  11. Algoritmo codicioso para encontrar el número mínimo de monedas
  12. Problema de los centros K
  13. Número mínimo de plataformas necesarias para una estación de trenes / autobuses

Artículos recientes sobre algoritmos codiciosos
Prueba sobre algoritmos codiciosos
Práctica de codificación en algoritmos codiciosos

Programación dinámica:

  1. Propiedad de subproblemas superpuestos
  2. Propiedad óptima de la subestructura
  3. Subsecuencia creciente más larga
  4. Subsecuencia común más larga
  5. Editar distancia
  6. Ruta de costo mínimo
  7. Cambio de moneda
  8. Multiplicación en cadena de matrices
  9. Coeficiente binomial
  10. 0-1 Problema de mochila
  11. Rompecabezas para soltar huevos
  12. Subsecuencia palindrómica más larga
  13. Cortar una varilla
  14. Subsecuencia creciente de suma máxima
  15. Subsecuencia bitónica más larga
  16. Algoritmo de Floyd Warshall
  17. Partición Palíndromo
  18. Problema de partición
  19. Problema de ajuste de palabras
  20. Cadena de pares de longitud máxima
  21. Variaciones de LIS
  22. Problema de apilamiento de cajas
  23. Programa para números de Fibonacci
  24. Número mínimo de saltos para llegar al final
  25. Submatriz cuadrada de tamaño máximo con todos los 1
  26. Números feos
  27. Subarreglo contiguo de suma más grande
  28. Subcadena palindrómica más larga
  29. Algoritmo Bellman-Ford para rutas más cortas
  30. Árbol de búsqueda binario óptimo
  31. Problema de conjunto independiente más grande
  32. Problema de suma de subconjuntos
  33. Rectángulo de suma máxima en una matriz 2D
  34. Contar el número de cadenas binarias sin 1 consecutivos
  35. Problema de paréntesis booleano
  36. Cuente las formas de llegar a la enésima escalera
  37. Triangulación poligonal de coste mínimo
  38. Problema del teclado numérico móvil
  39. Recuento de números de n dígitos cuya suma de dígitos es igual a la suma dada
  40. Puntos iniciales mínimos para llegar al destino
  41. Número total de números no decrecientes con n dígitos
  42. Encuentra la longitud de la ruta consecutiva más larga a partir de un carácter inicial dado
  43. Problema de mosaico
  44. Número mínimo de cuadrados cuya suma es igual al número n dado
  45. Encuentra la cantidad mínima de monedas que hacen un valor dado
  46. Recoge el máximo de puntos en una cuadrícula usando dos recorridos
  47. Supersecuencia común más corta
  48. Calcular la suma de dígitos en todos los números del 1 al n
  49. Contar posibles formas de construir edificios.
  50. Beneficio máximo comprando y vendiendo una acción como máximo dos veces
  51. Cómo imprimir el número máximo de A con las cuatro teclas dadas
  52. Encuentre el costo mínimo para llegar al destino usando un tren
  53. Problema de portada de vértice | Conjunto 2 (Solución de programación dinámica para árbol)
  54. Contar el número de formas de alcanzar una puntuación determinada en un juego.
  55. Programación ponderada de trabajos
  56. La subcadena de longitud uniforme más larga de modo que la suma de la primera y la segunda mitad sea la misma

Artículos recientes sobre programación dinámica
Cuestionario sobre programación dinámica
Práctica de codificación en programación dinámica

Búsqueda de patrones:

  1. Búsqueda de patrones ingenua
  2. Algoritmo KMP
  3. Algoritmo de Rabin-Karp
  4. Una pregunta ingenua de búsqueda de patrones
  5. Autómatas finitos
  6. Construcción eficiente de autómatas finitos
  7. Algoritmo de Boyer Moore – Heurística de caracteres incorrectos
  8. Matriz de sufijo
  9. Búsqueda de subcadenas de anagramas (o búsqueda de todas las permutaciones)
  10. Búsqueda de patrones usando un Trie de todos los sufijos
  11. Algoritmo de Aho-Corasick para la búsqueda de patrones
  12. Algoritmo de kasai para la construcción de una matriz LCP a partir de una matriz de sufijo
  13. Algoritmo Z (algoritmo de búsqueda de patrón de tiempo lineal)
  14. Programa para desear el Día de la Mujer

Artículos recientes sobre búsqueda de patrones

Otros algoritmos de cadena:

  1. Algoritmo de Manacher – Subcadena palindrómica más larga de tiempo lineal – Parte 1, Parte 2, Parte 3, Parte 4
  2. Subcadena de longitud uniforme más larga tal que la suma de la primera y la segunda mitad sea la misma
  3. Imprime todas las cadenas posibles que se pueden hacer colocando espacios

Artículos recientes sobre cadenas
Práctica de codificación en cadenas

Retroceso:

  1. Imprime todas las permutaciones de una cadena determinada
  2. El problema de la gira del Caballero
  3. Rata en un laberinto
  4. Problema de la reina n
  5. Suma de subconjunto
  6. m Problema de coloración
  7. Ciclo hamiltoniano
  8. Sudoku
  9. Tira y afloja
  10. Resolviendo acertijos criptográficos

Artículos recientes sobre el retroceso
Práctica de codificación sobre el retroceso

Divide y conquistaras:

  1. Introducción
  2. Escribe tu propio pow (x, n) para calcular x * n
  3. Mediana de dos matrices ordenadas
  4. Contar inversiones
  5. Par de puntos más cercano
  6. Multiplicación de matrices de Strassen
  7. Clasificación rápida vs clasificación combinada

Artículos recientes sobre divide y vencerás
Cuestionario sobre divide y vencerás
Práctica de codificación en Divide y vencerás

Algoritmos geométricos:

  1. Par de puntos más cercano | Implementación de O (nlogn)
  2. ¿Cómo comprobar si dos segmentos de línea dados se cruzan?
  3. ¿Cómo comprobar si un punto determinado se encuentra dentro o fuera de un polígono?
  4. Casco convexo | Conjunto 1 (algoritmo o envoltura de Jarvis)
  5. Casco convexo | Conjunto 2 (Graham Scan)
  6. Dados n segmentos de línea, encuentre si dos segmentos se cruzan
  7. Compruebe si un punto dado se encuentra dentro de un triángulo o no
  8. Cómo comprobar si se dan cuatro puntos forman un cuadrado

Artículos recientes sobre algoritmos geométricos
Práctica de codificación en algoritmos geométricos

Algoritmos matemáticos:

  1. Escriba un método eficiente para verificar si un número es múltiplo de 3
  2. Manera eficiente de multiplicar por 7
  3. Escriba un programa en C para imprimir todas las permutaciones de una cadena dada
  4. Números de la suerte
  5. Escribe un programa para sumar dos números en base 14
  6. Método babilónico para la raíz cuadrada
  7. Multiplica dos enteros sin usar multiplicación, división y operadores bit a bit, y sin bucles
  8. Imprime todas las combinaciones de puntos que pueden componer un número dado
  9. Escribe tu propio poder sin usar la multiplicación
  10. y operadores de división (/)
  11. Programa para números de Fibonacci
  12. Promedio de un flujo de números
  13. Cuente los números que no contienen 3
  14. Cuadrado mágico
  15. Tamiz de Eratóstenes
  16. Número que tiene el número máximo de factores primos distintos en el rango de M a N
  17. Encuentra el día de la semana para una fecha determinada
  18. División basada en DFA
  19. Genere un número entero del 1 al 7 con la misma probabilidad
  20. Dado un número, encuentra el siguiente palíndromo más pequeño
  21. Haz una moneda justa a partir de una moneda sesgada
  22. Verifica la divisibilidad entre 7
  23. Encuentra el mayor múltiplo de 3
  24. Rango lexicográfico de una cadena
  25. Imprima todas las permutaciones en orden ordenado (lexicográfico)
  26. Mezclar una matriz determinada
  27. Coeficiente binomial eficiente en el tiempo y el espacio
  28. Muestreo de yacimientos
  29. Triángulo de Pascal
  30. Seleccione un número aleatorio de la secuencia, con espacio O (1)
  31. Encuentra el mayor múltiplo de 2, 3 y 5
  32. Programa eficiente para calcular e ^ x
  33. Mida un litro con dos recipientes y suministro de agua infinito
  34. Programa eficiente para imprimir todos los factores primos de un número dado.
  35. Imprima todas las combinaciones posibles de r elementos en una matriz dada de tamaño n
  36. Generador de números aleatorios en forma de distribución de probabilidad arbitraria
  37. ¿Cómo verificar si un número dado es un número de Fibonacci?
  38. Multiplicación campesina rusa
  39. Cuente todos los grupos posibles de tamaño 2 o 3 que tengan una suma como múltiplo de 3
  40. Torre de Hanoi
  41. Método de Horner para la evaluación de polinomios
  42. Contar ceros finales en factorial de un número
  43. Programa para enésimo número catalán
  44. Genere uno de 3 números de acuerdo con las probabilidades dadas
  45. Encuentre el nombre de la columna de Excel a partir de un número de columna dado
  46. Encuentra el siguiente número mayor con el mismo conjunto de dígitos
  47. Contar posibles decodificaciones de una secuencia de dígitos dada
  48. Calcule el ángulo entre la manecilla de las horas y la manecilla de los minutos
  49. Contar el número de cadenas binarias sin 1 consecutivos
  50. Encuentre el número más pequeño cuyos dígitos se multipliquen a un número dado n
  51. Dibujar un círculo sin aritmética de coma flotante
  52. ¿Cómo comprobar si una instancia de 8 rompecabezas se puede resolver?
  53. Paradoja de cumpleaños
  54. Multiplica dos polinomios
  55. Contar pares de enteros no negativos distintos (x, y) que satisfacen la desigualdad x * x + y * y
  56. Cuente las formas de llegar a la enésima escalera
  57. Reemplace todo ‘0’ con ‘5’ en un número entero de entrada
  58. Programa para sumar dos polinomios
  59. Imprime los primeros k dígitos de 1 / n donde n es un número entero positivo
  60. Dado un número como una cadena, encuentre el número de subsecuencias contiguas que recursivamente suman 9
  61. Programa para el método de bisección
  62. Programa para el método de posición falsa

Programa para el método Newton Raphson
Artículos recientes sobre algoritmos matemáticos

Práctica de codificación en algoritmos matemáticos

  1. Algoritmos de bits:
  2. Encuentra el elemento que aparece una vez
  3. Detecta signos opuestos
  4. Establecer bits en todos los números del 1 al n
  5. Intercambiar bits
  6. Suma dos números
  7. El más pequeño de tres
  8. Un rompecabezas de matriz booleana
  9. Establecer bits en una matriz (grande)
  10. Siguiente número más alto con el mismo número de bits establecidos
  11. Técnica de optimización (módulo)
  12. Suma 1 a un número
  13. Multiplica por 3,5
  14. Apague el bit configurado más a la derecha
  15. Compruebe el poder de 4
  16. Valor absoluto (abs) sin ramificación
  17. División de módulo por un número de potencia de 2
  18. Mínimo o máximo de dos enteros
  19. Rotar bits
  20. Encuentra los dos elementos que no se repiten en una matriz
  21. Número que ocurre un número impar de veces
  22. Compruebe si hay desbordamiento de enteros
  23. Little y Big Endian
  24. Bits inversos de un número
  25. Contar los bits establecidos en un número entero
  26. Número de bits que se invertirán para convertir A en B
  27. Siguiente poder de 2
  28. Compruebe si un número es múltiplo de 3
  29. Encuentra la paridad
  30. Multiplica por 7
  31. Encuentra si un no es potencia de dos
  32. Posición del bit establecido más a la derecha
  33. Representación binaria de un número dado
  34. Intercambia todos los bits pares e impares
  35. Encuentra la posición del único bit configurado
  36. Algoritmo de Karatsuba para multiplicación rápida
  37. ¿Cómo intercambiar dos números sin usar una variable temporal?
  38. Verifique si un número es múltiplo de 9 usando operadores bit a bit
  39. Intercambia dos nibbles en un byte
  40. ¿Cómo desactivar un bit en particular en un número?

Compruebe si la representación binaria de un número es palíndromo
Artículos recientes sobre algoritmos de bits
Cuestionario sobre algoritmos de bits

Práctica de codificación en algoritmos de bits

Algoritmos de gráficos:

  1. Introducción, DFS y BFS:
  2. Gráfico y sus representaciones
  3. Amplitud del primer recorrido de un gráfico
  4. Primer recorrido de profundidad para un gráfico
  5. Aplicaciones de la búsqueda en profundidad
  6. Detectar ciclo en un gráfico dirigido
  7. Detectar ciclo en un gráfico no dirigido

Detectar ciclo …

close