You are on page 1of 5

Estructuras de Datos

Profesora: Carmen Gmez Prez

Actividad 2. Identificacin de la relacin entre algoritmos y estructuras de datos.

Alumno: Juan Carlos Garca Orozco

Matrcula: AL11508236

Define Algoritmo
Un Algoritmo, se puede definir como una secuencia de instrucciones que representan un modelo de solucin para determinado tipo de problemas. O bien como un conjunto de instrucciones que realizadas en orden conducen a obtener la solucin de un problema. Por lo tanto podemos decir que es un conjunto ordenado y finito de pasos que nos permite solucionar un problema. Los algoritmos son independientes de los lenguajes de programacin. En cada problema el algoritmo puede escribirse y luego ejecutarse en un lenguaje de diferente programacin. El algoritmo es la infraestructura de cualquier solucin, escrita luego en cualquier lenguaje de programacin. Programa: Un programa es una serie de instrucciones ordenadas, codificadas en lenguaje de programacin que expresa un algoritmo y que puede ser ejecutado en un computador. CLASIFICACIN DE ALGORITMOS: Los algoritmos se pueden clasificar en cuatro tipos: Algoritmo computacional: Es un algoritmo que puede ser ejecutado en una computadora. Ejemplo: Frmula aplicada para un clculo de la raz cuadrada de un valor x. Algoritmo no computacional: Es un algoritmo que no requiere de una computadora para ser ejecutado. Ejemplo: Instalacin de un equipo de sonido. Algoritmo cualitativo: Un algoritmo es cualitativo cuando en sus pasos o instrucciones no estn involucrados clculos numricos. Ejemplos: Las instrucciones para desarrollar una actividad fsica, encontrar un tesoro. Algoritmo cuantitativo: Una algoritmo es cuantitativo cuando en sus pasos o instrucciones involucran clculos numricos. Ejemplo: Solucin de una ecuacin de segundo grado.

CARACTERSTICAS DE UN ALGORITMO: Todo algoritmo debe tener las siguientes caractersticas: 1. Debe ser Preciso, porque cada uno de sus pasos debe indicar de manera precisa e inequvoca que se debe hacer. 2. Debe ser Finito, porque un algoritmo debe tener un nmero limitado de pasos. 3. Debe ser Definido, porque debe producir los mismos resultados para las mismas condiciones de entrada. 4. Puede tener cero o ms elementos de entrada. 5. Debe producir un resultado. Los datos de salida sern los resultados de efectuar las instrucciones. PARTES DE UN ALGORITMO: Todo Algoritmo debe tener las siguientes partes: Entrada de datos, son los datos necesarios que el algoritmo necesita para ser ejecutado. Proceso, es la secuencia de pasos para ejecutar el algoritmo. Salida de resultados, son los datos obtenidos despus de la ejecucin del algoritmo.

TCNICAS DE REPRESENTACIN: Para la representacin de un algoritmo, antes de ser convertido a lenguaje de programacin, se utilizan algunos mtodos de representacin escrita, grfica o matemtica. Los mtodos ms conocidos son: Diagramacin libre (Diagramas de flujo). Diagramas Nassi-Shneiderman. Pseudocdigo. Lenguaje natural (espaol, ingls, etc.). Frmulas matemticas.

Define Estructura de Datos


En programacin, una estructura de datos es una forma de organizar un conjunto de datos elementales con el objetivo de facilitar su manipulacin. Un dato elemental es la mnima informacin que se tiene en un sistema.

Una estructura de datos define la organizacin e interrelacin de stos y un conjunto de operaciones que se pueden realizar sobre ellos. Las operaciones bsicas son: Alta, adicionar un nuevo valor a la estructura. Baja, borrar un valor de la estructura. Bsqueda, encontrar un determinado valor en la estructura para realizar una operacin con este valor, en forma SECUENCIAL o BINARIO (siempre y cuando los datos estn ordenados)...

Otras operaciones que se pueden realizar son: Ordenamiento, de los elementos pertenecientes a la estructura. Apareo, dadas dos estructuras originar una nueva ordenada y que contenga a las apareadas.

Cada estructura ofrece ventajas y desventajas en relacin a la simplicidad y eficiencia para la realizacin de cada operacin. De esta forma, la eleccin de la estructura de datos apropiada para cada problema depende de factores como la frecuencia y el orden en que se realiza cada operacin sobre los datos.

Estructuras de datos bsicas. (Listas, Colas, Pilas)


Lista Enlazada: Es un TDA que nos permite almacenar datos de una forma organizada, al igual que los vectores pero, a diferencia de estos, esta estructura es dinmica, por lo que no tenemos que saber "a priori" los elementos que puede contener. En una lista enlazada, cada elemento apunta al siguiente excepto el ltimo que no tiene sucesor y el valor del enlace es null. Por ello los elementos son registros que contienen el dato a almacenar y un enlace al siguiente elemento. Los elementos de una lista, suelen recibir tambin el nombre de nodos de la lista. Para que esta estructura sea un TDA lista enlazada, debe tener unos operadores asociados que permitan la manipulacin de los datos que contiene. Los operadores bsicos de una lista enlazada son:

Insertar: inserta un nodo con dato x en la lista, pudiendo realizarse esta insercin al principio o final de la lista o bien en orden. Eliminar: elimina un nodo de la lista, puede ser segn la posicin o por el dato. Buscar: busca un elemento en la lista. Localizar: obtiene la posicin del nodo en la lista. Vaciar: borra todos los elementos de la lista

Listas doblemente enlazadas: El TDA lista doblemente enlazada, al igual que la lista enlazada, es un TDA dinmico lineal pero, a diferencia de este, cada nodo de la lista doblemente enlazada contiene dos punteros, de forma que uno apunta al siguiente nodo y el otro al predecesor. Esta caracterstica, permite que se pueda recorrer la lista en ambos sentidos, cosa que no es posible en las listas simples. Colas: Una cola es una estructura de datos donde el primer elemento en entrar es el primero en salir, tambin denominadas estructuras FIFO (First In, First Out). Esta estructura de datos se puede definir como una lista enlazada con acceso FIFO a la que slo se tiene acceso al final de la lista para meter elementos y al principio de esta para sacarlos.

Pilas: Una pila, es una estructura de datos en la que el ltimo elemento en entrar es el primero en salir, opr lo que tambin se denominan estructuras LIFO (Last In, First Out). En esta estructura slo se tiene acceso a la cabeza o cima de la pila. Tambin tenemos: Arreglos Un arreglo es una secuencia contigua de un nmero fijo de elementos homogneos. rboles Un rbol se define como una coleccin de nodos organizados en forma recursiva. Cuando hay 0 nodos se dice que el rbol est vaco, en caso contrario el rbol consiste en un nodo denominado raz, el cual tiene 0 o ms referencias a otros rboles, conocidos como subrboles. Las races de los subrboles se denominan hijos de la raz, y consecuentemente la raz se denomina padre de las races de sus subrboles. Una visin grfica de esta definicin recursiva se muestra en la siguiente figura:

rboles binarios Un rbol binario es un rbol en donde cada nodo posee 2 referencias a subrboles (ni ms, ni menos). En general, dichas referencias se denominan izquierda y derecha, y consecuentemente se define el subrbol izquierdo y subrbol derecho del rbol.

rboles generales En un rbol general cada nodo puede poseer un nmero indeterminado de hijos. La implementacin de los nodos en este caso se realiza de la siguiente manera: como no se sabe de antemano cuantos hijos tiene un nodo en particular se utilizan dos referencias, una a su primer hijo y otra a su hermano ms cercano. La raz del rbol necesariamente tiene la referencia a su hermano como null.

Qu relacin encuentras entre un algoritmo y una estructura de datos?


En un algoritmo se plasma la secuencia de instrucciones que darn solucin a un problema planteado y en una estructura de datos, se almacena la informacin de forma ordenada por medio de dichas instrucciones, que para cada caso (tipo de estructura) se hayan definido en la sintaxis para su implementacin.

Fuentes: http://informaticafrida.blogspot.mx/2009/03/algoritmo.html http://robotica.uv.es/pub/Libro/PDFs/CAPI5.pdf


http://www.calcifer.org/documentos/librognome/glib-lists-queues.html

http://users.dcc.uchile.cl/~bebustos/apuntes/cc30a/Estructuras/

You might also like