ALGORITMIA
El conjunto de todas las operaciones a
realizar y el orden en que se deben efectuarse, se le denomina
algoritmo. Y
a la vez es un método para resolver
problemas mediante una serie de datos precisos, definidos y finitos.
ANALISIS DEL ALGORITMO
El diseño de la mayoría de los algoritmos requiere creatividad y
conocimientos profundos de la técnica de la programación.
Su estudio es completamente abstracto sin usar
ningún tipo de lenguaje de programación
ni cualquier otra implementación; por
eso, en ese sentido, comparte las características de las disciplinas
matemáticas.
El análisis de los algoritmos se centra en los principios básicos
del algoritmo, no en los de la implementación particular. Una forma
de plasmar un algoritmo es escribirlo en seudo código cuyos códigos
pueden estar en el idioma del programador.
Todo algoritmo debe cumplir con las siguientes condiciones:
Debe ser preciso
Debe ser Finito
Debe ser definido
Y a la vez todo algoritmo puede ser
descompuesto
en tres partes:
Entrada
Proceso
Salida
CLASIFICACION DE LOS ALGORITMOS
Algoritmo determinista: en cada paso del algoritmo se determina de
forma única el siguiente paso.
Algoritmo no determinista: deben decidir en cada paso de la
ejecución entre varias alternativas y agotarlas todas antes de
encontrar la solución
CONCEPTOS BASICOS DE ALGORITMIA
PSEUDOCODIGO:
El pseudo código es un lenguaje de pseudo programación utilizado
para escribir algoritmos computacionales.
El objetivo del pseudo código es permitir que el programador se
centre en los aspectos lógicos de la solución, evitando las reglas
de sintaxis de los lenguajes de programación.
No
siendo el pseudo
código un lenguaje formal, los pseudo códigos varían de un
programador a otro, es decir, no hay un pseudo código estándar.
VARIABLES:
Una variable es una localización o casillero en la memoria
principal que almacena un valor que puede cambiar en el
transcurso de la ejecución del programa. Cuando un programa
necesita almacenar un dato, necesita una variable. Toda variable
tiene un nombre, un tipo de dato y un valor.
LITERALES:
Se denominan literales a todos aquellos valores que figuran en el
pseudo código y pueden ser:
Literales enteros
12, 20300, 15, etc.
Literales reales
3.1416, 2345.456, etc.
Literales de carácter
'a', 'B', ';', '<', '+', etc.
Literales de cadena
"Hola", "Algoritmos Computacionales", etc.
Literales lógicos
verdadero, falso
IMPORTANCIA DE LOS ALGORITMOS
La teoría de los algoritmos es una rama de la computación en donde
se analizan las bases teóricas que envuelven a los algoritmos, así
como las bases para diseños de algoritmos eficientes.
No solo del uso masivo de los algoritmos es de
donde se deriva su
importancia, sino de los aportes que le
ha dado a la computación y a otras ciencias.
APLICACIONES
Algunos ejemplos de uso cotidiano para los usuarios de computadora
pueden ser:
ALGORITMO DE HUFFMAN
GOOGLE SEARCH—ENGINE
DES
ALGORITMO DE HUFFMAN
El algoritmo funciona construyendo un árbol
binario desde abajo hacia arriba utilizando las frecuencias de cada
símbolo para ir uniendo los sub.-árboles.
A cada rama derecha del árbol se le asignará un 1 y a cada rama
izquierda un 0. Cada símbolo será una hoja del árbol. El árbol
que se construirá será un árbol completo, o sea que cada nodo
será o bien una hoja o tendrá dos nodos hijos.

ALGORITMO GOOGLE SEARCH-ENGINE
Usado a diario por millones de personas para la búsqueda en
Internet.
Es un conjunto de algoritmos de búsqueda parte de la patente “PageRank”
usado en el buscador Google.
ALGORITMO DES
También conocido como Estándar de Encriptación de Datos; es usado en
las diferentes distribuciones de Unix, incluyendo Linux, como
primera medida para encriptar las password de usuario.
EN LA VIDA COTIDIANA
En la vida cotidiana usamos algoritmos en muchos lugares, claro que
en estos no se usa mucho la teoría de algoritmos para hacerlos mas
eficientes, pero siguen siendo importantes gracias a su
cotidianeidad.
Al marcar el teléfono
En una receta de cocina
Al querer llegar a un lugar en automóvil
EN EL DESARROLLO DEL SOFTWARE
En los procesos de desarrollo de software la importancia de la
teoría de algoritmos recae esencialmente en la eficiencia del
software, e indirectamente en el análisis del proceso de desarrollo
que se siga para desarrollar la aplicación.
La aplicación de los algoritmos para lograr la eficiencia del
software se puede ver desde los juegos, hasta software matemático
pasando por toda la gama de software existente.
EFICIENCIA DEL SOFTWARE
Para lograr esta eficiencia se tienen 3 caminos:
Aplicar los conocimientos generados anteriormente por la teoría
de los algoritmos sin modificación alguna.
Usar la teoría de los algoritmos para diseñar
un nuevo algoritmo
lo mas eficiente posible
para la aplicación que se este trabajando
Modificar la teoría de algoritmos ya existente tomando las
herramientas posibles para poder
adaptar un algoritmo que
cumpla las necesidades de eficiencia para la nueva aplicación
.
|