Vous êtes sur la page 1sur 8

Asignatura: Estructura de Datos Carrera: Ingeniera en Sistemas Computacionales Clave de la asignatura: AED-1026 Horas teora-horas prctica-crditos: 2 - 3 5

Objetivo General Del Curso. Identificar, seleccionar y aplicar eficientemente tipos de datos abstractos, mtodos de ordenamiento y bsqueda para la optimacin del rendimiento de soluciones de problemas del mundo real. Caracterizacin de la asignatura. La importancia de la materia radica en que aporta al perfil del egresado el conocimiento, la correcta seleccin y aplicacin de las estructuras de datos en la solucin de problemas, as como el determinar la eficiencia de algoritmos que permiten la seleccin de los mismos con el fin de desarrollar soluciones eficientes. Puesto que para llevar esta materia es indispensable conocer la programacin orientada a objetos, esta se encuentra ubicada para ser cursada despus de las materias de Fundamentos de Programacin y d Programacin Orientada a Objetos, siendo esta materia pilar fundamental en el anlisis, diseo y desarrollo de sistemas de informacin. Temario. UNIDAD 1 TEMAS Introduccin a las Estructuras de datos SUBTEMAS 1.1 Tipos de datos abstractos(TDA) 1.2 Modularidad 1.3 Uso de TDA 1.4 Manejo de memoria Esttica. 1.5. Manejo de memoria dinmica 2.1 Definicin. 2.2 Procedimientos recursivos. 2.3 Ejemplos de casos recursivos. 3.1 Listas 3.1.1 Operaciones bsicas con listas. 3.1.2 Tipos de listas 3.1.3 Listas simples enlazadas 3.1.4 Listas doblemente enlazadas 3.1.5 Listas circulares 3.1.6 Aplicaciones 3.2 Pilas 3.2.1 Representacin en memoria esttica y dinmica 3.2.2 Operaciones bsicas con pilas 3.2.3 Aplicaciones 3.2.4 Notacin infija y postfija 3.2.5 Recursividad con ayuda de pilas

Recursividad

Estructuras lineales

Ingeniera en Sistemas Computacionales

Planificacin y Modelado

Estructuras no lineales

Mtodos de ordenamientos

Mtodos de bsqueda

Anlisis de los algoritmos

3.3 Colas 3.3.1 Representacin en memoria esttica y dinmica 3.3.2 Operaciones bsicas con colas 3.3.3 Tipos de colas: Cola simple, cola circular y colas dobles. 3.3.4 Aplicaciones: colas de prioridad 4.1 rboles 4.1.1 Concepto de rbol. 4.1.2 Clasificacin de rboles 4.1.3 Operaciones bsicas sobre rboles 4.1.4 Aplicaciones 4.1.5 rboles balanceados (AVL). 4.2 Grafos 4.2.1 Terminologa de grafos 4.2.2 Operaciones bsicas sobre grafos 5.1 Algoritmos de ordenamiento internos 5.1.1 Burbuja 5.1.2 Quicksort 5.1.3 ShellSort 5.1.4 Radix 5.2 Algoritmos de ordenamiento Externos 5.2.1 Intercalacion 5.2.2 Mezcla Directa 5.2.3 Mezcla Natural 6.1 Busqueda secuencia 6.2 Busqueda binaria 6.3 busqueda por funciones de HASH 7.1 Complejidad en el tiempo 7.2 Complejidad en el espacio 7.3 Eficiencia de los algoritmos

Evaluacin de la 1 unidad 1 unidad Examen 40% Ejercicio 30% Participacin 10% Prod. de part. 5% Tarea 15% NOTA: Las tareas, investigaciones y ejercicios (cuando se requiera) debern ser entregados en una folder color Azul rey. Bibliografa Java 2 Manual de usuario y tutorial Agustn Froufe Quuintas Alfaomega Ra-Ma. Java para estudiantes Douglas Bell, Mike Parr Prentice Hall L.I. Evelia Mireya Ruiz Jara

Ingeniera en Sistemas Computacionales

Planificacin y Modelado

Unidad 1. Introduccin a las estructuras de datos. Competencia a especificar a desarrollar. Representar y aplicar los tipos de datos abstractos por medio de un lenguajes de programacin. 1.1. Tipos de datos abstractos.

Estructura de Datos.- La definicin que anteriormente se usaba para una estructura de datos es: un conjunto de tipos, un tipo diseado partiendo de ese conjunto de tipos, un conjunto de funciones, y un conjunto de axiomas. Esta definicin implica que una estructura de datos es un tipo con implementacin. En nuestra era de la programacin orientadas a objetos, tipo con implementacin significa clase. Un tipo de dato abstracto (TDA) es considerado aquel que es creado por el programador. Abstraccin.- Es la tcnica de programacin que permite crear nuevos tipos de datos adecuados a una aplicacin, esta tcnica si es utilizada adecuadamente puede producir programas ms cortos, ms legibles y flexibles

Para que una estructura sea considero un TDA debe de tener dos caractersticas: 1. Interfaz.- Representa el comportamiento de la estructura (Mtodos, funciones y procedimientos) 2. Implementacin.- Es la parte oculta para el cliente, es decir la utilizacin de la estructura sin conocer el comportamiento. Encapsulamiento.

Estructura de un TDA Por ejemplo la clase Figura cuenta con ciertos mtodos que son llamados interfaz y la propia clase existente es la que encapsula todo la estructura en otras palabras es la implantacin.

L.I. Evelia Mireya Ruiz Jara

Ingeniera en Sistemas Computacionales

Planificacin y Modelado

import java.io.*; public class Figuras{ public BufferedReader dato=new BufferedReader(new InputStreamReader(System.in)); byte b, h; int resul; public static void main(String args[])throws IOException{ Figuras metodo=new Figuras(); metodo.solicitar(); metodo.visualizar(); } public void solicitar()throws IOException{ System.out.println("Introduce el valor de la base"); b=Byte.parseByte(dato.readLine()); System.out.println("Introduce el valor de la base"); h=Byte.parseByte(dato.readLine()); } public void visualizar(){ System.out.println("El area es "+ (b*h)/2); } }

Datos

Operaciones

TDA

L.I. Evelia Mireya Ruiz Jara

Ingeniera en Sistemas Computacionales

Planificacin y Modelado

1.2 Modularidad La modularidad es la posibilidad de dividir una aplicacin en piezas ms pequeas llamadas mdulos. En el lenguaje de programacin java los mdulos los podemos apreciar en los mtodos que utilizamos para el funcionamiento del mismo. Las mtodos en Java siempre son miembros de clases, no hay mtodos o funciones fuera de las clases. La implementacin de los mtodos se incluye dentro del cuerpo de la clase. Podemos apreciar del ejemplo anterior que la declaracin de los mtodos estn declarados en la funcin principal, y la implementacin y desarrollo de mismo estn dentro del cuerpo de la clase

public class Figuras{ public BufferedReader dato=new BufferedReader(new InputStreamReader(System.in)); byte b, h; int resul; public static void main(String args[])throws IOException{ Figuras metodo=new Figuras(); metodo.solicitar(); metodo.visualizar(); } public void solicitar()throws IOException{ System.out.println("Introduce el valor de la base"); b=Byte.parseByte(dato.readLine()); System.out.println("Introduce el valor de la base"); h=Byte.parseByte(dato.readLine()); } public void visualizar(){ System.out.println("El area es "+ (b*h)/2); } } 1.3 Uso de TDA Un programa que maneja un TAD lo hace teniendo en cuenta las operaciones o la funcionalidad que tiene, sin interesarse por la representacin fsica de los datos, es decir los tipos de datos que se utilizaran. Algunas estructura TDA de programacin son: Pila.- Una pila (stack en ingls) es una lista ordinal o estructura de datos en la que el modo 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. Esta estructura se aplica en multitud de ocasiones en el rea de informtica debido a su simplicidad y ordenacin implcita de la propia estructura.

Mtodos desarrollados en el cuerpo principal de la clase

L.I. Evelia Mireya Ruiz Jara

Ingeniera en Sistemas Computacionales

Planificacin y Modelado

Colas.- Una cola es una estructura de datos, caracterizada por ser una secuencia de elementos en la que la operacin de insercin (meter) push se realiza por un extremo y la operacin de extraccin(sacar) pop por el otro. Tambin se le llama estructura FIFO (del ingls First In First Out), debido a que el primer elemento en entrar ser tambin el primero en salir.

Representacin de una cola Arboles.-. Un rbol es una estructura de datos ampliamente usada que imita la forma de un rbol (un conjunto de nodos conectados). Un nodo es la unidad sobre la que se construye el rbol y puede tener cero o ms nodos hijos conectados a l. Se dice que un nodo a es padre de un nodo b si existe un enlace desde a hasta b (en ese caso, tambin decimos que b es hijo de a). Slo puede haber un nico nodo sin padres, que llamaremos raz. Un nodo que no tiene hijos se conoce como hoja. Los dems nodos (tienen padre y uno o varios hijos) se les conoce como rama.

Representacin de un rbol L.I. Evelia Mireya Ruiz Jara

Ingeniera en Sistemas Computacionales

Planificacin y Modelado

Listas.- Es una secuencia de elementos homogneos que tan compuestos de elementos llamados nodos. Es una de la estructuras TDA ms complejas en programacin.

Representacin de una lista en programacin

1.4 Manejo de memoria Esttica. Define la cantidad de memora necesaria para programa durante el tiempo de compilacin. El tamao no puede cambiar durante el tiempo de ejecucin del programa. Los datos que se almacenan en memoria esttica son: Cdigo fuente del programa Variables declaradas, las cuales pueden cambiar su contenido pero no su tamao. Todas las declaracin de tipo static

L.I. Evelia Mireya Ruiz Jara

Ingeniera en Sistemas Computacionales

Planificacin y Modelado

En Java es posible transformar el tipo de una variable u objeto en otro diferente al original con el que fue declarado. Este proceso se denomina "conversin", "moldeado" o "tipado". El tamao de los tipos que queremos convertir es muy importante. No todos los tipos se convertirn de forma segura. Por ejemplo, al convertir un long en un int, el compilador corta los 32 bits superiores del long (de 64 bits), de forma que encajen en los 32 bits del int, con lo que si contienen informacin til, esta se perder. Por ello se establece la norma de que "en las conversiones el tipo destino siempre debe ser igual o mayor que el tipo fuente":

L.I. Evelia Mireya Ruiz Jara

Vous aimerez peut-être aussi