Biblioteca de plantillas estándar: Algoritmos
La cabecera <algoritmo> define un conjunto de funciones diseñadas especialmente para ser utilizado en las gamas de elementos. Una gama es cualquier secuencia de objetos que se pueden acceder a través de iteradores o punteros, como una matriz o una instancia de algunos de los contenedores STL . Note sin embargo, que operan a través de algoritmos de iteradores directamente sobre los valores, no afecta en modo alguno la estructura de cualquier posible recipiente (nunca afecta el tamaño o el almacenamiento de asignación del contenedor).
Tipos de algoritmos según su función
Técnicas de diseño de algoritmos
- Algoritmos voraces (greedy): seleccionan los elementos más prometedores del conjunto de candidatos hasta encontrar una solución. En la mayoría de los casos la solución no es óptima.
- Algoritmos paralelos: permiten la división de un problema en subproblemas de forma que se puedan ejecutar de forma simultánea en varios procesadores.
- Algoritmos probabilísticos: algunos de los pasos de este tipo de algoritmos están en función de valores pseudoaleatorios.
- Algoritmos determinísticos: el comportamiento del algoritmo es lineal: cada paso del algoritmo tiene únicamente un paso sucesor y otro antecesor.
- Algoritmos no determinísticos: el comportamiento del algoritmo tiene forma de árbol y a cada paso del algoritmo puede bifurcarse a cualquier número de pasos inmediatamente posteriores, además todas las ramas se ejecutan simultáneamente.
- Divide y vencerás: dividen el problema en subconjuntos disjuntos obteniendo una solución de cada uno de ellos para después unirlas, logrando así la solución al problema completo.
- Metaheurísticas: encuentran soluciones aproximadas (no óptimas) a problemas basándose en un conocimiento anterior (a veces llamado experiencia) de los mismos.
- Programación dinámica: intenta resolver problemas disminuyendo su coste computacional aumentando el coste espacial.
- Ramificación y acotación: se basa en la construcción de las soluciones al problema mediante un árbol implícito que se recorre de forma controlada encontrando las mejores soluciones.
- Vuelta atrás (backtracking): se construye el espacio de soluciones del problema en un árbol que se examina completamente, almacenando las soluciones menos costosas.
Proceso en C++
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
unsigned int (nummes1);
float I,L,T;
cout<<"\nHallando la suma de dos numeros: ";
cout<<"\nIngrese el numero A: ";
cin>>L;
cout<<"\nIngrese el numero B: ";
cin>>I;
T=L+I;
cout<<"\nla suma es: "<<T<<endl;
system("pause");
return 0;
}
No hay comentarios:
Publicar un comentario