En Ciencias de la Computación, qué conceptos aprenderá serán inútiles hasta que lo muestre. El problema es la principal preocupación que debe resolverse, por lo que el algoritmo es una breve planificación de cómo se resolverá el problema en general. Por lo tanto, es de gran preocupación en el mundo de la informática.
Creo que casi todos los aspectos de la informática necesitan un algoritmo. Permítanme mostrarles esto. La siguiente lista incluiría varias áreas de informática y qué algoritmos utilizan.
Autómatas
Construcción de powerset. Algoritmo para convertir autómata no determinista en autómata determinista.
Algoritmo de Todd-Coxeter. Procedimiento para generar cosets.
Inteligencia artificial
Alfa Beta. Alpha max más beta min. Ampliamente utilizado en juegos de mesa.
Ant-algoritmos. La optimización de colonias de hormigas es un conjunto de algoritmos inspirados en el comportamiento de las hormigas para resolver un problema, encontrar la mejor ruta entre dos ubicaciones.
DE (evolución diferencial). Resuelva el problema de ajuste polinómico de Chebyshev.
Reconocimiento semi-supervisado de oraciones sarcásticas en revisiones de productos en línea. Algortitmo que reconoce sacarsms o ironía en un tweet o un documento en línea. Un algoritmo de este tipo también será esencial para la programación de robots humanoides.
Visión por computador
Epítome. Representar una imagen o video por uno más pequeño.
Contando objetos en una imagen . Utiliza el algoritmo de etiquetado de componentes conectados para etiquetar primero cada objeto y luego contar los objetos.
Algoritmo de O'Carroll. A partir de una conversión matemática de la visión de los insectos, este algoritmo evalúa cómo moverse evitando los objetos.
Algoritmos genéticos
Usan tres operadores. selección (elija la solución), reproducción (use las soluciones elegidas para construir otras), reemplazo (reemplace la solución si es mejor).
Selección proporcional de aptitud. También conocida como selección de rueda de ruleta, es una función utilizada para seleccionar soluciones.
Selección de truncamiento. Otro método para seleccionar soluciones, ordenado por aptitud.
Selección de torneo. Seleccione la mejor solución por tipo de torneo.
Muestreo universal estocástico. Los individuos se asignan a segmentos contiguos de una línea, de modo que el segmento de cada individuo tiene el mismo tamaño que su estado físico exactamente como en la selección de la ruleta.
Redes neuronales
Hopfield net. Red neuronal artificial recurrente que sirve como sistemas de memoria direccionables por contenido con unidades de umbral binarias. Convergen a un estado estable.
Propagación hacia atrás. Técnica de aprendizaje supervisada utilizada para entrenar redes neuronales artificiales.
Mapa autoorganizado (mapa de Kohonen). Redes neuronales entrenadas utilizando aprendizaje no supervisado para producir una representación de baja dimensión (2D, 3D) de las muestras de entrenamiento. Bueno para visualizar datos de alta dimensión.
Bioinformática
Needleman-Wunsch. Realiza una alineación global en dos secuencias, para secuencias de proteínas o nucleótidos.
Smith-Waterman. Variación del Needleman-Wunsch.
Compresión
Algoritmos de compresión sin pérdida
Transformación de Burrows-Wheeler. Preprocesamiento útil para mejorar la compresión sin pérdidas.
Desinflar. Compresión de datos utilizada por ZIP.
Codificación delta. Ayuda a la compresión de datos en los que los datos secuenciales ocurren con frecuencia.
Codificación incremental. Codificación Delta aplicada a secuencias de cadenas.
LZW. (Lempel-Ziv-Welch). Sucesor de LZ78. Crea una tabla de traducción a partir de los datos para comprimir. Es utilizado por el formato gráfico GIF.
LZ77 y 78. La base de otras variaciones de LZ (LZW, LZSS, ...). Ambos son codificadores de diccionario.
LZMA Abreviatura de Lempel-Ziv-Markov chain-Algorithm.
LZO Algoritmo de compresión de datos que se centra en la velocidad.
PPM(Predicción por coincidencia parcial). Técnica de compresión de datos estadísticos adaptativa basada en predicción y modelado de contexto. Codificación de Shannon-Fano. Construye códigos de prefijo basados en un conjunto de símbolos y sus probabilidades.
Binario truncado. Una codificación de entropía típicamente utilizada para distribuciones de probabilidad uniformes con un alfabeto finito. Mejora la codificación binaria.
Codificación de longitud de ejecución. Compresión primaria que reemplaza una secuencia del mismo código por el número de ocurrencias.
Sequitur Inferencia gramatical incremental en una cadena.
EZW (Wavelet Zerotree integrado). Codificación progresiva para comprimir una imagen en un flujo de bits con mayor precisión. Puede ser compresión con pérdida también con mejores resultados.
Codificación de entropía Esquema de codificación que asigna códigos a los símbolos para hacer coincidir las longitudes de los códigos con las probabilidades de los símbolos.
Codificación Huffman. Compresión simple sin pérdidas aprovechando las frecuencias de caracteres relativas.
Codificación adaptativa de Huffman. Técnica de codificación adaptativa basada en la codificación de Huffman.
Codificación aritmética. Codificación avanzada de entropía.
Codificación de rango. Igual que la codificación aritmética, pero visto de una manera ligeramente diferente.
Codificación unaria. Código que representa un número n con n unos seguidos de un cero. Elias delta, gamma, codificación omega. Código universal que codifica los enteros positivos. Codificación de Fibonacci. Código universal que codifica enteros positivos en palabras de código binario.
Codificación Golomb. Forma de codificación de entropía que es óptima para alfabetos que siguen distribuciones geométricas.
Codificación de arroz. Forma de codificación de entropía que es óptima para alfabetos que siguen distribuciones geométricas.
Algoritmos de compresión con pérdida
Codificación predictiva lineal. Compresión con pérdida al representar la envoltura espectral de una señal digital del habla en forma comprimida.
Algoritmo de ley A. Algoritmo de comparación estándar.
Algoritmo de ley Mu. Algoritmo de compresión o compresión de señal analógica estándar.
Compresión fractal. Método utilizado para comprimir imágenes usando fractales.
Transformar codificación. Tipo de compresión de datos para datos como señales de audio o imágenes fotográficas.
Cuantización vectorial. Técnica utilizada a menudo en la compresión de datos con pérdida.
Compresión Wavelet. Forma de compresión de datos adecuada para compresión de imagen y audio.
Criptografía
Clave secreta (cifrado simétrico)
Use una clave secreta (o un par de claves directamente relacionadas) para descifrar y cifrar.
Estándar de cifrado avanzado (AES) , también conocido como Rijndael.
Blowfish Diseñado por Schneier como un algoritmo de propósito general, destinado a reemplazar el envejecimiento DE.
Estándar de cifrado de datos (DES) , anteriormente Algoritmo DE.
IDEA (Algoritmo internacional de cifrado de datos) . Anteriormente IPES (PES mejorado), otro reemplazo para DES. Es utilizado por PGP (Pretty Good Privacy). Realiza transformaciones en datos divididos en bloques, utilizando una clave.
RC4 o ARC4. Cifrado de flujo ampliamente utilizado en protocolos como SSL para tráfico de Internet y WEP para redes inalámbricas.
Algoritmo de cifrado minúsculo. Algoritmo de cifrado de bloques fácil de implementar utilizando algunas fórmulas.
PES (Estándar de cifrado propuesto). Nombre antiguo para IDEA.
Clave pública (cifrado asimétrico)
Use un par de claves, designadas como clave pública y clave privada. La clave pública cifra el mensaje, solo la clave privada permite descifrarlo.
DSA (algoritmo de firma digital). Generar claves con números primos y aleatorios. Fue utilizado por agencias de EE. UU. Y ahora es de dominio público.
ElGamal Basado en Diffie-Hellman, utilizado por el software GNU Privacy Guard, PGP y otros sistemas criptográficos.
RSA (Rivest, Shamir, Adleman). Ampliamente utilizado en protocolos de comercio electrónico. Usa números primos.
Intercambio de claves de Diffie-Hellman (Merkle) (o intercambio de claves exponencial). Método y algoritmo para compartir secretos sobre un canal de comunicaciones desprotegido. Usado por RSA.
NTRUEncrypt. Haga uso de anillos de polinomios con multiplicaciones de convolución.
Funciones de resumen de mensajes
Un resumen de mensaje es un código resultante del cifrado de una cadena o datos de cualquier longitud, procesados por una función hash.
MD5. Se utiliza para verificar imágenes ISO de CD o DVD.
RIPEMD (Resumen de mensajes de evaluación de primitivas de integridad RACE). Basado en los principios de MD4 y similar a SHA-1.
SHA-1 (Algoritmo de hash seguro 1). El más utilizado del conjunto SHA de funciones hash criptográficas relacionadas. Fue diseñado por la agencia de la NSA.
HMAC autenticación de mensaje de hash con clave.
Tigre (TTH). Usualmente se usa en hachís de tigre.
Criptográfico utilizando números pseudoaleatorios
Ver. Generadores de números aleatorios
Técnicas en criptografía.
Secreto compartido, división secreta, división de claves, algoritmos M of N.
El esquema de intercambio secreto de Shamir. Esta es una fórmula basada en la interpolación polinómica.
El esquema de intercambio secreto de Blakley. Es de naturaleza geométrica, el secreto es un punto en un espacio m-dimensional.
Otras técnicas y descifrado
Subconjunto suma. Dado un conjunto de enteros, ¿alguna suma de subconjunto es igual a cero? Utilizado en criptografía.
Algoritmo de Shor. Algoritmo cuántico capaz de descifrar un código basado en funciones asimétricas como RSA.
Geometría
Envoltorio de regalo. Determinación del casco convexo de un conjunto de puntos.
Gilbert-Johnson-Keerthi distancia. Determinar la distancia más pequeña entre dos formas convexas.
Graham scan. Determinación del casco convexo de un conjunto de puntos en el plano.
Intersección de segmento de línea. Encontrar si las líneas se cruzan con un algoritmo de línea de barrido.
Punto en polígono. Comprueba si un punto dado se encuentra dentro de un determinado.
Rayo / intersección plana.
* Intersección línea / triángulo. * Caso particular de intersección Ray / Plano.
Poligonización de superficies implícitas. Aproximar una superficie implícita con una representación poligonal.
TriangulaciónMétodo para evaluar la distancia a un punto desde ángulos a otros puntos, cuya distancia es conocida.
Gráficos
Tecnología 3D Surface Tracker. Proceso para agregar imágenes en paredes en un video mientras se tienen en cuenta las superficies ocultas.
Bellman-Ford. Calcula las rutas más cortas en un gráfico ponderado (donde algunos de los pesos de los bordes pueden ser negativos).
Algoritmo de Dijkstra. Calcula las rutas más cortas en un gráfico con pesos de borde no negativos.
Métodos de perturbación. Un algoritmo que calcula las rutas localmente más cortas en un gráfico.
Floyd-Warshall. Resuelve el problema de la ruta más corta de todos los pares en un gráfico ponderado y dirigido.
El ciclo de búsqueda de Floyd. Encuentra ciclos en iteraciones.
Johnson Todos los pares de algoritmo de ruta más corta en un gráfico dirigido ponderado disperso.
KruskalEncuentra un árbol de expansión mínimo para un gráfico.
Prim. Encuentra un árbol de expansión mínimo para un gráfico. También se llama DJP, Jarník o algoritmo Prim-Jarník.
* Boruvka. * Encuentra un árbol de expansión mínimo para un gráfico.
Ford-Fulkerson. Calcula el flujo máximo en un gráfico.
Edmonds-Karp. Implementación de Ford-Fulkerson.
Interruptor de expansión mínima sin bloqueo. Para una central telefónica.
Woodhouse-Sharp. Encuentra un árbol de expansión mínimo para un gráfico.
A base de primavera. Algoritmo para dibujar gráficos.
Húngaro. Algoritmo para encontrar una combinación perfecta.
Algoritmo de coloración. Algoritmo de coloración gráfica.
El vecino mas cercano.Encuentra al vecino más cercano.
Tipo topológico. Ordene un gráfico acíclico dirigido de tal manera que cada nodo venga antes que todos los nodos a los que tiene bordes (de acuerdo con las instrucciones).
El algoritmo de antepasados menos comunes fuera de línea de Tarjan. Calcule los antepasados comunes más bajos para pares de nodos en un árbol.
Gráficos
Algoritmo de línea de Bresenham. Utiliza variables de decisión para trazar una línea recta entre 2 puntos especificados.
Paisaje Dibuja un paisaje 3D.
* Algoritmo de línea DDA. * Utiliza matemática de punto flotante para trazar una línea recta entre 2 puntos especificados.
Inundación de relleno. Llena una región conectada con un color.
Restauración de imagen. Restaurar foto, mejorar imágenes.
Algoritmo de línea de Xiaolin Wu. Línea antialiasing.
Algoritmo del pintor. Detecta partes visibles de un escenario tridimensional.
Trazado de rayos. Representación realista de imágenes.
Phong sombreado. Un modelo de iluminación y un método de interpolación en gráficos 3D por computadora.
Sombreado de Gouraud.Simule los diferentes efectos de luz y color en la superficie de un objeto 3D.
Representación de scanline. Construye una imagen moviendo una línea imaginaria.
Iluminación global. Considera la iluminación directa y la reflexión de otros objetos.
Interpolación. Construcción de nuevos puntos de datos, como en el zoom digital.
Resintetizador. Elimine un objeto en una foto y reconstruya el fondo utilizado por Photoshop y The Gimp. Tutorial de resintetizador.
Algoritmo de intercepción de pendiente. Es una implementación de la fórmula pendiente-intersección para dibujar una línea.
Interpolación de spline. Reduce el error con el fenómeno de Runge.
Tecnología 3D Surface Tracker. Agregar imágenes o videos en las paredes de un video, teniendo en cuenta las superficies ocultas.
Listas, matrices y árboles.
buscando
Búsqueda de diccionario. Ver búsqueda predictiva.
Algoritmo de selección. Encuentra el kth elemento más grande en una lista.
Algoritmo de búsqueda binaria. Localiza un elemento en una lista ordenada.
Búsqueda de amplitud primero. Atraviesa un gráfico nivel por nivel.
Búsqueda de profundidad primero. Atraviesa un gráfico rama por rama.
Mejor primera búsqueda. Atraviesa un gráfico en el orden de importancia probable utilizando una cola de prioridad.
Una búsqueda en árbol. * Caso especial de la mejor búsqueda en primer lugar que utiliza heurística para mejorar la velocidad.
Búsqueda de costo uniforme. Una búsqueda de árbol que encuentra la ruta de menor costo donde los costos varían.
Búsqueda predictivaBúsqueda binaria similar que tiene en cuenta la magnitud del término de búsqueda frente a los valores altos y bajos de la búsqueda.
Tabla de picadillo. Asociar claves a elementos en una colección sin clasificar, para recuperarlos en un tiempo lineal.
Búsqueda interpolada Ver búsqueda predictiva.
Clasificación
Árbol binario tipo. Una especie de árbol binario, incremental, similar a la ordenación por inserción.
Bogosort. Tipo de tarjeta de escritorio aleatorio ineficiente.
Ordenamiento de burbuja. Para cada par de índices, intercambie los artículos si están fuera de servicio.
Tipo de cubo. Dividir una lista en cubos y ordenarlos individualmente. Generaliza la clasificación de casilleros.
Clasificación de cóctel (o burbuja bidireccional, agitador, ondulación, lanzadera, clasificación de hora feliz). La variación del tipo de burbuja que se ordena en ambas direcciones pasa a través de la lista.
Peine de clasificación. Variación eficiente del tipo de burbuja que elimina las "tortugas", los valores pequeños cerca del final de la lista y hace uso de lagunas entre los valores.
Contando tipo.Utiliza el rango de números en la lista A para crear una matriz B de esta longitud. Los índices en B se usan para contar cuántos elementos en A tienen un valor menor que i.
Gnomo tipo. Similar a la ordenación por inserción, excepto que mover un elemento a su lugar apropiado se logra mediante una serie de intercambios, como en la ordenación por burbuja.
Heapsort. Convierta la lista en un montón, elimine el elemento más grande del montón y agréguelo al final de la lista.
Tipo de inserción. Determine dónde pertenece el elemento actual en la lista de ordenados e insértelo allí.
Introsort. O tipo introspectivo. Comienza en clasificación rápida y cambia a clasificación múltiple en cierto nivel de recursión.
Combinar tipo.Ordene la primera y la segunda mitad de la lista por separado, luego combine las listas ordenadas.
Tipo de panqueque. Elementos inversos de algún prefijo de una secuencia.
Tipo de casillero. Rellene una matriz vacía con todos los elementos de una matriz que se ordenarán, en orden.
Cartero tipo. Variante jerárquica de tipo cubo, utilizada por las oficinas de correos.
Ordenación rápida. Divida la lista en dos, con todos los elementos de la primera lista antes de todos los elementos de la segunda lista .; luego ordena las dos listas. A menudo, el método de elección.
Radix sort. Ordena las claves asociadas a elementos o enteros procesando dígitos.
Selección de selección. Elija el más pequeño de los elementos restantes, agréguelo al final de la lista ordenada.
Tipo de concha.Mejora el orden de inserción con el uso de espacios entre valores.
Smoothsort Ver montón.
Tipo estocástico. Ver bogosort.
y muchos más...