You are on page 1of 43

SUBSECRETARA DE EDUCACIN SUPERIOR

DIRECCIN GENERAL DE EDUCACIN SUPERIOR TECNOLGICA


INSTITUTO TECNOLGICO DE TEHUACN
DEPTO. DE SISTEMAS Y COMPUTACIN
MANUAL DE PRCTICAS
ESTRUCTURA DE DATOS (SCC-0408)
PLAN ISIC-2004-296
PRESENTA
M.C. LILIANA ELENA OLGUN GIL
AGOSTO 2008.
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
NDICE
I. PRESENTAClN 2
ll. lNTRODUCClN 3
lll. OBJETlVO GENERAL 4
lV. CONTENlDO DE LA PRACTlCA 5
V. REPORTE DE RESULTADOS 6
Vl. PRACTlCAS:
Vl.l.Manejo de Memoria 7
Vl.2. Operaciones bsicas en las listas simplemente ligadas l0
Vl.3 Suma de elementos de dos listas simplemente ligadas l2
Vl.4. Mezcla de listas simplemente ligadas l3
Vl.5.Suma de polinomios l4
Vl.6.Operaciones bsicas en una lista doblemente ligada
Vl.7.Suma de nmeros arbitrariamente grandes
Vl.8.Separar en dos una lista doblemente ligada
Vl.9.lmplementacion de una lista ligada genrica
Vl.l0.Operaciones bsicas con pilas estticas y dinmicas
Vl.ll. Algoritmo para conversin de una expresin de lnfijo a Posfijo
Vl.l2.Algoritmo para la evaluacin de expresiones posfijas
Vl.l3.Operaciones Fundamentales sobre Colas de Espera Simple
Vl.l4.Applet Evaluador
Vl.l5.Operaciones Fundamentales sobre Colas de Espera Circulares
Vl.l6.Simulacin de un cajero automatizado
Vl.l7.Algoritmos Recursivos
Vl.l8.Operaciones bsicas sobre Arboles Binarios de Bsqueda
Vl.l9.Diccionario Espaol-lngles
Vl.20.Applet didctico que muestre como funcionan los algoritmos de
ordenamiento lnterno
Ingeniera en Sistemas Computacionales

2
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
Vl.2l.Frame didctico que compare los mtodos de ordenamiento
externo
Vl.22.Frame didctico que muestre el funcionamiento y compare los
mtodos de bsqueda secuencial y binario
Vl.23.Frame que permita realizar la bsqueda de un dato por medio de una
tabla Hash
Vll. BlBLlOGRAFlA
Ingeniera en Sistemas Computacionales

3
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
PRESENTACIN
El Departamento de Sistemas y Computacin del lnstituto
Tecnolgico de Tehuacn, manifiesta su inters por elevar la calidad
del proceso de enseanza aprendizaje a travs de acciones que
permitan que los estudiantes vinculen lo aprendido de manera terica
en el aula con la prctica realizada en el laboratorio, rompiendo con
mtodos tradicionales que propician la pasividad del estudiante y as
promover su participacin.
El presente documento es una propuesta para la gua de
prcticas de laboratorio para la asignatura de Estructura de Datos
perteneciente al plan de estudios lSlC-2004-296 de la carrera de
lngeniera en Sistemas Computacionales, el cual pretende rescatar las
actividades fundamentales de experimentacin y generar aprendizajes
consistentes a los futuros egresados de esta honorable lnstitucin.
Ingeniera en Sistemas Computacionales

4
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
INTRODUCCIN
Conscientes de la importancia que tiene la reflexin terica con
el estudio de la prctica, se ha hecho necesario reforzar la relacin
que existe entre el sujeto de aprendizaje y la realidad del entorno.
Por lo anterior se pretende fortalecer y ampliar este vnculo
terico prctico en el rea de Sistemas y Computacin , tomando en
consideracin los aportes en el campo cientfico y tecnolgico.
Las prcticas del presente manual desean motivar en el alumno
el inters por verificar por s mismo la aplicacin y el uso de los
diversos algoritmos y tcnicas de programacin que se han
presentado en forma terica, as como aprender a identificar el tipo de
estructura de datos que puede aplicar para resolver un problema
determinado.
A partir de estas experiencias prcticas deber ser capaz de
participar en la resolucin de problemas reales que requieran su
creatividad, ingenio, conocimiento y manejo de diferentes estructuras
de datos y algoritmos que pueden ser aplicados en cualquier campo
de las ciencias.
Ingeniera en Sistemas Computacionales

5
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
OBETI!O GENERAL
Proporcionar una gua de prcticas que permita al alumno aplicar
los conocimientos tericos que adquirir en el transcurso de la
asignatura de Estructura de datos, con el fin de que mediante
problemas hipotticos y simulados sea capaz de establecer el vnculo
entre su medio ambiente acadmico y su proyeccin profesional.
lgualmente y a travs de la metodologa prctica, se pretende
inducir al alumno a la disciplina de la investigacin y a la relacin
profesional, al establecer el enlace con el docente y al fomentar
criterios y normas disciplinarias con el mbito que lo rodea.
Ingeniera en Sistemas Computacionales

6
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
CONTENIDO DE LA PRCTICA
l. NMERO DE LA PRACTlCA: Cada uno de los entes abstractos que forman
la serie ordenada de prcticas y que indican la secuencia de las mismas.
2. NOMBRE: Ttulo para designar la prctica correspondiente al programa de
estudio de la materia.
3. APARTADO lNVOLUCRADO DEL PROGRAMA DE ESTUDlO:
Correspondencia del contenido de la prctica con la teora de los temas del
programa de estudio.
4. OBJETlVO: Propsito educativo que se pretende o se desea alcanzar al
trmino de la prctica.
5. MATERlAL Y EQUlPO: Determinacin del material y equipo que se utilizar
en el desarrollo de la prctica.
6. METODOLOGlA: Conjunto de mtodos, tcnicas y procedimientos
didcticos, as como de las experiencias de aprendizaje que ayudan al
desarrollo del proceso enseanza aprendizaje, con el fin de alcanzar un
autntico proceso educativo.
7. SUGERENClAS DlDACTlCAS: Apoyo sugerido para complementar el
aprendizaje en la prctica.
Ingeniera en Sistemas Computacionales

7
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
REPORTE DE RESULTADOS
Para cada una de las practicas se deber entregar un reporte, el cual debe incluir:
Ttulo de la prctica
Anlisis de la prctica (media cuartilla mnimo)
Diagramas de clases de la aplicacin
Diagramas de flujo de cada mtodo de las clases definidas
Listado de cdigo fuente documentado
Conclusiones de la prctica(como desarrollo la prctica, a que resultados
lleg, que problemas se presentaron, y que dudas no pudo resolver).
Bibliografia
CD grabado con la aplicacin funcionando.
Ingeniera en Sistemas Computacionales

8
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
PRCTICA N" #
N$%&'()
Manejo de Memoria
A*+',+-$ ./0$123'+-$ -(1 *'$4'+%+ -( (5,2-.$)
Unidad ll: Manejo de Memoria
2.lManejo de Memoria Esttica
2.2Manejo de Memoria Dinmica
O&6(,.0$)
Establecer la diferencia entre las variables estticas y dinmicas en una
aplicacin.
I/,'$-233.7/)
La memoria es el "almacn" donde se colocan desde el sistema operativo, el
compilador, el cdigo fuente y todas las variables y estructuras que se incluyen en
un programa. De la buena seleccin de una estructura depender el desempeo
de una aplicacin, de acuerdo al problema que se va a resolver, se deber elegir
una estructura que manipule Memoria Esttica o Memoria Dinmica.
M+,('.+1 8 E92.*$)
Computadora
Software para desarrollar mapas conceptuales
lnternet
Bibliografa propuesta
M(,$-$1$4:+)
1. Formar equipos de trabajo de 3 personas como mximo.
2. lnvestigar en lnternet y en la bibliografa propuesta y adicional sobre el
manejo de memoria esttica y dinmica.
3. lnvestigar en internet el modelo de memoria y como se distribuyen cada
uno de los elementos involucrados en una programa en este modelo.
4. Analizar e intercambiar conceptos y discutir lo que cada miembro el equipo
entendi.
5. Con las aportaciones y conclusiones de cada miembro del equipo debern
elaborar un mapa conceptual que incluya los aspectos ms importantes del
manejo de memoria.
S24('(/3.+5 -.-;3,.3+5)
Ingeniera en Sistemas Computacionales

9
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
Realizar lecturas correspondientes sobre manejo de memoria en el libro
8 referenciado en la Bibliografia al final de este documento en el
Capitulo l0: Asignacin Dinmica de Memoria.
Realizar investigacin en diferentes sitios de internet donde se trate este
tema.
Realizar cuadros sinpticos (por cada participante) donde se puntualice lo
que cada integrante del equipo haya entendido y considere importante.
En reunin de los integrantes del equipo presentar y discutir el punto de
vista de cada uno y obtener un solo resumen de las conclusiones que
obtuvieron.
Ingeniera en Sistemas Computacionales

10
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
PRCTICA N" 2
N$%&'()
Operaciones bsicas con Pilas Estticas y Dinmicas
A*+',+-$ ./0$123'+-$ -(1 *'$4'+%+ -( (5,2-.$)
Unidad lll: Estructuras Lineales Estticas y Dinmicas.
Tema 3.l Pilas
O&6(,.0$)
lmplementar una clase que defina las operaciones bsicas con la estructura de
datos Pila.
I/,'$-233.7/)
Para cada una de las aplicaciones que se pueden desarrollar, existe una
estructura que proporciona al programador cierta funcionalidad. Las estructuras de
tipo LlFO(Ultimo en entrar primero en salir) se utilizan en aplicaciones donde
necesitamos recuperar los datos en el orden inverso al cual fueron introducidos.
Es necesario conocer las operaciones bsicas sobre pilas para poder manipular la
estructura.
M+,('.+1 8 E92.*$)
Computadora
JDK l.6.
JCreator Pro. JCreator Le NetBeans (u otro lDE para Java)
M(,$-$1$4:+)
Crear una clase Pila, la cual defina un arreglo de tamao N el cual se
utilizar como estructura para implementar una Pila Estatica y definir las
operaciones de lnsercion (push), Eliminacion (pop) , pilaLlena y pilaVacia.
Crear una clase NodoP , la cual defina un nodo que ser utilizado para
definir una Pila Dinmica, definir una clase llamada PilaD en la cual se
implementen las operaciones de lnsercion (pushD), Eliminacion(popD) y
pilaVacia utilizando una lista simplemente ligada.
lmplementar 2 aplicaciones, una para probar la pila estatica y otra para
probar la pila dinmica mediante un men con las siguientes opciones:
lnsertar
Eliminar
Ingeniera en Sistemas Computacionales

11
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
Salir
S24('(/3.+5 -.-;3,.3+5)
Leer los fundamentos tericos expuestos en clase
Consultar otras fuentes para establecer los parmetros de la
implementacin de las operaciones bsicas sobre Pilas
Analizar los diagramas de flujo que se expusieron en clase.
Ingeniera en Sistemas Computacionales

12
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
PRCTICA N" <
N$%&'()
Algoritmo para conversin de una expresin de n!ijo a Pos!ijo
A*+',+-$ ./0$123'+-$ -(1 *'$4'+%+ -( (5,2-.$)
Unidad lll: Estructuras Lineales Estticas y Dinmicas.
Tema 3.l Pilas
O&6(,.0$)
Aplicar el concepto de pila en la conversin de expresiones
I/,'$-233.7/)
Una de las aplicaciones de las pilas est en la implementacin de compiladores,
para evaluar una expresin el compilador traduce la expresin a la notacin polaca
para permitir que sea ms fcil y rpido evaluarla y obtener el resultado. Aqu se
utiliza una pila de operadores para hacer dicha conversin.
M+,('.+1 8 E92.*$)
Computadora
JDK l.6.
JCreator Pro. JCreator Le NetBeans (u otro lDE para Java)
M(,$-$1$4:+)
lmplementar el algoritmo para conversin de expresiones analizado en clase,
utilizando las operaciones bsicas definidas en cualquiera de las clases definidas
en la prctica No.l0
lmplementar una aplicacin para convertir diferentes expresiones
S24('(/3.+5 -.-;3,.3+5)
Analizar el algoritmo expuesto en clase
Consultar otras fuentes
Ingeniera en Sistemas Computacionales

13
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
PRCTICA N" 4
N$%&'()
Algoritmo para la evaluacin de expresiones pos!ijas
A*+',+-$ ./0$123'+-$ -(1 *'$4'+%+ -( (5,2-.$)
Unidad lll: Estructuras Lineales Estticas y Dinmicas.
Tema 3.l Pilas
O&6(,.0$)
Aplicar el concepto de pila en la evaluacin de expresiones posfijas.
I/,'$-233.7/)
Una vez que la expresin es convertida por el compilador en notacin polaca o
polaca inversa se debe evaluar cada operando y cada operador para obtener el
resultado final de la operacin, aqu se utiliza una pila de operandos para ir
almacenando cada operando y el resultado de cada operacin.
M+,('.+1 8 E92.*$)
Computadora
JDK l.6.
JCreator Pro. JCreator Le NetBeans (u otro lDE para Java)
M(,$-$1$4:+)
lmplementar el algoritmo para evaluar expresiones posfijas proporcionando el
resultado, utilizando el algoritmo discutido en clase, utilizando las operaciones
bsicas definidas en cualquiera de las clases definidas en la prctica No.l0
lmplementar una aplicacin para evaluar diferentes expresiones posfijas.
S24('(/3.+5 -.-;3,.3+5)
Analizar el algoritmo expuesto en clase
Consultar otras fuentes de informacin como ligas electrnicas y la
bibliografa propuesta en el aula.
Ingeniera en Sistemas Computacionales

14
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
PRCTICA N" =
N$%&'()
Applet Evaluador
A*+',+-$ ./0$123'+-$ -(1 *'$4'+%+ -( (5,2-.$)
Unidad lll: Estructuras Lineales Estticas y Dinmicas.
Tema 3.l Pilas
O&6(,.0$)
Aplicar el concepto de pila en la conversin y evaluacin de expresiones posfijas.
I/,'$-233.7/)
Una manera de vincular la teora con la prctica es generar una aplicacin visual
en la cual se conjunte ambos conceptos, la conversin y la evaluacin, simulando
lo que hace un compilador.
M+,('.+1 8 E92.*$)
Computadora
JDK l.6.
JCreator Pro. JCreator Le NetBeans (u otro lDE para Java)
Algoritmos implementados en las practicas 2,3 y 4.
M(,$-$1$4:+)
lmplementar un Applet de Java, el cual permita capturar una expresin infija y al
presionar el botn <convertir> la convierta a posfijas, as mismo deber tener un
botn <evaluar> el cual inicie inhabilitado, hasta que la expresin infija haya sido
convertida a Posfija, al presionar el botn <evaluar> se solicitaran al usuario los
valores para cada variable y se mostrara el resultado de la evaluacin de la
expresin. La expresin de entrada se proporcionara con variables y puede llevar
cualquiera de los operadores aritmticos y/o parntesis. Deber proteger su applet
para casos en los cuales las areas de texto de captura estn vacas. La clase
Pila utilizada en esta aplicacin debe ser genrica, es decir su informacin debe
ser de tipo Object.
S24('(/3.+5 -.-;3,.3+5)
Consultar documentacin sobre el manejo de Applets en Java y sus
diferentes controles.
Analizar los diferentes algoritmos expuestos en clase.
Consultar otras fuentes de informacin.
Ingeniera en Sistemas Computacionales

15
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
PRCTICA N" 6
N$%&'()
Operaciones "undamentales sobre #olas de Espera $imple
A*+',+-$ ./0$123'+-$ -(1 *'$4'+%+ -( (5,2-.$)
Unidad lll: Estructuras Lineales Estticas y Dinmicas.
Tema 3.2 Colas
O&6(,.0$)
lmplementar una clase que defina las operaciones bsicas con la estructura de
datos Cola
I/,'$-233.7/)
Las estructuras de tipo FlFO (Primero en entrar, Primero en salir), tienen
aplicacin en el desarrollo de aplicaciones donde sea necesario recuperar los
datos en el mismo orden en que fueron insertados, es necesario conocer la
implementacin en operaciones fundamentales sobre estas estructuras.
M+,('.+1 8 E92.*$)
Computadora
JDK l.6.
JCreator Pro. JCreator Le NetBeans (u otro lDE para Java)
M(,$-$1$4:+)
Crear una clase Cola, la cual defina un arreglo de tamao N el cual se
utilizar como estructura para implementar una Cola Esttica y definir las
operaciones de meter, sacar , colaLlena y colaVacia.
Crear una clase NodoC , la cual defina un nodo que ser utilizado para
definir una Cola Dinmica, definir una clase llamada ColaD en la cual se
implementen las operaciones de meter, sacar y colaVacia utilizando una
lista simplemente ligada.
lmplementar 2 aplicaciones, una para probar la cola esttica y otra para
probar la cola dinmica mediante un men con las siguientes opciones:
lnsertar
Eliminar
Salir
Ingeniera en Sistemas Computacionales

16
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
S24('(/3.+5 -.-;3,.3+5)
Leer los fundamentos tericos expuestos en clase
Utilizar los diagramas de flujo analizados en clase
Consultar otras fuentes para establecer los parmetros de la
implementacin de las operaciones bsicas sobre Colas Simples
Analizar los diagramas de flujo que se expusieron en clase.
Ingeniera en Sistemas Computacionales

17
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
PRCTICA N" >
N$%&'()
Operaciones "undamentales sobre #olas de Espera #irculares
A*+',+-$ ./0$123'+-$ -(1 *'$4'+%+ -( (5,2-.$)
Unidad lll: Estructuras Lineales Estticas y Dinmicas.
Tema 3.2 Colas
O&6(,.0$)
lmplementar una clase que defina las operaciones bsicas con la estructura de
datos Cola Circular esttica y dinmica.
I/,'$-233.7/)
Dentro de las estructuras FlFO existe una variante la cual permite que las
operaciones fundamentales se lleven a cabo en menos tiempo, evitando
corrimientos, intercambios y accesos innecesarios a memoria.
M+,('.+1 8 E92.*$)
Computadora
JDK l.6.
JCreator Pro. JCreator Le NetBeans (u otro lDE para Java)
M(,$-$1$4:+)
Crear una clase ColaCircular, la cual defina un arreglo de tamao N el cual
se utilizar como estructura para implementar una Cola Esttica Circular y
definir las operaciones de meter, sacar , colaLlena y colaVacia.
Crear una clase NodoC , la cual defina un nodo que ser utilizado para
definir una Cola Dinmica Circular, definir una clase llamada ColaCircularD
en la cual se implementen las operaciones de meter, sacar y colaVacia
utilizando una lista simplemente ligada.
lmplementar 2 aplicaciones, una para probar la cola esttica circular y otra
para probar la cola dinmica circular mediante un men con las siguientes
opciones:
lnsertar
Eliminar
Salir
Ingeniera en Sistemas Computacionales

18
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
S24('(/3.+5 -.-;3,.3+5)
Leer los fundamentos tericos expuestos en clase
Utilizar los diagramas de flujo analizados en clase
Consultar otras fuentes para establecer los parmetros de la
implementacin de las operaciones bsicas sobre Colas Simples
Analizar los diagramas de flujo que se expusieron en clase.
Ingeniera en Sistemas Computacionales

19
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
PRCTICA N" 8
N$%&'()
$imulacion de un cajero automati%ado
A*+',+-$ ./0$123'+-$ -(1 *'$4'+%+ -( (5,2-.$)
Unidad lll: Estructuras Lineales Estticas y Dinmicas.
Tema 3.2 Colas
O&6(,.0$)
lmplementar una aplicacin controlada por tiempo utilizando como herramienta
auxiliar de desarrollo una cola en cualquiera de sus variantes.
I/,'$-233.7/)
Una de las aplicaciones de las colas de espera es la simulacin de eventos para
reducir tiempos de espera en lneas de produccin o servicios, una forma de
entender la funcionalidad que puede tener una cola de espera es simular procesos
de la vida real utilizando como herramienta una cola de espera.
M+,('.+1 8 E92.*$)
Computadora
JDK l.6.
JCreator Pro. JCreator Le NetBeans (u otro lDE para Java)
Clases definidas en las practicas 6 7
M(,$-$1$4:+)
Una simulacin conducida por tiempo es aquella en la que el programa tiene una
contador que representa a un reloj. Cada vez que se incrementa el contador pasa
l minuto. Las cosas que pueden suceder cada minuto y que deben almacenarse
son: Puede llegar un cliente, puede salir un cliente, la gente puede estar an
esperando en la fila.
Hagamos una lista de estas acciones y lo que habra que hacer cuando ocurran:
Si llega un cliente, ponerlo en la fila
Si el cajero esta libre, avanza un coche a la ventanilla. El tiempo de servicio
se pone a 5 mintos.
Si hay un cliente en la ventanilla, el tiempo que le queda a ese cliente para
estar servido debe decrementarse.
Si hay clientes en la fila, debe registrarse que tienen que permanecer en la
cola l minutos mas.
Podemos simular los eventos con un generador de nmeros aleatorios.
Si el numero aleatorio esta entre 0.0 y 0.2, ha llegado un cliente
Si el nmero aleatorio es mayor que 0.2 y menor que l.0, no ha llegado ningn
cliente.
Ingeniera en Sistemas Computacionales

20
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
Podemos simular que el cajero esta libre considerando que el tiempo que le queda
al cliente en la caja es 0, cuando un cliente entra para ser antendido el tiempo del
cajero se pone a 5 y se decrementa por cada minuto que pase en servicio, cuando
el tiempo llega a cero el cajero esta libre. Si llega un cliente hay que checar si la
caja esa libre, sino el cliente debe esperar un minuto ms en la cola. El objetivo es
saber cunto espera un cliente en la fila. Para esto deber contar el nmero de
clientes que llegaron y el tiempo de espera en la fila de todos los clientes, calcular
este tiempo para una caja y para dos cajas y determinar si al aumentar una caja
se mejora el tiempo de espera
S24('(/3.+5 -.-;3,.3+5)
Analizar el problema para determinar el tipo de estructura que es til como
auxiliar para la solucin del problema propuesto.
Ingeniera en Sistemas Computacionales

21
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
PRCTICA N" 9
N$%&'()
Operaciones bsicas en las listas simplemente ligadas
A*+',+-$ ./0$123'+-$ -(1 *'$4'+%+ -( (5,2-.$)
Unidad lll: Estructuras Lineales Estticas y Dinmicas.
Tema 3.3 Listas Enlazadas
3.3.l Listas Enlazadas Simples

O&6(,.0$)
El alumno implementar, utilizando un lenguaje de programacin, una clase y
despus una aplicacin donde se utilicen las operaciones bsicas sobre las listas
enlazadas simples.
I/,'$-233.7/)
Las Listas ligadas son las estructuras dinmicas por excelencia, permiten que el
tamao de la estructura pueda crecer o decrecer segn la necesidad de la
aplicacin, es importante conocer la implementacin y el funcionamiento de esta
estructura para poder posteriormente utilizar las clases definidas en el lenguaje
que permiten implementar las operaciones bsicas sobre la misma.
M+,('.+1 8 (92.*$)
Computadora
JDK l.6.
JCreator Pro. JCreator Le NetBeans (u otro lDE para Java)
M(,$-$1$4:+)
l. lmplementar una clase llamada Nodo que represente el nodo de la lista
simplemente ligada, donde la informacin que almacenara ser de tipo
entero.
2. lmplementar una clase llamada Lista que represente la lista simplemente
ligada y en donde se definirn las operaciones de insercin al frente,
insercin al final, insercin ordenada, bsqueda, eliminacin y recorrido.
Deber utilizar los diagramas de flujo vistos en clase para
implementar cada una de las operaciones descritas anteriormente.
3. lmplementar una aplicacin donde se defina un men para cada una de las
operaciones descritas en el apartado nmero 2.
S24('(/3.+5 -.-;3,.3+5)
Leer los fundamentos tericos expuestos en clase
Consultar otras fuentes para establecer los parmetros de la
implementacin de las operaciones bsicas sobre listas ligadas.
Ingeniera en Sistemas Computacionales

22
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
Analizar los diagramas de flujo que se expusieron en clase.
PRCTICA N" #0
N$%&'()
$uma de elementos de dos listas simplemente ligadas
A*+',+-$ ./0$123'+-$ -(1 *'$4'+%+ -( (5,2-.$)
Unidad lll: Estructuras Lineales Estticas y Dinmicas.
Tema 3.3 Listas Enlazadas.
3.3.l Listas Enlazadas Simples
O&6(,.0$)
Utilizar las operaciones bsicas sobre listas simplemente ligadas para resolver la
suma de nodos entre dos listas simplemente ligadas.
I/,'$-233.7/)
Es importante aprender a aplicar las Listas simplemente ligadas a la solucin de
un problema, utilizando como operaciones de entrada y salida las operaciones
bsicas sobre listas ligadas simples, esto marcara un fundamento para poder
utilizar las Clases definidas en el lenguaje para el manejo de esta estructura de
datos.
M+,('.+1 8 E92.*$)
Computadora
JDK l.6.
JCreator Pro. JCreator Le NetBeans (u otro lDE para Java)
Clase Nodo (Resultado de la prctica No. 2)
Clase Lista (Resultado de la prctica No. 2)
M(,$-$1$4:+)
1. lmplementar una aplicacin en la cual se defina un mtodo llamado
sumaListas el cual reciba como parmetro un objeto Lista, y devuelva un
objeto Lista, que ser el resultado de sumar 2 listas simplemente ligadas
que no necesariamente tendrn que ser del mismo tamao. El mtodo no
deber ser esttico para que sea invocado por un objeto de la clase lista.

Ingeniera en Sistemas Computacionales

23
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
2. La sumatoria ser un nodo de la listal con un nodo de la lista2, si alguna de
las dos listas termina primero deber pasar los nodos restantes a la tercera
lista.
3. Para crear las dos listas originales deber utilizar cualquiera de las
inserciones implementadas en la clase Lista.
Ingeniera en Sistemas Computacionales

24
8 3 9
7 7
12 15 5 9
2
2
2
5
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
PRCTICA N" ##
N$%&'()
Me%cla de listas simplemente ligadas
A*+',+-$ ./0$123'+-$ -(1 *'$4'+%+ -( (5,2-.$)
Unidad lll: Estructuras Lineales Estticas y Dinmicas.
Tema 3.3Listas Enlazadas Simples.
3.3.l Listas Enlazadas Simples.
O&6(,.0$)
Aprender a manejar las referencias a nodos de una lista simplemente ligada, de tal
forma que visualice la solucin para no perder nodos de las dos listas que se
estn mezclando.
I/,'$-233.7/)
Una forma de poder entender el funcionamiento de las Listas Ligadas simples es
crear aplicaciones donde permitan manipular las referencias a nodos sin perder
los dems nodos, esta aplicacin permite entender el manejo de las referencias en
las listas simplemente ligadas.
M+,('.+1 8 E92.*$)
Computadora
JDK l.6.
JCreator Pro. JCreator Le NetBeans (u otro lDE para Java)
Clase Nodo (Resultado de la prctica No. 2)
Clase Lista (Resultado de la prctica No. 2)
M(,$-$1$4:+)
l. Crear dos listas simplemente ligadas de nombres de personas utilizando
cualquiera de los algoritmos de insercin implementados en la clase Lista
de la practica No.2
2. Mezclar en una tercera lista los elementos de la primera lista intercalando
con elementos de la segunda lista, al final las dos primeras listas quedaran
vacas, no se deben crear nuevos nodos en la tercera lista.
Ingeniera en Sistemas Computacionales

25
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
3. Mostrar la lista resultante.
4. Deber prever que las listas no necesariamente sern del mismo tamao.
Ejemplo:
Ingeniera en Sistemas Computacionales

26
Ana Luz F!" L#$
P%&"! 'uan Lu#(
Ca"!(
Pa)!
P%&"! Ana 'uan Luz Lu#( F!" Pa)! L#$
Ca"!(
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
PRCTICA N" #2
N$%&'()
$uma de Polinomios
A*+',+-$ ./0$123'+-$ -(1 *'$4'+%+ -( (5,2-.$)
Unidad lll: Estructuras Lineales Estticas y Dinmicas.
Tema 3.3 Listas Enlazadas Simples.
3.3.l Listas Enlazadas Simples.
O&6(,.0$)
Aplicar las listas simplemente ligadas para resolver un problema matematico.
I/,'$-233.7/)
Es importante aprender a aplicar las Listas simplemente ligadas a la solucin de
un problema, utilizando como operaciones de entrada y salida las operaciones
bsicas sobre listas ligadas simples, esto marcara un fundamento para poder
utilizar las Clases definidas en el lenguaje para el manejo de esta estructura de
datos.
M+,('.+1 8 E92.*$)
Computadora
JDK l.6.
JCreator Pro. JCreator Le NetBeans (u otro lDE para Java)
Clase Nodo (Resultado de la prctica No. 2)
Clase Lista (Resultado de la prctica No. 2)
M(,$-$1$4:+)
lmplementar una aplicacin donde se representen dos polinomios, cada uno en
una lista simplemente ligada, ordenados por exponente. Los polinomios no
necesariamente tendrn el mismo nmero de trminos, cada nodo en las listas
estarn formadas por el coeficiente, el exponente y la referencia al nodo siguiente.
Para insertar los dos polinomios originales, deber utilizar una modificacin de la
insercin ordenada implementada en la clase Lista de la prctica No.2. Deber
implementar un mtodo que reciba las dos listas que contienen los polinomios a
sumar y devolver una tercera lista que ser el polinomio resultante de la suma.
Ingeniera en Sistemas Computacionales

27
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
Al final imprimir el polinomio resultante. Este mtodo deber implementarse fuera
de la clase Lista.(Ver ejemplo)
Si: polinomiol=
polinomio2=
Ingeniera en Sistemas Computacionales

28
3 5 *2 3 3 1
2 4 3 3 5 2
3 5 2 4 1 3 5 2
*10 0
2 0
*8 0
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
PRCTICA N" #<
N$%&'()
Operaciones bsicas en una lista doblemente ligada
A*+',+-$ ./0$123'+-$ -(1 *'$4'+%+ -( (5,2-.$)
Unidad lll: Estructuras Lineales Estticas y Dinmicas.
Tema 3.3 Listas Enlazadas.
3.3.2 Listas Enlazadas Dobles.
O&6(,.0$)
lmplementar una clase que contenga mtodos para cada una de las operaciones
bsicas sobre listas enlazadas dobles y una aplicacin donde se utilicen estas
operaciones.
I/,'$-233.7/)
Las Listas ligadas son las estructuras dinmicas por excelencia, permiten que el
tamao de la estructura pueda crecer o decrecer segn la necesidad de la
aplicacin, es importante conocer la implementacin y el funcionamiento de esta
estructura para poder posteriormente utilizar las clases definidas en el lenguaje
que permiten implementar las operaciones bsicas sobre la misma.
M+,('.+1 8 E92.*$)
Computadora
JDK l.6.
JCreator Pro. JCreator Le NetBeans (u otro lDE para Java)
M(,$-$1$4:+)
l. lmplementar una clase llamada NodoD que represente el nodo de la lista
doblemente ligada, donde la informacin que almacenara ser de tipo
entero.
2. lmplementar una clase llamada ListaD que represente la lista doblemente
ligada y en donde se definirn las operaciones de insercin al frente,
insercin al final, insercin ordenada, bsqueda, eliminacin, recorrido y
recorrido inverso.
Deber utilizar los diagramas de flujo vistos en clase para
implementar cada una de las operaciones descritas anteriormente.
3. lmplementar una aplicacin donde se defina un men para cada una de las
operaciones descritas en el apartado nmero 2.
S24('(/3.+5 -.-;3,.3+5)
Leer los fundamentos tericos expuestos en clase
Consultar otras fuentes para establecer los parmetros de la
implementacin de las operaciones bsicas sobre listas ligadas.
Analizar los diagramas de flujo que se expusieron en clase.
Ingeniera en Sistemas Computacionales

29
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
PRCTICA N" #4
N$%&'()
$uma de n&meros arbitrariamente grandes
A*+',+-$ ./0$123'+-$ -(1 *'$4'+%+ -( (5,2-.$)
Unidad lll: Estructuras Lineales Estticas y Dinmicas
Tema 3.3Listas Enlazadas
. 3.3.2 Listas Enlazadas Dobles.
O&6(,.0$)
Aplicar una lista doblemente ligada para sumar dos nmeros arbitrariamente
grande, donde cada nodo de la lista doblemente ligada representara un digito del
numero, y la lista resultante ser el numero que resulte de la suma de los dos
primeros.
I/,'$-233.7/)
La utilidad que puede tener una bicola o lista doblemente ligadas se demuestra en
el desarrollo de la solucin de la problemtica planteada en esta prctica donde
podemos aprovechar la funcionalidad de poder recorrer el conjunto de elementos
en ambos sentidos.
M+,('.+1 8 E92.*$)
Computadora
JDK l.6.
JCreator Pro. JCreator Le NetBeans (u otro lDE para Java)
Clase ListaD
M(,$-$1$4:+)
1. lmplementar una aplicacin en donde se defina un mtodo que lea digito a
digito cada uno de los nmeros a sumar y los almacene en una lista
doblemente ligada utilizando el algoritmo de insercin al final.
2. lmplementar un mtodo que reciba como parmetro las listas doblemente
ligadas que contienen cada uno de los nmeros y devuelva como resultado
una lista doblemente ligada que representa el nmero resultante. Deber
considerar los acarreos al ir sumando cada digito, esto es cuando la suma
de cmo resultado l0 o ms deber guardar el acarreo para sumarlo en la
siguiente suma de dgitos por ejemplo si la suma da como resultado l2 el
nmero a guardar en la tercera lista el 2 y el l es el acarreo que se sumara
al siguiente digito.
Ingeniera en Sistemas Computacionales

30
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
3. En el main de la aplicacin debe crear tres objetos que la clase ListaD, dos
para almacenar los nmeros originales y el tercer objeto para almacenar el
resultado. Ver ejemplo:
Ingeniera en Sistemas Computacionales

31
3 4 5 7
3 6 8 6
7 1 4 4
3 4
2
5
7
1
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
PRCTICA N" #=
N$%&'()
$eparar en dos una lista doblemente ligada
A*+',+-$ ./0$123'+-$ -(1 *'$4'+%+ -( (5,2-.$)
Unidad lll: Estructuras Lineales Estticas y Dinmicas.
Tema 3.3 Listas Enlazadas.
3. 3.2 Listas Enlazadas Dobles.
O&6(,.0$)
Aprender a manipular las referencias en las listas doblemente ligadas.
I/,'$-233.7/)
Una forma de poder entender el funcionamiento de las Listas Ligadas dobles es
crear aplicaciones donde permitan manipular las referencias a nodos sin perder
los dems nodos, esta aplicacin permite entender el manejo de las referencias en
las listas doblemente ligadas.
M+,('.+1 8 E92.*$)
Computadora
JDK l.6.
JCreator Pro. JCreator Le NetBeans (u otro lDE para Java)
Clase ListaD
M(,$-$1$4:+)
1. lmplementar una aplicacin que contenga un mtodo que reciba una lista
doblemente ligada como parmetro la cual contendr nmeros enteros y
muestre las dos listas resultantes de separar la lista original.
2. El criterio de separacin de las dos listas ser los nmeros primos se
enviaran a una lista y los nmeros no primos se enviaran a otra lista.
3. Recuerde que los nmeros primos son aquellos que solo son divisibles
entre ellos mismos y la unidad.
4. La lista original desaparecer despus de hacer la separacin.
5. En el main deber crear tres objetos de la clase ListaD, uno que ser la lista
original y los otros dos que sern las listas resultantes de la separacin.
Ingeniera en Sistemas Computacionales

32
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
6. La primera lista se llenara con la insercin al final y para las listas
resultantes de utilizara la insercin al final.


Ingeniera en Sistemas Computacionales

33
8 1 3 6 7 4
8 6
13
4
7
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
PRCTICA N" #6
N$%&'()
mplementacin de una 'ista 'igada (en)rica
A*+',+-$ ./0$123'+-$ -(1 *'$4'+%+ -( (5,2-.$)
Unidad lll: Estructuras Lineales Estticas y Dinmicas.
Tema 3.3 Listas Enlazadas.
3.3.2 Listas Enlazadas Dobles.
O&6(,.0$)
Aprender a implementar listas genricas(Object)
I/,'$-233.7/)
Las listas ligadas genricas, tienen una gran funcionalidad, y en ellas se aplica el
concepto de reutilizacin, ya que al declarar de tipo Object la informacin de esta,
permitimos que la estructura este preparada para poder recibir datos de cualquier
tipo y con esto evitar el repetir la definicin de cdigo para cada tipo de dato.
M+,('.+1 8 E92.*$)
Computadora
JDK l.6.
JCreator Pro. JCreator Le NetBeans (u otro lDE para Java)
M(,$-$1$4:+)
lmplementar una clase NodoG, el cual contenga como tipo Object al atributo
informacin.
lmplementar una clase ListaG, la cual contenga la definicin de las operaciones
bsicas sobre listas ligadas utilizando el tipo Object como informacin a ser
almacenada, eliminada, segn corresponda.
Crear una aplicacin donde se utilice una lista genrica para realizar operaciones
bsicas de lnsercin, Eliminacin y Bsqueda
S24('(/3.+5 -.-;3,.3+5)
lnvestigar sobre comparacin de objetos de tipo Object
Revisar la teora expuesta en clase
Revisar las operaciones sobre listas ligadas
Ingeniera en Sistemas Computacionales

34
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
PRCTICA N" #>
N$%&'()
Algoritmos *ecursivos
A*+',+-$ ./0$123'+-$ -(1 *'$4'+%+ -( (5,2-.$)
Unidad lV: Recursividad
Tema 4.l, 4.2, 4.3,4.4
I/,'$-233.7/)
La recursividad es una herramienta muy poderosa en la programacin que permite
que se reduzca considerablemente el cdigo de un algoritmo para la solucin de
un problema, existen versiones iterativas que al compararlas contra soluciones
recursivas mejoran considerablemente el diseo de la solucin, contra las
desventajas que pudiera presentar la implementacin recursiva de algoritmos
iterativos, son mas los beneficios que se obtienen.
O&6(,.0$)
Aprender y aplicar los conceptos de recursividad, definir soluciones recursivas e
implementar mtodos recursivos eficientes.
M+,('.+1 8 E92.*$)
Computadora
JDK l.6.
JCreator Pro. JCreator Le NetBeans (u otro lDE para Java)
M(,$-$1$4:+)
Analizar e implementar las versiones iterativas y recursivas de los
siguientes problemas:
Sumatoria de los n nmeros naturales
Factorial de un numero
Serie Fibonacci
Potencia de un numero
Algoritmo de Euclides
Conversin de un nmero decimal a binario, octal y
hexadecimal
Torres de Hanoii
S24('(/3.+5 -.-;3,.3+5)
Definir el modelo recursivo de cada problema
lmplementar la versin iterativa
lmplementar la versin recursiva
Ingeniera en Sistemas Computacionales

35
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
PRCTICA N" #8
N$%&'()
Operaciones bsicas sobre Arboles +inarios de +&s,ueda
A*+',+-$ ./0$123'+-$ -(1 *'$4'+%+ -( (5,2-.$)
Unidad V: Arboles
Tema 5.2 Operaciones bsicas sobre arboles binarios
O&6(,.0$)
lmplementar las operaciones bsicas en rboles binarios de bsqueda
I/,'$-233.7/)
La estructura de rbol es muy socorrida en soluciones donde se requiera que los
datos se relacionen con diferentes datos y en diferente forma, tambin son muy
tiles en la representacin de expresiones binarias, arboles de bsqueda que
hacen la las bsquedas de datos sean mas rpidas que en una bsqueda
secuencial en una lista lineal
M+,('.+1 8 E92.*$)
Computadora
JDK l.6.
JCreator Pro. JCreator Le NetBeans (u otro lDE para Java)
M(,$-$1$4:+)
Definir una clase NodoA para representar el nodo de un rbol binario
Definir una clase Arbol para implementar las operaciones de insercin,
insercin recursiva, eliminacin, bsqueda de un dato y los recorridos
enorden, preorden y posorden.
Definir una aplicacin para probar cada una de estas operaciones:
lnsercin
Eliminacin
Bsqueda
Recorridos
Salir
S24('(/3.+5 -.-;3,.3+5)
Leer los fundamentos tericos expuestos en clase
Consultar otras fuentes para establecer los parmetros de la
implementacin de las operaciones bsicas sobre Arboles Binarios de
bsqueda.
Analizar los diagramas de flujo que se expusieron en clase.
Ingeniera en Sistemas Computacionales

36
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
PRCTICA N" #9
N$%&'()
Diccionario Espa-ol.ngles
A*+',+-$ ./0$123'+-$ -(1 *'$4'+%+ -( (5,2-.$)
Unidad V: Arboles
Tema 5.2 Operaciones bsicas sobre arboles binarios
O&6(,.0$)
Utilizar las operaciones bsicas sobre arboles para la solucin de un problema
I/,'$-233.7/)
La estructura de rbol es muy socorrida en soluciones donde se requiera que los
datos se relacionen con diferentes datos y en diferente forma, tambin son muy
tiles en la representacin de expresiones binarias, arboles de bsqueda que
hacen la las bsquedas de datos sean mas rpidas que en una bsqueda
secuencial en una lista lineal
M+,('.+1 8 E92.*$)
Computadora
JDK l.6.
JCreator Pro. JCreator Le NetBeans (u otro lDE para Java)
M(,$-$1$4:+)
Generar un archivo de texto, el cual contenga palabras en espaol y su
correspondiente significado en ingles, organizado en dos columnas
Subir el contenido del archivo en un rbol binario de bsqueda, organizado
por la palabra en espaol
Definir un applet el cual al momento de ser cargado, permita realizar de
manera automtica y transparente la operacin anterior.
El applet traductor deber permitir traducir cualquier palabra del espaol al
ingles, deber permitir dar de alta nuevas palabras verificando que la
palabra no este ya contenida en el diccionario
Al finalizar el contenido del rbol ser nuevamente almacenado en un
archivo de texto con el mismo formato que el original
Deber utilizar la clase rbol definida en la prctica No. l8 de este manual.
S24('(/3.+5 -.-;3,.3+5)
Leer los fundamentos tericos expuestos en clase
Ingeniera en Sistemas Computacionales

37
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
Consultar otras fuentes para establecer los parmetros de la
implementacin de las operaciones bsicas sobre Arboles Binarios de
bsqueda.
Analizar los diagramas de flujo que se expusieron en clase.
PRCTICA N" 20
N$%&'()
Applet didctico ,ue muestre como !uncionan los algoritmos de ordenamiento
nterno
A*+',+-$ ./0$123'+-$ -(1 *'$4'+%+ -( (5,2-.$)
Unidad Vl: Algortimos de Ordenamiento lnterno
Tema: TODOS
I/,'$-233.7/)
En computacin y matemticas un +14$'.,%$ -( $'-(/+%.(/,$ es un algoritmo
que pone elementos de una lista o un vector en una secuencia dada por una
relacin de orden, es decir, el resultado de salida ha de ser una permutacin o
reordenamiento de la entrada que satisfaga la relacin de orden dada. Las
relaciones de orden ms usadas son el orden numrico y el orden lexicogrfico.
Ordenamientos eficientes son importantes para optimizar el uso de otros
algoritmos (como los de bsqueda y fusin) que requieren listas ordenadas para
una ejecucin rpida. Tambin es til para poner datos en forma cannica y para
generar resultados legibles por humanos
O&6(,.0$)
Demostrar como funcionan los algoritmos de ordenamiento interno en forma
grfica.
M+,('.+1 8 E92.*$)
Computadora
JDK l.6.
JCreator Pro. JCreator Le NetBeans (u otro lDE para Java)
M(,$-$1$4:+)
Definir un applet o un Frame que contenga botones con cada uno de los
mtodos de ordenamiento interno y un botn de grafica comparativa.
Al presionar el botn se deber mostrar una animacin que muestre de
manera grfica el como va ordenando los elementos dicho mtodo
Al presionar el botn de <grafica comparativa> deber mostrar una grafica o
histograma comparativo donde muestre el tiempo que tardo cada algoritmo
en ordenar la misma muestra de datos.
Los datos se generan de manera aleatoria y el usuario definir el tamao de
la muestra mediante botones de radio o una lista desplegable.
Ingeniera en Sistemas Computacionales

38
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
S24('(/3.+5 -.-;3,.3+5)
Analizar los fundamentos tericos expuestos en clase
Analizar cada uno de los algoritmos
lnvestigar sobre el diseo de interfaz grafica en Java
Discutir cual es el algoritmo mas efectivo y por qu.
Ingeniera en Sistemas Computacionales

39
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
PRCTICA N" 2#
N$%&'()
"rame didctico ,ue compare los m)todos de ordenamiento externo
A*+',+-$ ./0$123'+-$ -(1 *'$4'+%+ -( (5,2-.$)
Unidad Vll: Algortimos de Ordenamiento Externo
Tema: TODOS
I/,'$-233.7/)
Ordenamiento externo es un trmino genrico para los algoritmos de
ordenamiento que pueden manejar grandes cantidades de informacin. El
ordenamiento externo se requiere cuando la informacin que se tiene que ordenar
no cabe en la memoria principal de una computadora (tpicamente la RAM) y un
tipo de memoria ms lenta (tpicamente un disco duro) tiene que utilizarse en el
proceso
O&6(,.0$)
Mostar un comparativo de eficiencia de los algoritmos de ordenamiento externo en
forma grfica.
M+,('.+1 8 E92.*$)
Computadora
JDK l.6.
JCreator Pro. JCreator Le NetBeans (u otro lDE para Java)
M(,$-$1$4:+)
Definir un Frame que permita ordenar dos archivos, previamente generados
por los algortimos externos de mezcla directa y mezcla natural.
Debera mostar una grafica comparativa donde imprima el tiempo que tardo
cada mtodo en ordenar la misma muestra de datos
El Frame deber permitir al usuario generar el archivo a ordenar con
nmeros aleatorios y con un tamao que podr definir con botones de
radio, chek boxes o listas deplegables.
S24('(/3.+5 -.-;3,.3+5)
Analizar los fundamentos tericos expuestos en clase
Analizar cada uno de los algoritmos
lnvestigar sobre el diseo de interfaz grafica en Java
Discutir cual es el algoritmo mas efectivo y por qu.
Ingeniera en Sistemas Computacionales

40
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
PRCTICA N" 22
N$%&'()
"rame didctico ,ue muestre el !uncionamiento y compare los m)todos de
b&s,ueda secuencial y binario
A*+',+-$ ./0$123'+-$ -(1 *'$4'+%+ -( (5,2-.$)
Unidad Vlll: Algortimos de Busqueda
Tema: Busqueda Secuencial y Binaria
O&6(,.0$)
Mostar un comparativo de eficiencia de los algoritmos de bsqueda secuencial y
binaria
I/,'$-233.7/)
Un algoritmo de bsqueda es aquel que est diseado para localizar un elemento
concreto dentro de una estructura de datos. Consiste en solucionar un problema
booleano de existencia o no de un elemento determinado en un conjunto finito de
elementos, es decir, si el elemento en cuestin pertenece o no a dicho conjunto,
adems de su localizacin dentro de ste.
M+,('.+1 8 E92.*$)
Computadora
JDK l.6.
JCreator Pro. JCreator Le NetBeans (u otro lDE para Java)
M(,$-$1$4:+)
Definir un Frame que permita buscar un dato dado por el usuario en un
conjunto de datos mediante el algoritmo de bsqueda secuencial o
bsqueda binaria segn la eleccin del usuario y reportar el tiempo que
tardo la bsqueda.
Debera permitir generar un comparativo de ambas bsquedas.
El Frame deber permitir al usuario generar la muestra de datos con
nmeros aleatorios y con un tamao que podr definir con botones de
radio, chek boxes o listas deplegables.
S24('(/3.+5 -.-;3,.3+5)
Analizar los fundamentos tericos expuestos en clase
Analizar cada uno de los algoritmos
lnvestigar sobre el diseo de interfaz grafica en Java
Discutir cual es el algoritmo mas efectivo y por qu.
Ingeniera en Sistemas Computacionales

41
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
PRCTICA N" 2<
N$%&'()
"rame ,ue permita reali%ar la b&s,ueda de un dato por medio de una tabla /as0
A*+',+-$ ./0$123'+-$ -(1 *'$4'+%+ -( (5,2-.$)
Unidad Vlll: Algortimos de Busqueda
Tema: Tablas Hash
O&6(,.0$)
Realizar la bsqueda de datos mediante las Tablas Hash
I/,'$-233.7/)
Una tabla hash o mapa hash es una estructura de datos que asocia llaves o
claves con valores. La operacin principal que soporta de manera eficiente es la
b&s,ueda: permite el acceso a los elementos (telfono y direccin, por ejemplo)
almacenados a partir de una clave generada (usando el nombre o nmero de
cuenta, por ejemplo). Funciona transformando la clave con una funcin hash en un
0as0, un nmero que la tabla hash utiliza para localizar el valor deseado.
M+,('.+1 8 E92.*$)
Computadora
JDK l.6.
JCreator Pro. JCreator Le NetBeans (u otro lDE para Java)
M(,$-$1$4:+)
Definir un frame que permita realizar la bsqueda de un dato mediante
Tablas Hash
El frame deber permitir generar de manera aleatoria la lista de datos a
buscar de un tamao definido por el usuario.
Al finar reportara el tiempo que tardo en realizar dicha bsqueda.
S24('(/3.+5 -.-;3,.3+5)
Analizar los fundamentos tericos expuestos en clase
Analizar cada uno de los algoritmos
lnvestigar sobre el diseo de interfaz grafica en Java
Discutir cual es el algoritmo mas efectivo y por qu.
Ingeniera en Sistemas Computacionales

42
MANUAL DE PRACTICAS DE ESTRUCTURA DE DATOS.
BIBLIOGRA?A
#.-E5,'23,2'+ -( D+,$5
Autor1 2ell Dalle 3 $usan #4 'illy
Editorial1 Mc(ra5./ill
2.-E5,'23,2'+ -( D+,$5 (/ +0+
Autor1 Luis Joyanes Aguilar.
Editorial1 McGraw-Hill.
<.-P'$4'+%+3.7/ (/ +0+2.
Autor1 Luis Joyanes Aguilar.
Editorial1 Mc(ra5./ill
4.-E5,'23,2'+ -( -+,$5 (/ +0+
Autor1 Mar6 Allen 7eiss4
Editorial1 Addisson 7esley
=.-C$%$ P'$4'+%+' (/ +0+2
Autor: Deitel y Deitel
Editorial:Prentice- Hall
6.-E5,'23,2'+ -( D+,$5 8 +14$'.,%$5
Autor: Aho/Hopcroft/Ullman
Editorial:Addison Wesley.
>.-E5,'23,2'+ -( D+,$5 3$/ +0+
Autor: John Lewis / Joseph Chase
Editorial:Addison Wesley.
8.-P'$4'+%+3.$/ (/ C@@
Autor: Luis Joyanes Aguilar
Editorial:McGraw Hill
Ingeniera en Sistemas Computacionales

43

You might also like