Prerrequisito: Introducción a los Algoritmos
- La palabra Algoritmo significa “un proceso o conjunto de reglas a seguir en los cálculos u otras operaciones de resolución de problemas”. Por lo tanto, el algoritmo se refiere a un conjunto de reglas/instrucciones que, paso a paso, definen cómo se debe ejecutar un trabajo para obtener los resultados esperados.
- Los algoritmos son el núcleo de la mayoría de las técnicas utilizadas en las computadoras contemporáneas junto con otras tecnologías.
- Un algoritmo es una abstracción de un programa para ser ejecutado en una máquina física (modelo de computación).
Técnica de diseño de algoritmos
- Estrategia o paradigma : enfoque general para resolver un programa algorítmicamente
- Fuerza bruta : técnica directa con un enfoque ingenuo
- Divide y vencerás : el problema se divide en instancias más pequeñas
- Reducir y conquistar : el tamaño de la instancia se reduce para resolver el problema
- Transformar y conquistar : la instancia se modifica y luego se resuelve
- Programación dinámica : se obtienen resultados de instancias recurrentes más pequeñas para resolver el problema
- Técnica codiciosa : resuelva el problema tomando decisiones localmente óptimas
Análisis de Algoritmo
- Eficiencia de tiempo : indica qué tan rápido se ejecuta el algoritmo
- Eficiencia espacial : cuánta memoria adicional necesita el algoritmo para completar su ejecución
- Simplicidad : generación de secuencias de instrucciones que son fáciles de entender.
- Generalidad : rango de entradas que puede aceptar.
Aplicaciones prácticas de los algoritmos:
- Internet , sin el cual es difícil imaginar un día, es el resultado de algoritmos inteligentes y eficientes . Con la ayuda de estos algoritmos, varios sitios en Internet pueden administrar y manipular este gran volumen de datos. Encontrar buenas rutas por las que viajarán los datos y utilizar un motor de búsqueda para encontrar páginas en las que se presente información concreta.
- Otro gran hito es el Proyecto Genoma Humano que tiene un gran avance hacia la meta de identificación de los 100000 genes en el ADN humano, determinando las secuencias de los 3 mil millones de pares de bases químicas que componen el ADN humano, almacenando esta enorme cantidad de información en bases de datos . y el desarrollo de herramientas para el análisis de datos. Cada uno de estos pasos requería algoritmos sofisticados y eficientes.
- Las actividades diarias de comercio electrónico dependen en gran medida de nuestra información personal, como números de tarjetas de crédito/débito, contraseñas, extractos bancarios, OTP, etc. Las tecnologías principales utilizadas incluyen criptomonedas de clave pública y firmas digitales que se basan en algoritmos numéricos y teoría de números .
- El enfoque de la programación lineal también es una de esas técnicas que se usa ampliamente como
- En la fabricación y otras empresas comerciales donde los recursos apenas deben asignarse de la manera más beneficiosa.
- O una institución puede querer determinar dónde gastar dinero comprando publicidad para maximizar las posibilidades de crecimiento de su institución.
- El algoritmo de ruta más corta también tiene un uso extensivo como
- En una empresa de transporte , como una empresa de camiones o ferrocarriles, puede tener un interés financiero en encontrar el camino más corto a través de una red vial o ferroviaria porque tomar el camino más corto da como resultado menores costos de mano de obra o combustible.
- O un Node de enrutamiento en Internet puede necesitar encontrar la ruta más corta a través de la red para enrutar un mensaje rápidamente.
- Incluso una aplicación que no requiere contenido de algoritmo en el nivel de la aplicación se basa en gran medida en los algoritmos, ya que la aplicación depende del hardware, la GUI, la red o la orientación a objetos, y todos estos hacen un uso extensivo de los algoritmos.
Publicación traducida automáticamente
Artículo escrito por ranadeepika2409 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA