1. ALGORITMOS DE ORDENAMIENTO
1.1. Los algoritmos de ordenamiento organizan elementos en una lista en un orden especifico, como numerico o alfabetico. Ejemplos incluyen:
1.1.1. Burbuja (Bubble Sort): Compara y ordena elementos adyacentes. Inserción (Insertion Sort): Inserta elementos en la posición adecuada. Selección (Selection Sort): Selecciona y coloca el elemento más pequeño.
1.2. Eficiencia en tiempo y espacio. Estabilidad. In-place vs. no in-place. Comparativos vs. no comparativos. Adaptabilidad. Complejidad temporal. Complejidad espacial. Aplicaciones específicas.
2. ALGORITMOS PREDICTIVO
2.1. Un algoritmo predictivo utiliza datos pasados para predecir resultados futuros en diversas aplicaciones, como recomendaciones en linea o pronosticos meteorologicos.
2.1.1. Regresión Lineal: Predecir valores futuros basados en una relación lineal entre variables. Máquinas de Vectores de Soporte (SVM): Utilizado para clasificación y regresión, también puede predecir valores futuros. Redes Neuronales Artificiales: Modelos de aprendizaje profundo que pueden predecir valores futuros basados en patrones complejos en los datos.
3. ALGORITMOS PROBABILISTICOS
3.1. Los algoritmos probabilisticos usan la aleatoriedad o la probabilidad para tomar decisiones o hacer calculos.
3.1.1. Algoritmo Genético: Utiliza conceptos evolutivos para encontrar soluciones óptimas. Algoritmo de Monte Carlo: Estima soluciones numéricas utilizando muestras aleatorias. Pruebas de Miller-Rabin: Determina la primalidad de números utilizando pruebas de probabilidad.
3.2. Consideran la probabilidad de eventos en lugar de datos determinísticos. Se basan en modelos probabilísticos para representar relaciones entre variables. Utilizan distribuciones de probabilidad para cuantificar la incertidumbre. Algunos están fundamentados en el principio bayesiano. Emplean métodos de muestreo estocástico y técnicas de inferencia estadística. Son robustos frente a datos ruidosos o incompletos. La interpretación de resultados puede ser compleja debido a la consideración de probabilidades.
4. ALGORITMOS DE OPTIMIZACION
4.1. Los algoritmos de optimizacion encuentran la mejor solucion para un problema, maximizando o minimizando una funcion objetivo y cumpliendo restricciones.
4.1.1. Búsqueda Tabú: Encuentra soluciones evitando áreas prohibidas. Recocido Simulado: Busca soluciones aceptando cambios temporales. Programación Lineal: Encuentra la mejor solución para problemas lineales.
4.2. Buscan la mejor solución posible, maximizando o minimizando una función objetivo. Exploran exhaustivamente o utilizan métodos heurísticos para encontrar soluciones cercanas a la óptima. Se basan en una función objetivo que define el criterio de optimización. Manejan restricciones, como limitaciones de recursos. Pueden ser determinísticos o estocásticos. Deben ser eficientes en tiempo y espacio. Se espera que converjan hacia una solución óptima. Se aplican en diversos campos como ingeniería, economía, ciencia de datos, logística, entre otros.
5. ALGORITMOS COMPUTACIONALES
5.1. Los algoritmos computacionales son secuencias de pasos ordenados para resolver problemas en computadoras. Tres ejemplos son:
5.1.1. Búsqueda Binaria: Descripción: Encuentra un elemento en una lista ordenada dividiendo la lista a la mitad repetidamente. Eficiencia: O(log n). Ordenamiento de Burbuja: Descripción: Ordena elementos comparando pares adyacentes y haciéndolos intercambiar si están en el orden incorrecto. Eficiencia: O(n^2), menos eficiente para grandes conjuntos de datos.
5.2. Caracteristicas:Precisión: Deben producir resultados correctos. Finitud: Deben finalizar en un número finito de pasos. Eficiencia: Deben ejecutarse en un tiempo y con recursos razonables. Claridad: Deben estar bien definidos y sin ambigüedad. Independencia: Deben ser independientes del lenguaje y hardware. Generalidad: Deben aplicarse a una amplia gama de problemas. Determinismo y repetibilidad: Deben producir el mismo resultado para la misma entrada.
6. ALGORITMOS NO COMPUTACIONES
6.1. Los algoritmos no computacionales son secuencias de pasos manuales para resolver problemas fuera de la computación. Dos ejemplos son:
6.1.1. Receta de cocina: Descripción: Pasos para preparar un plato, como una tarta de manzana. Instrucciones de ensamblaje de muebles: Descripción: Pasos para armar un mueble, como un estante de libros.
6.2. Heurísticas: Se basan en reglas generales para resolver problemas. Creatividad humana: Requieren la creatividad para generar soluciones. Intuición y experiencia: La experiencia y la intuición son importantes. Procesos cognitivos complejos: Implican razonamiento inductivo y abstracción. Adaptabilidad y flexibilidad: Son adaptables a diferentes situaciones. Incertidumbre y subjetividad: Las decisiones pueden depender de factores subjetivos. Problemas complejos: Se aplican en problemas difíciles de cuantificar. Interacción social: Pueden surgir de la colaboración entre individuos o grupos.
7. ALGORITMOS CUANTITATIVOS
7.1. Son lo contrario de los algoritmos cualitativos, porque se colocan elementos numéricos. Este tipo de algoritmos se utilizan en las matemáticas para realizar cálculos. Por ejemplo, para encontrar una raíz cuadrada o resolver una ecuación, algunos ejemplos son:
7.1.1. Búsqueda binaria: Encontrar elementos en listas ordenadas dividiendo el espacio de búsqueda a la mitad. QuickSort: Ordenar listas dividiéndolas en subconjuntos más pequeños. Regresión lineal: Modelar la relación entre variables mediante una línea recta.
7.2. Caracteristicas:1.Operan con datos numéricos. 2.Utilizan operaciones matemáticas. 3.Sus resultados son medibles y comparables. 4.Eficiencia cuantificable. 5.Aplicables a problemas numéricos. 6.Deben ser precisos y exactos. 7.Repetibles y deterministas.
8. ALGORITMOS DE BUSQUEDA
8.1. Un algoritmo de búsqueda es un método para encontrar un elemento específico dentro de un conjunto de datos, como una lista o un grafo. Pueden variar en complejidad y enfoque, pero todos tienen como objetivo encontrar una solución eficiente y precisa. Ejemplos
8.1.1. Búsqueda Secuencial: Descripción: Busca secuencialmente cada elemento en una lista hasta encontrar una coincidencia. Ejemplo: Buscar un nombre en una lista de contactos. Búsqueda Binaria: Descripción: Divide repetidamente una lista ordenada a la mitad para encontrar un elemento. Ejemplo: Buscar un número en una guía telefónica ordenada alfabéticamente. Búsqueda de Profundidad (DFS): Descripción: Explora tan lejos como sea posible a lo largo de cada rama en un grafo antes de retroceder.
8.2. Eficiencia: Debe encontrar soluciones en poco tiempo. Precisión: Debe encontrar la solución correcta. Flexibilidad: Debe adaptarse a diferentes situaciones. Determinismo: Debe producir el mismo resultado para la misma entrada. Optimalidad: En algunos casos, busca la solución óptima.
9. ALGORITMOS CUALITATIVOS
9.1. Estos algoritmos son aquellos en los que se colocan elementos verbales. Un ejemplo de este tipo de algoritmos son las instrucciones o los “paso a paso” que se dan de formal oral, algunos ejemplos son:
9.1.1. Análisis de contenido: Categorizar datos no estructurados para identificar patrones. Método científico cualitativo: Recolectar y analizar datos para entender fenómenos sociales. Análisis FODA: Evaluar situación de una empresa o proyecto.