6
Ingeniería en Desarrollo de Software Estructuras de Datos ÿü Actividad 2. Identificación de la relación entre algoritmos y estructuras de datos. Profesora: Mario Alberto Talavera Soto Alumno: Tláloc Ricardo Flores Vela UNIVERSIDAD ABIERTA Y DISTANCIA DE MÉXICO

DEDA_U1_A2

Embed Size (px)

DESCRIPTION

Actividad 2. Identificación de la relación entre algoritmos y estructuras de datos.

Citation preview

  • Ingeniera en Desarrollo de Software

    Estructuras de Datos

    Actividad 2. Identificacin de larelacin entre algoritmos y estructurasde datos.

    Profesora: Mario Alberto Talavera Soto

    Alumno: Tlloc Ricardo Flores Vela

    UNIVERSIDAD ABIERTA YDISTANCIA DE MXICO

  • 1. Crea un archivo de texto.

    2. Define algoritmo.

    3. Define estructura de datos.

    4. Menciona las tres estructuras de datos ms conocidas.

    5. Redacta en al menos tres lneas, qu relacin encuentras entreun algoritmo y una estructura de datos.

    ALGORITMO

    Un Algoritmo, se puede definir como una secuencia de instrucciones querepresentan un modelo de solucin para determinado tipo de problemas. O biencomo un conjunto de instrucciones que realizadas en orden conducen a obtener lasolucin de un problema. Por lo tanto podemos decir que es un conjunto ordenadoy finito de pasos que nos permite solucionar un problema.

    Los algoritmos son independientes de los lenguajes de programacin. En cadaproblema el algoritmo puede escribirse y luego ejecutarse en un lenguaje dediferente 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 enlenguaje de programacin que expresa un algoritmo y que puede ser ejecutado enun computador.

    Los algoritmos se pueden clasificar en cuatro tipos:

    Algoritmo computacional: Es un algoritmo que puede ser ejecutado en unacomputadora. Ejemplo: Frmula aplicada para un clculo de la razcuadrada de un valor x.

    Algoritmo no computacional: Es un algoritmo que no requiere de unacomputadora para ser ejecutado. Ejemplo: Instalacin de un equipo desonido.

    Algoritmo cualitativo: Un algoritmo es cualitativo cuando en sus pasos o

  • instrucciones no estn involucrados clculos numricos. Ejemplos: Lasinstrucciones para desarrollar una actividad fsica, encontrar un tesoro.

    Algoritmo cuantitativo: Una algoritmo es cuantitativo cuando en sus pasos oinstrucciones involucran clculos numricos. Ejemplo: Solucin de unaecuacin de segundo grado.

    Todo algoritmo debe tener las siguientes caractersticas:

    1. Debe ser Preciso, porque cada uno de sus pasos debe indicar de maneraprecisa e inequvoca que se debe hacer.

    2. Debe ser Finito, porque un algoritmo debe tener un nmero limitado depasos.

    3. Debe ser Definido, porque debe producir los mismos resultados para lasmismas 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.

    Todo Algoritmo debe tener las siguientes partes:

    Entrada de datos, son los datos necesarios que el algoritmo necesita paraser ejecutado.

    Proceso, es la secuencia de pasos para ejecutar el algoritmo. Salida de resultados, son los datos obtenidos despus de la ejecucin del

    algoritmo.

    Para la representacin de un algoritmo, antes de ser convertido a lenguaje deprogramacin, se utilizan algunos mtodos de representacin escrita, grfica omatemtica. Los mtodos ms conocidos son:

    Diagramacin libre (Diagramas de flujo). Diagramas Nassi-Shneiderman. Pseudocdigo. Lenguaje natural (espaol, ingls, etc.). Frmulas matemticas.

  • ESTRUCTURA DE DATOS

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

    Una estructura de datos define la organizacin e interrelacin de stos y unconjunto de operaciones que se pueden realizar sobre ellos. Las operacionesbsicas 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 (siemprey 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 yeficiencia para la realizacin de cada operacin. De esta forma, la eleccin de laestructura de datos apropiada para cada problema depende de factores como lafrecuencia y el orden en que se realiza cada operacin sobre los datos.

    Tipos de datos elementales

    Binarios Bit Byte Numricos Entero Real Coma fija Coma flotante Alfanumricos Carcter Cadena Booleanos

  • Estructuras de datos mas conocidas

    Los conjuntos son una de las estructuras bsicas de las matemticas, y por tantode la informtica. No se va a entrar en la definicin de conjuntos ni en suspropiedades. Se supondr que el lector conoce algo de teora de conjuntos. Con loms bsico es suficiente.

    En realidad las estructuras de datos que se han implementado hasta ahora no sonms que elementos diferentes entre s (en general) en los que se ha definido unarelacin. Que pueden estar ordenados entre s. Obviando las propiedades de lasestructuras, se ve que forman un conjunto, y su cardinal es el nmero deelementos que contenga la estructura. En los conjuntos no existen elementosrepetidos, y esto se respeta en las implementaciones que se ofrecen acontinuacin.

    En este tema definiremos unas implementaciones que permitan aplicar el lgebrade conjuntos, ya sea unin, interseccin, pertenencia entre otras.

    PILAS

    Una pila (stack en ingls) es una lista ordinal o estructura de datos en la que elmodo de acceso a sus elementos es de tipo LIFO (del ingls Last In First Out,ltimo en entrar, primero en salir) que permite almacenar y recuperar datos. Seaplica en multitud de ocasiones en informtica debido a su simplicidad yordenacin implcita en la propia estructura.

    COLA

    Colas FIFO

    Definicin: Son aquellas que solo tiene 2 operaciones, Push(Insercin) yPop(Eliminacin). Push solo se puede efectuar por un extremo llamado Frente yPop por el extremo Llamado Final. Sin Embargo se le pueden aplicar todas lasoperacin al igual que a las listas.

    Lista enlazada

    Es una de las estructuras de datos fundamentales, y puede ser usada paraimplementar otras estructuras de datos. Consiste en una secuencia de nodos, enlos que se guardan campos de datos arbitrarios y una o dos referencias, enlaces opunteros al nodo anterior o posterior. El principal beneficio de las listas enlazadasrespecto a los vectores convencionales es que el orden de los elementosenlazados puede ser diferente al orden de almacenamiento en la memoria o el

  • disco, permitiendo que el orden de recorrido de la lista sea diferente al dealmacenamiento.

    Que relacin encuentras entre un algoritmo y unaestructura de datos

    Lo que yo entend de estos dos temas es que el algoritmo es la solucin que se leva dar al programa, sea que va a describir como solucionaremos el problema; yla estructura de datos la utilizaremos para poder darle forma a la solucin en baseal algoritmo que hayamos creado.

    Fuentes de consulta:

    http://estructura-u1.blogspot.mx/2009/10/algoritmos.html

    http://es.wikipedia.org/wiki/Estructura_de_datos

    http://www.monografias.com/trabajos15/algoritmos/algoritmos.shtml

    http://candyluna.galeon.com/aficiones813476.html