Fundamentos y Clasificación de Algoritmos: Tipos, Lenguajes y Representación

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 3,6 KB

Clasificación de Algoritmos por Estrategia

Los algoritmos se clasifican según la estrategia que se utiliza para llegar al resultado. A continuación, se presentan varios tipos:

Tipos de Algoritmos

Algoritmos Probabilísticos

No se puede estar seguro de la exactitud de la respuesta que proporcionarán. Se agrupan en distintos subtipos: o bien presentan soluciones aproximadas del problema, o bien presentan soluciones que pueden ser correctas, pero también erróneas.

Algoritmo Cotidiano

Es el que se da en la vida común de las personas. No se aplica en sistemas informáticos ni en nada ajeno al día a día.

Algoritmo Heurístico

Abandona alguno de los objetivos como recurso para terminar llegando a la solución. En general, son utilizados cuando no existe una solución mediante las vías tradicionales.

Algoritmo de Escalada (Hill Climbing)

Se comienza con una solución insatisfactoria (que no cumple la entrada y la salida) y se la va modificando, aproximándose a lo que se busca. En algún momento, se estará cerca de (o se llegará a) la solución correcta.

Algoritmo Voraz (Greedy Algorithm)

Con la idea de llegar a una solución óptima definitiva, elige analizar cada paso como único y seleccionar la solución óptima para ese paso específico.

Algoritmo Determinista

Es completamente lineal (cada paso tiene un paso sucesor y un paso predecesor) y, por lo tanto, predictivo, si se conocen sus entradas y su forma de proceder. El Algoritmo de Euclides, que permite averiguar el máximo común divisor entre dos números, responde a este tipo. Se distinguen de los no deterministas, donde el algoritmo tiene un comportamiento en forma de árbol.

Lenguajes y Representación Algorítmica

Lenguajes Algorítmicos

Es una serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso.

Tipos de Lenguajes Algorítmicos

  • Gráficos

    Es la representación gráfica de las operaciones que realiza un algoritmo (ejemplo: el diagrama de flujo).

  • No Gráficos

    Representa en forma descriptiva las operaciones que debe realizar un algoritmo (ejemplo: el pseudocódigo).

Herramientas de Representación

Diagrama de Flujo

Se basa en la utilización de diversos símbolos para representar operaciones específicas. Se les llama diagramas de flujo porque los símbolos utilizados se conectan por medio de flechas para indicar la secuencia de la operación.

Diagramas Estructurados (Nassi-Schneiderman o N-S)

El diagrama estructurado N-S, también conocido como Diagrama de Chapin, es similar a un diagrama de flujo, pero omite las flechas de unión y las cajas son contiguas. Las acciones sucesivas se escriben en cajas sucesivas y, al igual que en los diagramas de flujo, se pueden escribir diferentes acciones en una caja.

Los diagramas estructurados son una técnica que permite formular algoritmos mediante una representación geométrica y de asignación de espacios de un bloque específico.

Pseudocódigo

El pseudocódigo cumple dos funciones principales:

  • Es una mezcla de lenguaje de programación y español que se emplea, dentro de la programación estructurada, para realizar el diseño de un programa. En esencia, se define como un lenguaje de especificaciones de algoritmos.
  • Es la representación narrativa de los pasos que debe seguir un algoritmo para dar solución a un problema determinado. Utiliza palabras clave que indican el proceso a realizar.

Entradas relacionadas: