Site hosted by Angelfire.com: Build your free website today!

UNIVERSIDAD PILOTO DE COLOMBIA
SECCIONAL ALTO MAGDALENA
GIRARDOT












INICIO

ALGORITMIA

NOT. ASINTOTICA

PROBLEMAS PN Y P

ESTRUCTURA DE DATOS

RECURSIVIDAD

ARBOLES
 


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 .









Jose Said Uricoechea Sandoval   -     Jose Roberto Reyes   -   Elkin Espinosa

Ingenieria de Sistemas  VI Semestre