Un algoritmo es fundamentalmente un conjunto de reglas o procedimientos definidos que normalmente se diseñan y utilizan para resolver un problema específico o un conjunto amplio de problemas.
En términos generales, los algoritmos definen procesos, conjuntos de reglas o metodologías que se deben seguir en los cálculos, el procesamiento de datos, la minería de datos, el reconocimiento de patrones, el razonamiento automatizado u otras operaciones de resolución de problemas. Con la creciente automatización de los servicios, cada vez se toman más decisiones mediante algoritmos. Algunos ejemplos generales son las evaluaciones de riesgos, la vigilancia preventiva y la tecnología de reconocimiento de patrones. [1]
La siguiente es una lista de algoritmos conocidos junto con descripciones de una línea para cada uno.
Planificación automatizada
Algoritmos combinatorios
Algoritmos combinatorios generales
Algoritmos gráficos
Dibujo gráfico
Teoría de redes
Enrutamiento para gráficos
Búsqueda de gráficos
Subgrafos
Algoritmos de secuencia
Coincidencia de secuencia aproximada
Algoritmos de selección
Búsqueda de secuencias
Fusión de secuencias
- Algoritmo de fusión simple
- algoritmo de fusión de k-way
- Unión (fusión, con elementos en la salida no repetidos)
Permutaciones de secuencias
Combinaciones de secuencias
Alineación de secuencias
Ordenación de secuencias
- Tipos de intercambio
- Humorístico o ineficaz
- Híbrido
- Clasificación flash
- Introsort : comienza con quicksort y cambia a heapsort cuando la profundidad de recursión excede un cierto nivel
- Timsort : algoritmo adaptativo derivado de la ordenación por fusión y la ordenación por inserción. Se utiliza en Python 2.3 y versiones posteriores, y en Java SE 7.
- Ordenamientos por inserción
- Ordenamientos por fusión
- Tipos sin comparación
- Tipos de selección
- Heapsort : convierte la lista en un montón, eliminando constantemente el elemento más grande del montón y agregándolo al final de la lista
- Ordenación por selección : elige el más pequeño de los elementos restantes y agrégalo al final de la lista ordenada
- Clasificación de jugadores suaves
- Otro
- Clase desconocida
Subsecuencias
Subcadenas
Matemáticas computacionales
Álgebra abstracta
Álgebra computacional
Geometría
Algoritmos de teoría de números
Algoritmos numéricos
Resolución de ecuaciones diferenciales
Funciones elementales y especiales
Geométrico
Interpolación y extrapolación
Álgebra lineal
Montecarlo
Integración numérica
Búsqueda de raíces
Algoritmos de optimización
Algoritmos híbridos
Ciencia computacional
Astronomía
Bioinformática
Geociencia
- Fórmulas de Vincenty : un algoritmo rápido para calcular la distancia entre dos puntos de latitud/longitud en un elipsoide
- Geohash : un algoritmo de dominio público que codifica un par decimal de latitud/longitud como una cadena hash
Lingüística
Medicamento
Física
Estadística
Ciencias de la Computación
Arquitectura de computadoras
- Algoritmo de Tomasulo : permite que las instrucciones secuenciales que normalmente se estancarían debido a ciertas dependencias se ejecuten de forma no secuencial.
Gráficos de computadora
Criptografía
- Cifrado asimétrico (clave pública) :
- Firmas digitales (autenticación asimétrica):
- Funciones hash criptográficas (véase también la sección sobre códigos de autenticación de mensajes):
- BLAKE
- MD5 – Tenga en cuenta que ahora existe un método para generar colisiones para MD5
- RIPEMD-160
- SHA-1 – Tenga en cuenta que ahora existe un método para generar colisiones para SHA-1
- SHA-2 (SHA-224, SHA-256, SHA-384, SHA-512)
- SHA-3 (SHA3-224, SHA3-256, SHA3-384, SHA3-512, SHAKE128, SHAKE256)
- Tiger (TTH), generalmente utilizado en hashes de árboles Tiger
- TORBELLINO
- Generadores de números pseudoaleatorios criptográficamente seguros
- Intercambio de claves
- Funciones de derivación de claves , que se utilizan a menudo para el hash de contraseñas y el estiramiento de claves.
- Códigos de autenticación de mensajes (algoritmos de autenticación simétrica, que toman una clave como parámetro):
- Intercambio de secretos , división de secretos, división de claves, algoritmos M de N
- Cifrado simétrico (clave secreta) :
- Criptografía post-cuántica
- Algoritmos de prueba de trabajo
Lógica digital
Aprendizaje automático y clasificación estadística
Teoría de lenguajes de programación
Analizando
Algoritmos cuánticos
Teoría de la computación y autómatas
Teoría de la información y procesamiento de señales
Teoría de la codificación
Detección y corrección de errores
Algoritmos de compresión sin pérdida
Algoritmos de compresión con pérdida
Procesamiento de señales digitales
Procesamiento de imágenes
Ingeniería de software
Algoritmos de bases de datos
Algoritmos de sistemas distribuidos
Algoritmos de asignación y desasignación de memoria
Redes
Algoritmos de sistemas operativos
Sincronización de procesos
Programación
Programación de E/S
Programación de discos
Véase también
Referencias
- ^ "algoritmo". LII / Instituto de Información Jurídica . Consultado el 26 de octubre de 2023 .
- ^ Gegenfurtner, Karl R. (1992-12-01). "PRAXIS: algoritmo de Brent para la minimización de funciones". Métodos, instrumentos y computadoras de investigación del comportamiento . 24 (4): 560–564. doi : 10.3758/BF03203605 . ISSN 1532-5970.
- ^ "richardshin.com | Algoritmo de detección de ciclos de Floyd". 2013-09-30 . Consultado el 2023-10-26 .
- ^ "Búsqueda binaria de Eytzinger - Algorithmica" . Consultado el 9 de abril de 2023 .
- ^ "Codificación de Shannon-Fano-Elias" (PDF) . my.ece.msstate.edu . Archivado desde el original (PDF) el 28 de febrero de 2021 . Consultado el 11 de octubre de 2023 .
- ^ "Copia archivada" (PDF) . www.vision.ee.ethz.ch . Archivado desde el original (PDF) el 21 de febrero de 2007 . Consultado el 13 de enero de 2022 .
{{cite web}}
: CS1 maint: archived copy as title (link) - ^ "Copia archivada" (PDF) . Archivado desde el original (PDF) el 6 de octubre de 2013. Consultado el 5 de octubre de 2013 .
{{cite web}}
: CS1 maint: archived copy as title (link)