Вы находитесь на странице: 1из 47

UNIVERSIDAD TCNICA PARTICULAR DE LOJA

La Universidad Catlica de Loja

MODALIDAD ABIERTA Y A DISTANCIA

ESCUELA DE CIENCIAS DE LA COMPUTACIN


Gua didctica

ESTRUCTURA DE DATOS Y
ALGORITMOS II

3
CARRERA: Ingeniera en Informtica AUTOR: Franco Olivio Guamn Bastidas

Reciba asesora virtual en: www.utpl.edu.ec


18301

ESTRUCTURA DE DATOS Y ALGORITMOS II


Gua didctica

Franco Olivio Guamn Bastidas UNIVERSIDAD TCNICA PARTICULAR DE LOJA CC Ecuador 3.0 By NC ND Diagramacin, diseo e impresin: EDITORIAL DE LA UNIVERSIDAD TCNICA PARTICULAR DE LOJA Call Center: 593 - 7 - 2588730, Fax: 593 - 7 - 2585977 C. P.: 11- 01- 608 www.utpl.edu.ec San Cayetano Alto s/n Loja - Ecuador Derecho de Autor No.- 021431 Cuarta edicin Segunda reimpresin ISBN-978-9942-00-729-2

Esta versin impresa, ha sido licenciada bajo las licencias Creative Commons Ecuador 3.0 de Reconocimiento -No comercial- Sin obras derivadas; la cual permite copiar, distribuir y comunicar pblicamente la obra, mientras se reconozca la autora original, no se utilice con fines comerciales ni se realicen obras derivadas. http://www.creativecommons.org/licences/by-nc-nd/3.0/ec/
Octubre, 2011

NDICE
TEM PGINA

INTRODUCCIN ........................................................................................................................................... 5 OBJETIVOS GENERALES .......................................................................................................................... 6 BIBLIOGRAFA ............................................................................................................................................... 6 ORIENTACIONES GENERALES ............................................................................................................... 7

PRIMER BIMESTRE
OBJETIVOS ESPECFICOS......................................................................................................................... 9 CONTENIDOS ................................................................................................................................................ 10 DESARROLLO DEL APRENDIZAJE........................................................................................................ 11 CAPTULO 1: RECURSIVIDAD .............................................................................................................................. 11 CAPTULO 2: ARCHIVOS (FICHEROS) .............................................................................................................. 16 CAPTULO 3: ESTRUCTURAS JERRQUICAS Y RBOL BINARIO DE BSQUEDA .................... 21

SEGUNDO BIMESTRE
OBJETIVOS ESPECFICOS......................................................................................................................... 27 CONTENIDOS ................................................................................................................................................ 28 DESARROLLO DEL APRENDIZAJE........................................................................................................ 29 CAPTULO 4: RBOLES BALANCEADOS ........................................................................................................ 29 CAPTULO 5: RBOLES B ...................................................................................................................................... 33 CAPTULO 6: GRAFOS ............................................................................................................................................. 37 SOLUCIONARIO ............................................................................................................................................ 41 ANEXOS........................................................................................................................................................... 47

EVALUACIONES A DISTANCIA

PRELIMINARES

Gua didctica: Estructura de Datos y Algoritmos II

Introduccin
El estudio de las Estructuras de Datos es sumamente importante, debido a la necesidad de manipular la informacin de manera adecuada y oportuna. El objetivo principal es el de procurar que los algoritmos aplicados funcionen en un adecuado tiempo de ejecucin. Es por ello de la importancia de aprender acerca de las Estructuras de Datos, y de cmo manipular la informacin a travs de ordenamientos, bsquedas, organizacin, mtodos de acceso, etc. Esta gua est dedicada al estudio de las Estructuras de Datos y a dar una breve introduccin al anlisis de la eficiencia de algoritmos. El estudio de las Estructuras de Datos se har desde algunos puntos de vista, analizndolos primero desde el punto de vista terico pero sin perder de vista sus aplicaciones prcticas. En el primer bimestre nos centraremos en el estudio de las estructuras jerrquicas, o no lineales, esto es en el estudio de los rboles, en sus diferentes presentaciones. El segundo bimestre, estudiaremos el tratamiento de archivos y la implementacin de los temas anteriormente estudiados con stos archivos para terminar con el estudio de grafos. Esta gua ha sido elaborada tratando de que la informacin en ella contenida se encuentre de la manera ms entendible y amigable para los estudiantes, por lo cual estoy seguro que con su ayuda y la del libro base el estudiante superar fcilmente el reto planteado, buena suerte. Referencias http://www.conclase.net/c/edd/index.php?cap=007 http://www.monografias.com/trabajos10/esda/esda.shtml http://dis.um.es/~ginesgm/temas/tema3-1/sld014.htm http://www.monografias.com/trabajos16/grafos/grafos.shtml

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

Gua didctica: Estructura de Datos y Algoritmos II

PRELIMINARES

Objetivo general
Introducir al estudiante en la comprensin adecuada del manejo de las Estructuras de Datos y Algoritmos, en esencia en lo que se refiere al almacenamiento y procesamiento de informacin.

Bibliografa
Texto Base PROGRAMACIN EN C, Metodologa, algoritmos y estructura de datos, Luis Joyanes Aguilar / Ignacio Zahonero Martnez, 2da Edicin. Mc Graw Hill, 2005. Espaa. ISBN 84-481-9844-1 Bibliografa Complementaria AlGORITMOS y ESTRUCTURAS DE DATOS, Una perspectiva en C, Luis Joyanes Aguilar / Ignacio Zahonero Martnez, 1ra Edicin. Mc Graw Hill, 2004. Espaa. PROGRAMACIN EN C++, Algoritmos, estructuras de datos y objetos, L. Joyanes Aguilar, Editorial Mc Graw-Hill, Madrid-Espaa, 2000. ESTRUCTURA DE DATOS, Algoritmos, abstraccin y objetos. Luis Joyanes Aguilar e Ignacio Zahonero Martnez, Editorial McGraw-Hill, Espaa, 1999.

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

PRELIMINARES

Gua didctica: Estructura de Datos y Algoritmos II

Orientaciones generales
Usted debe tomar en cuenta las siguientes consideraciones, las que estn dirigidas a ayudarle a lograr un completo aprovechamiento en el desarrollo de la presente materia. Organice adecuadamente su tiempo, de manera que pueda cumplir con los objetivos planteados en la presente gua. Lea detenidamente el texto base, tratando de comprender y entender los temas que se abordan. Es conveniente que usted realice las tareas de acuerdo a las fechas indicadas, esto garantiza la asimilacin progresiva del conocimiento, ya que la complejidad de las tareas ser gradual. Conteste las cuestiones de repaso que se encuentran al final de cada captulo y compare sus respuestas con las presentadas al final de la gua. Realice los ejercicios propuestos tambin al final de cada captulo y comparta sus opiniones y aportes en los foros programados para cada captulo. Es importante que cualquier duda que el alumno tenga se lo haga saber al profesor va telefnica o por correo electrnico. Antes de empezar, algunas referencias importantes hacia el libro base, Internet,. documentos relacionados o sugerencias personales, sern mostradas dentro de un recuadro que lo diferencie del resto del texto.

Apoyo tecnolgico e Interactividad Para usted ya es familiar, que cuenta con el apoyo tecnolgico de una plataforma o entorno virtual de aprendizaje (EVA) www.utpl.edu.ec, este entorno, accesible nicamente para los estudiantes de la UTPL, le permite interactuar con docentes y compaeros. Consulte con frecuencia el espacio ANUNCIOS donde encontrar informacin y orientaciones sobre el desarrollo de esta asignatura. Desde este semestre se empieza a calificar su participacin a travs del Campus Virtual, interacte a travs de los foros.

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

Gua didctica: Estructura de Datos y Algoritmos II

PRIMER BIMESTRE PRELIMINARES

Plan de desarrollo de contenidos La materia consta de dos bimestres, los contenidos en funcin del texto base son: PRIMER BIMESTRE Captulos de Texto Base Captulo 8. Recursividad Captulo 15. Entradas y salidas por archivos Captulo 16. Organizacin de datos en archivos Captulo 20. rboles Pginas Horas 290 - 313 10 500 - 528 5 532 - 564 15 656 - 696 10 40

SEGUNDO BIMESTRE Anexo 1. rboles equilibrados de bsqueda Anexo 2. rboles B Anexo 3. Grafos 15 15 10 40

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

PRIMER BIMESTRE

Gua didctica: Estructura de Datos y Algoritmos II

PRIMER BIMESTRE
Objetivos especcos
Los objetivos especficos de la materia, en funcin de los captulos que se van a desarrollar son: 1. 2. 3. 4. 5. 6. 7. Estudio de las estructuras de datos ms utilizadas. Construir algoritmos de ordenamiento utilizando estructuras. Determinar la mejor estructura para obtener una ptima solucin. Determinacin del mejor algoritmo de bsqueda, en relacin a la cantidad de datos. Realizar el tratamiento de archivos en C y C++ Procesar archivos de organizacin secuencial y de acceso directo. Trabajar con algoritmos de ordenacin en memoria y ordenacin externa

No olvide que debe acceder al campus virtual para interactuar con el tutor y sus compaeros, adems de que podr descargar informacin de la materia.

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

Gua didctica: Estructura de Datos y Algoritmos II

PRIMER BIMESTRE

Contenidos
CAPTUlO 1: RECURSIVIDAD DATOS GENERALES PROPSITO CONCEPTOS CLAVE ESQUEMA DE ESTUDIO CUESTIONES DE REPASO CAPTULO INTERACTIVIDAD A TRAVS DE LOS FOROS DE CAMPUS VIRTUAL DOCUMENTACIN ADICIONAL CAPTUlO 2: ARCHIVOS (FICHEROS) DATOS GENERALES PROPSITO CONCEPTOS CLAVE ESQUEMA DE ESTUDIO CUESTIONES DE REPASO CAPTULO 2 INTERACTIVIDAD A TRAVS DE LOS FOROS DE CAMPUS VIRTUAL DOCUMENTACIN ADICIONAL CAPTUlO 3: ESTRUCTURAS JERRQUICAS y RBOl BINARIO DE BSQUEDA DATOS GENERALES PROPSITO CONCEPTOS CLAVE ESQUEMA DE ESTUDIO CUESTIONES DE REPASO CAPTULO 3 INTERACTIVIDAD A TRAVS DE LOS FOROS DE CAMPUS VIRTUAL DOCUMENTACIN ADICIONAL

10

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

PRIMER BIMESTRE

Gua didctica: Estructura de Datos y Algoritmos II

Desarrollo del aprendizaje


Captulo 1:
Datos Generales: Texto base Captulo Pginas PROGRAMACION EN C, Metodologa, algoritmos y estructura de datos, Luis Joyanes Aguilar / Ignacio Zahonero Martnez. 8. Recursividad 290 313 Propsito El propsito de este captulo es introducir en el conocimiento de las funciones recursivas, diferencias, ventajas y desventajas frente a las funciones iterativas, entender los pasos que siguen los lenguajes de programacin al llamar a subprogramas, hacer el seguimiento de una funcin que realiza llamadas recursivas, conocer tcnicas algortmicas aplicando recursividad, comparar la resolucin de un mismo problema por iteracin y por recursin. Conceptos Clave Recursividad Propiedad que posee una funcin por la cual dicha funcin puede llamarse a s misma Parte recursiva Es aquella sentencia encargada de realizar la llamada al proceso recursivo. Componente Base Tambin conocida como condicin de terminacin, es una parte imprescindible de una funcin recursiva, ya que sin ella nunca se terminaran de realizar las autollamadas, y se terminara por agotar la memoria de nuestro computador. Recursin Directa Cuando una funcin realiza un nmero determinado de llamadas a si misma hasta encontrar la condicin de terminacin de la recursin. Recursin Indirecta Cuando una funcin hace un llamado a otra, la que en un momento determinado har un nuevo llamado a la funcin que la llamo en un principio. Horas de estudio empleadas 10 horas

Recursividad

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

11

Esquema de estudio

12
Actividades recomendadas (fecha) Proponga algn programa en el cual nos resulta ms ventajoso utilizar recursividad que iteracin. Realice una corrida manual de los programas presentados en este apartado (en sus dos modalidades), para entender las diferencias existentes en su funcionamiento. Planificacin personal de estudio Requiero Tutora? Anotaciones Plantee algunos problemas y evale que tipo de mtodo de programacin sera el ms ptimo para su resolucin.

A continuacin se detallan los temas que se deben desarrollar, una descripcin general del mismo, y un conjunto de actividades que se recomienda sean desarrolladas para una mejor asimilacin de los conceptos. Se han dispuesto las tres columnas de la derecha para llevar un control personal del tiempo de dedicacin a cada tema, marcar las actividades que cada estudiante estima que necesita tutora y realizar anotaciones personales.

Tema a revisar

Descripcin del contenido a revisar

Gua didctica: Estructura de Datos y Algoritmos II

8.

Introduccin

En este apartado se describe brevemente lo que significa la recursin, sus ventajas y desventajas frente a la iteracin

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

8.1. Naturaleza de la recursividad

Se ampla la descripcin de la recursividad, as tambin, se trata algunos programas bsicos en los cuales se trabaja utilizando la recursividad

8.2. Funciones recursivas

Se estudia los tipos de Elabore un programa con cada recursividad existentes, as como tipo de recursin. las partes que la conforman.
PRIMER BIMESTRE

8.3. Recursin versus iteracin

Se explica el trabajo y diferencia entre estos dos mtodos, as como las directrices que nos servirn para escoger el mtodo a utilizar segn el programa a realizar.

Tema a revisar Actividades recomendadas Anotaciones (fecha)

Descripcin del contenido a revisar Requiero Tutora?

Planificacin personal de estudio

PRIMER BIMESTRE

8.4. Recursin infinita

Explica el problema de prescindir Realice el problema propuesto del componente base en una en este apartado. funcin recursiva. Y se mencionan las partes fundamentales para su funcionamiento.

8.5. Algoritmos Divide y Vencers

Explica la facilidad de resolucin Revise los problemas de un problema al dividirlo en planteados en este apartado, problemas ms pequeos y de ser posible realice una corrida manual de ellos para su mejor entendimiento.

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

Gua didctica: Estructura de Datos y Algoritmos II

13

Gua didctica: Estructura de Datos y Algoritmos II

PRIMER BIMESTRE

Cuestiones de repaso captulo 1 Como medidor de asimilacin de los contenidos, desarrollaremos las siguientes cuestiones de repaso; le recomendamos que responda las preguntas de auto evaluacin y para su informacin registre el nivel de desempeo que observo, esto le permitir saber los temas que debe volver a revisar si su desempeo lo considera medio, y en caso de observar un desempeo malo recuerde que puede solicitar tutora mediante el campus virtual o telefnicamente. N Cuestin DESPUS DE RESPONDER, El DESEMPEO HA SIDO:
MAlO MEDIO MUy BIEN

1. 2. 3. 4. 4.1. 4.2. 4.3. 5. 6. 7.

Indique las principales diferencias entre una funcin iterativa y una funcin recursiva Cules son las principales ventajas de utilizar la recursividad? Cules son las principales desventajas de utilizar la recursividad? Explique cada uno de los siguientes trminos Test para detener o continuar la recursin Componente base Sentencia recursiva Indique las principales diferencias entre la recursividad directa y la recursividad indirecta. Explique las principales directrices que se deben considerar para aplicar una funcin recursiva o una funcin iterativa. Cules seran las consecuencias de prescindir del componente base en una funcin recursiva.? Interactividad a travs de los Foros de Campus Virtual Ingrese peridicamente al campus virtual que se encuentra en la siguiente direccin: http://www.utpl.edu.ec y de respuesta a las siguiente preguntas que se han previsto como parte del foro, su aporte es importante. Comente acerca de la tcnica de resolucin de problemas Divide y vencers y su implementacin mediante funciones recursivas. Consulte en Internet temas relacionados a la recursividad y comprtalos a travs del foro.

Ejercicios Para reforzar el nivel de conocimientos del presente captulo se deben realizar las siguientes actividades. Ejercicios 8.1, 8.2, 8.3, 8.5, 8.7, 8.8, 8.9 y 8.16 (pags. 311 a 312 del texto base)

14

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

PRIMER BIMESTRE

Gua didctica: Estructura de Datos y Algoritmos II

Documentacin adicional Para ampliar la informacin del texto base se dispone de bibliografa adicional, que estar disponible en digital, a estos ltimos recursos podr acceder a travs del campus virtual. Descripcin del documento En este documento obtenido desde Internet, se abordan los siguientes temas: - Conceptos de recursividad. - Diseo de algoritmos recursivos - Ejecucin de un mdulo recursivo - Traza de algoritmos recursivos - Ejemplos de funciones recursivas. - Ejemplos ms complejos - Recursividad o iteracin? Recursividad.pdf Archivo disponible en el EVA

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

15

Gua didctica: Estructura de Datos y Algoritmos II

PRIMER BIMESTRE

Captulo 2:
Datos Generales: Texto base Captulo

Archivos (Ficheros)

PROGRAMACION EN C, Metodologa, algoritmos y estructura de datos, Luis Joyanes Aguilar / Ignacio Zahonero Martnez. 15. Entradas y salidas por archivos 16. Organizacin de datos en un archivo

Pginas

499 565 Propsito

Horas de estudio empleadas

20 horas

Estos captulos tienen como propsito introducir al estudiante en el conocimiento del tratamiento de archivos en C, procesar archivos de organizacin secuencial, procesar archivos de acceso directo, distinguir entre ordenacin en memoria y ordenacin externa, conocer los diferentes tipos de algoritmos de ordenacin. Conceptos Clave Registro Se puede considerar a un registro como un tipo o coleccin de datos de tamao fijo. Los campos de los registros pueden ser de diferentes tipos de datos. Flujo Conoceremos como flujo a la corriente de datos que fluyen entre un origen o fuente (productor) y un destino o sumidero (consumidor). Acceso secuencial Se refiere al acceso a un archivo segn el orden de almacenamiento de sus registros, uno tras otro. Acceso directo Se refiere al acceso a un registro determinado, sin que ello implique la consulta de los registros precedentes.

16

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

Esquema de estudio
PRIMER BIMESTRE

A continuacin se detallan los temas que se deben desarrollar, una descripcin general del mismo, y un conjunto de actividades que se recomienda sean desarrolladas para una mejor asimilacin de los conceptos. Se han dispuesto las tres columnas de la derecha para llevar un control personal del tiempo de dedicacin a cada tema, marcar las actividades que cada estudiante estima que necesita tutora y realizar anotaciones personales.

Tema a revisar Actividades recomendadas (fecha) Lea el apartado en mencin, ya que es importante para la comprensin de los siguientes puntos.

Descripcin del contenido a revisar Requiero Tutora?

Planificacin personal de estudio

Anotaciones

15.1 Flujos

Se explica el flujo de datos entre una fuente y un destino a travs de un canal y los procedimientos que se ejecutan durante este flujo.

15.2 Puntero FILE

Breve explicacin de la manera Lea el apartado en mencin, de accesar a un archivo ya que es importante para la almacenado e memoria. comprensin de los siguientes puntos. Estudie los diferentes programas utilizados en este apartado para lograr una correcta comprensin del tema. Estudie los diferentes programas utilizados en este apartado para lograr una correcta comprensin del tema.

15.3 Apertura de un archivo

Se describe los diferentes parmetros utilizados para poder trabajar con archivos, ya sea para lectura o escritura desde un programa.

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

Gua didctica: Estructura de Datos y Algoritmos II

15.4 Funciones de entrada/salida para archivos

Aqu podremos estudiar las diferentes funciones uilizadas para escribir o para recuperar datos desde los archivos en cuestin.

17

18
Actividades recomendadas Anotaciones (fecha) Requiero Tutora? los tipos de Revise los programas utilizados de archivos e el apartado, revselos para que entienda su funcionamiento. Lea y estudie el programa utilizado en este apartado. Lea el apartado en mencin, ya que es importante para la comprensin de los siguientes puntos.

Tema a revisar

Descripcin del contenido a revisar

Planificacin personal de estudio

16.1 Registros

Explicacin del trmino y Lea el apartado en mencin, las diferentes partes que lo ya que es importante para la componen comprensin de los siguientes puntos.

Gua didctica: Estructura de Datos y Algoritmos II

16.2 Organizacin de archivos

Se estudia organizacin existentes

16.3 Archivos con direccionamiento Hash

Explicacin del mtodo de Lea y estudie el programa almacenamiento Hash, con sus utilizado en este apartado. ventajas y dificultades

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

16.4 Archivos secuenciales indexados

Explicacin del mtodo

16.5 Ordenacin de archivos: Ordenacin externa:

Nos presenta informacin muy necesaria de conocer previa al estudio de los diferentes mtodos de ordenacin externa.

16.6 Clasificacin por mezcla directa (mezcla simple)

Explicacin y codificacin del Lea el apartado, realice la algoritmo. codificacin indicada y realice una corrida manual del programa.

PRIMER BIMESTRE

PRIMER BIMESTRE

Gua didctica: Estructura de Datos y Algoritmos II

Cuestiones de repaso captulo 2 Como medidor de asimilacin de los contenidos, desarrollaremos las siguientes cuestiones de repaso; le recomendamos que responda las preguntas de auto evaluacin y para su informacin registre el nivel de desempeo que observo, esto le permitir saber los temas que debe volver a revisar si su desempeo lo considera medio, y en caso de observar un desempeo malo recuerde que puede solicitar tutora mediante el campus virtual o telefnicamente.
DESPUS DE RESPONDER, El DESEMPEO HA SIDO:
MAlO MEDIO MUy BIEN

N 1. 2.

CUESTIN De una definicin de Archivo o fichero Los archivos, segn la organizacin de sus registros, se pueden considerar de dos tipos de accesos. Cules son? Y qu significan cada uno de ellos? Cules son los tipos de organizacin de registros fundamentales que se consideran? Cules son las caractersticas que proporciona al trabajo con archivos el parmetro r+? Cules son las caractersticas que proporciona al trabajo con archivos el parmetro a+b? Cules son las diferencias de trabajar con archivos de texto y binarios? Explique brevemente como es el modo de trabajo del algoritmo de ordenacin por mezcla directa. Explique brevemente de que se trata el direccionamiento Hash Interactividad a travs de los Foros de Campus Virtual

3. 4. 5. 6. 7. 8.

Ingrese peridicamente al campus virtual que se encuentra en la siguiente direccin: http://www.utpl.edu.ec y de respuesta a las siguiente preguntas que se han previsto como parte del foro, su aporte es importante. Comente acerca de los diferentes tipos de organizacin de archivos, cual a su parecer le parece ser el ms ptimo y por que?. Consulte en Internet temas relacionados y comprtalos a travs del foro.

Ejercicios Para reforzar el nivel de conocimientos del presente captulo se deben realizar las siguientes actividades. Ejercicios 15.7, 15.8 Ejercicios 16.2 (pag. 527 del texto base)

(pag. 564 del texto base)

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

19

Gua didctica: Estructura de Datos y Algoritmos II

PRIMER BIMESTRE

Documentacin adicional Para ampliar la informacin del texto base se dispone de bibliografa adicional, que estar disponible en digital, a estos ltimos recursos podr acceder a travs del campus virtual. Descripcin del documento En este documento obtenido desde Internet, se abordan los siguientes temas: Archivos en C++, flujos de entrada/salida. Lectura-escritura en ficheros de texto: con << y >>. Ficheros binarios. Archivo disponible en el EVA

transpaficheros.pdf

En este documento obtenido desde Internet, se abordan los siguientes temas: Ficheros en C++

ficheros.pdf

20

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

PRIMER BIMESTRE

Gua didctica: Estructura de Datos y Algoritmos II

Captulo 3:
Datos Generales: Texto base Captulo Pginas

Estructuras Jerrquicas y rbol Binario de Bsqueda

PROGRAMACION EN C, Metodologa, algoritmos y estructura de datos, Luis Joyanes Aguilar / Ignacio Zahonero Martnez 20. rboles 656 - 696 Propsito A travs de este captulo, usted aprender a estructurar datos en orden jerrquico, distinguir los tipos de rboles binarios, recorrer rboles en tres formas diferentes, representar rboles utilizando estructuras enlazadas, evaluar expresiones algebraicas, definir y construir un rbol binario de bsqueda. Conceptos Clave Jerarqua Se utiliza esta terminologa ya que los rboles estn formados de tal manera que partiendo desde un nodo inicial, se va descendiendo por varios subniveles, los que le crea algunos rangos de jerarqua. Raz Ser conocido con este nombre el primer nodo que dar inicio a la formacin de un nuevo rbol. Hoja Con este nombre se conocern a aquellos nodos que no tengan ms descendencia. Recorrido Sern las maneras de cmo vamos a presentar los datos almacenados en los rboles. Horas de estudio empleadas 10 horas

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

21

Esquema de estudio

22
Actividades recomendadas (fecha) Planificacin personal de estudio Requiero Tutora? Anotaciones Realice algunos grficos representando este tipo de rboles e identifique cada uno de los trminos en ellos.

A continuacin se detallan los temas que se deben desarrollar, una descripcin general del mismo, y un conjunto de actividades que se recomienda sean desarrolladas para una mejor asimilacin de los conceptos. Se han dispuesto las tres columnas de la derecha para llevar un control personal del tiempo de dedicacin a cada tema, marcar las actividades que cada estudiante estima que necesita tutora y realizar anotaciones personales.

Gua didctica: Estructura de Datos y Algoritmos II

Tema a revisar

Descripcin del contenido a revisar

Cap 20. Introduccin

En este apartado se describe Analice esta lectura y piense brevemente las diferentes en algunos otros usos que se utilizaciones de los rboles en la le pudiera dar, aparte de los ya computacin. nombrados.

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

20.1. rboles generales

Se hace una relacin de lo que son los rboles y como se los representa en la vida diaria, as mismo se explica la terminologa que se utilizar en adelante en el tratamiento de rboles.

20.2 rboles binarios.

Se especifican las caractersticas Analice los ejemplos planteados propias de los rboles binarios, as en este apartado. como algunos trminos que sern propios de este tipo de rboles.

PRIMER BIMESTRE

20.3 Estructura de un rbol binario

Se muestra como estar Revise los programas ah estructurados los diferentes indicados y luego codifquelos elementos que formarn los en lenguaje C. rboles binarios. As mismo su representacin en lenguaje C.

Tema a revisar Actividades recomendadas Anotaciones (fecha)

Descripcin del contenido a revisar Requiero Tutora?

Planificacin personal de estudio

PRIMER BIMESTRE

20.4 Operaciones en rboles binarios.

Nos muestra las operaciones que Lea el apartado en mencin, podemos realizar con rboles ya que es importante para la binarios. comprensin de los siguientes puntos.

20.5 rboles de expresin.

Analizamos uno de los usos de los Realice los ejemplos ah rboles binarios, como es el de planteados, luego codifique resolucin de ecuaciones. el programa que resuelva una ecuacin.

20.6 Recorrido de un rbol

Analizamos las diferentes Realice los programas que formas de presentar los datos hagan los diferentes tipos de almacenados en un rbol. recorrido.

20.7 rbol binario de bsqueda.

Nos muestra las caractersticas de Analice las caractersticas este tipo de rboles. especiales de este tipo de rbol.

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

Gua didctica: Estructura de Datos y Algoritmos II

20.8 Operaciones en rboles Binarios de Bsqueda

En este captulo se estudian todas Desarrolle un programa que las operaciones que podemos permita realizar todas las realizar con ABB. operaciones en ABB, (creacin, insercin de elementos, eliminacin de elemento dado, los diferentes recorridos y por ltimo la eliminacin del rbol completo)

23

Gua didctica: Estructura de Datos y Algoritmos II

PRIMER BIMESTRE

Cuestiones de repaso captulo 3 Como medidor de asimilacin de los contenidos, desarrollaremos las siguientes cuestiones de repaso; le recomendamos que responda las preguntas de auto evaluacin y para su informacin registre el nivel de desempeo que observo, esto le permitir saber los temas que debe volver a revisar si su desempeo lo considera medio, y en caso de observar un desempeo malo recuerde que puede solicitar tutora mediante el campus virtual o telefnicamente.
DESPUS DE RESPONDER, El DESEMPEO HA SIDO:
MAlO MEDIO MUy BIEN

N 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.

CUESTIN Cules son los elementos que conforman un rbol? Cul es la diferencia existente entre el nivel de un nodo y su altura o profundidad? Qu entiende usted por subrbol? Cules son las caractersticas principales de los rboles binarios? Qu entiende usted por balance o equilibrio? Cules son los elementos que conforman un nodo para un rbol binario? Cul es la diferencia entre recorrer un rbol en anchura y en profundidad? Cules son los tipos de recorrido en profundidad? Cul es la caracterstica principal de los rboles binarios de bsqueda? Cules son las principales operaciones que podemos realizar con un ABB? Cuando deseamos eliminar un nodo de un ABB, cul ser el nodo que tomar su lugar para que siga manteniendo las caractersticas de ABB? Interactividad a travs de los Foros de Campus Virtual

Ingrese peridicamente al campus virtual que se encuentra en la siguiente direccin: http://www.utpl.edu.ec y de respuesta a las siguiente preguntas que se han previsto como parte del foro, su aporte es importante. Comente acerca de los temas estudiados en este captulo. Cuales son las ventajas que nos presta la utilizacin de ABB? Consulte en Internet temas relacionados y comprtalos a travs del foro.

24

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

PRIMER BIMESTRE

Gua didctica: Estructura de Datos y Algoritmos II

Ejercicios Para reforzar el nivel de conocimientos del presente captulo se deben realizar las siguientes actividades. Ejercicios 20.2, 20.3, 20.4, 20.5, 20.11, 20.15 (pag. 695, 696)

Documentacin adicional Para ampliar la informacin del texto base se dispone de bibliografa adicional, que estar disponible en digital, a estos ltimos recursos podr acceder a travs del campus virtual. Descripcin del documento En este documento obtenido desde Internet, se abordan los siguientes temas: - rboles Binarios de Bsqueda en C++ - Teora - Prctica Abb en c++.pdf Archivo disponible en el EVA

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

25

SEGUNDO BIMESTRE

Gua didctica: Estructura de Datos y Algoritmos II

SEGUNDO BIMESTRE
Objetivos especcos
Los objetivos especficos de la materia, en funcin de los captulos que se van a desarrollar son: 1. 2. 3. 4. 5. 6. 7. 8. Conocer la eficiencia de un rbol de bsqueda Construir un rbol de bsqueda equilibrado. Describir los diversos tipos de movimientos que se hacen cuando se desequilibra un rbol Conocer las caractersticas de los rboles B. Conocer la estrategia que sigue el proceso de insercin de una clave en un rbol B. Conocer los pasos fundamentales de la operacin de eliminar una clave en un rbol B. Definir un grafo e identificar sus compoetes. Conocer las operaciones bsicas que se aplican sobre grafos

No olvide que debe acceder al campus virtual para interactuar con el tutor y sus compaeros, adems de que podr descargar informacin de la materia.

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

27

Gua didctica: Estructura de Datos y Algoritmos II

SEGUNDO BIMESTRE

Contenidos
CAPTUlO 4: RBOlES BAlANCEADOS DATOS GENERALES PROPSITO CONCEPTOS CLAVE ESQUEMA DE ESTUDIO CUESTIONES DE REPASO CAPTULO 4 INTERACTIVIDAD A TRAVS DE LOS FOROS DE CAMPUS VIRTUAL DOCUMENTACIN ADICIONAL CAPTUlO 5: RBOlES B DATOS GENERALES PROPSITO CONCEPTOS CLAVE ESQUEMA DE ESTUDIO CUESTIONES DE REPASO CAPTULO 5 INTERACTIVIDAD A TRAVS DE LOS FOROS DE CAMPUS VIRTUAL DOCUMENTACIN ADICIONAL CAPTUlO 6: GRAFOS DATOS GENERALES PROPSITO CONCEPTOS CLAVE ESQUEMA DE ESTUDIO CUESTIONES DE REPASO CAPTULO INTERACTIVIDAD A TRAVS DE LOS FOROS DE CAMPUS VIRTUAL DOCUMENTACIN ADICIONAL

28

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

SEGUNDO BIMESTRE

Gua didctica: Estructura de Datos y Algoritmos II

Desarrollo del aprendizaje


Captulo 4
Datos Generales: Texto base Captulo Pginas Propsito Durante el estudio de este captulo, conoceremos acerca de la eficiencia de los rboles de bsqueda, construir un rbol de bsqueda equilibrado, describir los tipos de movimientos que se realizan para equilibrar un rbol, realizar operaciones de insercin y eliminacin de elementos del rbol. Conceptos Clave Equilibrio En este caso, el equilibrio ser el grado de igualdad que existan entre los subrboles izquierdo y derecho de un rbol. Factor de equilibrio Ser conocido con este nombre a un nuevo campo en el nodo, el cual nos indicar que tan equilibrado est ese nodo con respecto a los dems. Rotaciones Sern los movimientos que debern realizarse para equilibrar el rbol luego de que se ingrese o se elimine un nodo del rbol AVL. Anexo 1. rboles equilibrados de bsqueda Horas de estudio empleadas 15 horas

rboles balanceados

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

29

Esquema de estudio

30
Actividades recomendadas (fecha) Se recomienda realizar corridas manuales de los programas que se encuentran en el presente anexo, esto le permitir al estudiante, tener una visin clara de la lgica que se utiliza para resolver los diferentes casos que se presenten con la insercin y eliminacin de claves en rboles AVL. Planificacin personal de estudio Requiero Tutora? Anotaciones

A continuacin se detallan los temas que se deben desarrollar, una descripcin general del mismo, y un conjunto de actividades que se recomienda sean desarrolladas para una mejor asimilacin de los conceptos. Se han dispuesto las tres columnas de la derecha para llevar un control personal del tiempo de dedicacin a cada tema, marcar las actividades que cada estudiante estima que necesita tutora y realizar anotaciones personales.

Tema a revisar

Descripcin del contenido a revisar

Gua didctica: Estructura de Datos y Algoritmos II

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

Anexo1

Ya que el captulo correspondiente al tema de estudio no lo podemos encontrar en el libro base, he desarrollado la informacin necesaria como anexo, el cual cuenta con todos los temas que nos iteresa conocer para poder utilizar rboles balanceados.

SEGUNDO BIMESTRE

SEGUNDO BIMESTRE

Gua didctica: Estructura de Datos y Algoritmos II

Cuestiones de repaso captulo 4 Como medidor de asimilacin de los contenidos, desarrollaremos las siguientes cuestiones de repaso; le recomendamos que responda las preguntas de auto evaluacin y para su informacin registre el nivel de desempeo que observo, esto le permitir saber los temas que debe volver a revisar si su desempeo lo considera medio, y en caso de observar un desempeo malo recuerde que puede solicitar tutora mediante el campus virtual o telefnicamente. DESPUS DE RESPONDER, El DESEMPEO HA SIDO:
MAlO MEDIO MUy BIEN

N 1. 2.

CUESTIN Cul es la caracterstica particular de los rboles AVL? El factor de equilibrio de un nodo, entre qu valores debe oscilar para se siga considerndose al rbol al cual pertenece como AVL? Cul es la lgica que se utiliza para insertar elementos en un rbol AVL? En qu casos deberamos utilizar una rotacin simple? En qu casos deberamos utilizar una rotacin doble? En la eliminacin de elementos, ser suficiente con realizar una vez alguna de las rotaciones existentes para volver a obtener la condicin de rbol equilibrado? Por qu?

3. 4. 5. 6.

Interactividad a travs de los Foros de Campus Virtual Ingrese peridicamente al campus virtual que se encuentra en la siguiente direccin: http://www.utpl.edu.ec y de respuesta a las siguiente preguntas que se han previsto como parte del foro, su aporte es importante. Los rboles AVL frente a los ABB, que ventajas nos prestan, cuales son las desventajas que podemos encontrar. Consulte en Internet temas relacionados rboles AVL y comprtalos a travs del foro.

Ejercicios Para reforzar el nivel de conocimientos del presente captulo se deben realizar las siguientes actividades. Dibujar las diferentes fases por las que pasa el rbol AVL durante la insercin de las siguientes claves: 14, 6, 24, 35, 59, 17, 21, 32, 4, 7, 15 y 22. Dada la secuencia de claves enteras: 100, 29, 71, 82, 48, 39, 101, 22, 46, 1, 3, 20, 25 y 10. Dibujar el rbol AVL correspondiente. Eliminar claves consecutivamente hasta encontrar un nodo en el que se viole la condicin de equilibrio cuya restauracin sea con una rotacin doble.

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

31

Gua didctica: Estructura de Datos y Algoritmos II

SEGUNDO BIMESTRE

En el rbol construido en el primer ejercicio, eliminar el nodo raz. Hacerlo tatas veces como sea necesario hasta que se desequilibre un nodo y haya que aplicar una rotacin simple.

Documentacin adicional Para ampliar la informacin del texto base se dispone de bibliografa adicional, que estar disponible en digital, a estos ltimos recursos podr acceder a travs del campus virtual. Descripcin del documento En este documento obtenido desde Internet, se abordan los siguientes temas: - rboles AVL Avl Archivo disponible en el EVA

Descripcin del documento Documentacin del captulo

Archivo disponible como ANEXO 1

Anexo 1

32

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

SEGUNDO BIMESTRE

Gua didctica: Estructura de Datos y Algoritmos II

Captulo 5
Datos Generales: Texto base Captulo Pginas

rboles B

Anexo 2. rboles B Horas de estudio empleadas Propsito El objetivo de este captulo es de conocer las caractersticas de los rboles B, utilizar su estructura para organizar bsquedas eficientes en bases de datos, implementar algoritmos de bsqueda de una clave, conocer las estrategias que se siguen para la insercin y eliminacin de elementos. Conceptos Clave orden Es el mximo nmero de enlaces que puede tener un nodo, ya que en los rboles B ya no se trata con nodos que tienen solamente 2 enlaces. Pgina Es la denominacin que se les da a cada uno de los nodos que conforman un rbol B. 15 horas

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

33

Esquema de estudio

34
Actividades recomendadas (fecha) Se recomienda realizar ejercicios para insertar y eliminar elementos de rboles B esto le permitir al estudiante, tener una visin clara de la lgica que se utiliza para resolver los diferentes casos que se presenten con la insercin y eliminacin de claves. Planificacin personal de estudio Requiero Tutora? Anotaciones

A continuacin se detallan los temas que se deben desarrollar, una descripcin general del mismo, y un conjunto de actividades que se recomienda sean desarrolladas para una mejor asimilacin de los conceptos. Se han dispuesto las tres columnas de la derecha para llevar un control personal del tiempo de dedicacin a cada tema, marcar las actividades que cada estudiante estima que necesita tutora y realizar anotaciones personales.

Tema a revisar

Descripcin del contenido a revisar

Gua didctica: Estructura de Datos y Algoritmos II

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

Anexo 2

Ya que el captulo correspondiente al tema de estudio no lo podemos encontrar en el libro base, he desarrollado la informacin necesaria como anexo, el cual cuenta con todos los temas que nos interesa conocer para poder utilizar rboles B.

SEGUNDO BIMESTRE

SEGUNDO BIMESTRE

Gua didctica: Estructura de Datos y Algoritmos II

Cuestiones de repaso captulo 5 Como medidor de asimilacin de los contenidos, desarrollaremos las siguientes cuestiones de repaso; le recomendamos que responda las preguntas de auto evaluacin y para su informacin registre el nivel de desempeo que observo, esto le permitir saber los temas que debe volver a revisar si su desempeo lo considera medio, y en caso de observar un desempeo malo recuerde que puede solicitar tutora mediante el campus virtual o telefnicamente. DESPUS DE RESPONDER, El DESEMPEO HA SIDO:
MAlO MEDIO MUy BIEN

N 1. 2. 3. 4. 5. 6. 7. 8.

CUESTIN Qu significa el orden de un rbol B? La pgina conocida como raz, tiene que obligatoriamente tener un solo campo de datos ocupado? Las pginas hojas, pueden estar ubicadas en diferentes niveles en los rboles B? Cuntos campos ocupados deben tener las pginas que no son consideradas raz? Cmo es el funcionamiento del algoritmo de insercin de elementos? Una pgina que no sea una hoja, cuntos hijos debe tener? En un rbol B, existe la posibilidad de que podamos tener claves duplicadas? Para recorrer un rbol B, podramos utilizar los recorridos estudiados en captulos anteriores?

Interactividad a travs de los Foros de Campus Virtual /Ingrese peridicamente al campus virtual que se encuentra en la siguiente direccin: http://www.utpl.edu.ec y de respuesta a las siguiente preguntas que se han previsto como parte del foro, su aporte es importante. Opine acerca de las diferencias, ventajas y desventajas de la utilizacin de rboles AVL y rboles B. Consulte en Internet temas relacionados con rboles B y comprtalos a travs del foro.

Ejercicios Para reforzar el nivel de conocimientos del presente captulo se deben realizar las siguientes actividades. Dada la secuencia de claves enteras: 190, 57, 89, 90, 121, 170, 35, 48, 91, 22, 126, 132 y 80 dibujar el rbol B de orden 5 cuya raz es R, que se corresponde con dichas claves.

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

35

Gua didctica: Estructura de Datos y Algoritmos II

SEGUNDO BIMESTRE

En el rbol R del problema anterior, elimine la clave 91 y dibuje el rbol resultante. Vuelva a eliminar ahora la clave 48. Dibujar el rbol resultante. ha habido reduccin en el nmero de nodos? En un rbol B de orden 5 se insertan las claves de manera secuencial: 1, 2, 3, ., n. Qu claves dan origen a la divisin de un nodo? Qu claves hacen que la altura del rbol crezca? En el rbol B del ejercicio anterior, las claves son eliminadas en el mismo orden en que fueron insertadas. Qu claves hacen que los nodos se queden con un nmero de claves menor que 2 y den lugar a la unin de dos nodos? Qu claves hace que la altura del rbol disminuya?

Documentacin adicional Para ampliar la informacin del texto base se dispone de bibliografa adicional, que estar disponible como Anexo a la Gua Didctica. Descripcin del documento En este documento se abordan los siguientes temas: - rboles B - Operaciones en un rbol B. - Insercin. - Eliminacin Anexo 2 Archivo disponible como ANEXO 2

36

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

SEGUNDO BIMESTRE

Gua didctica: Estructura de Datos y Algoritmos II

Captulo 6
Datos Generales: Texto base Captulo Pginas

Grafos

Anexo 3. Grafos Horas de estudio empleadas Propsito Con el estudio de este captulo se pretende distinguir entre relaciones jerrquicas y otras relaciones, definir un grafo e identificar sus componentes, conocer estructuras que nos permitan representar grafos y las operaciones bsicas que se aplican sobre grafos. Conceptos Clave Vrtice Con este nombre se conocer a los nodos que componen los grafos. Arco Tambin conocidos como aristas, representarn las relaciones existentes entre dos nodos. Orden Es el nmero de vrtices que componen el grafo Grado de un nodo Representa al nmero de arcos que inciden sobre el nodo Grafo completo Es el grafo que contiene todos los posibles pares de relaciones. 10 horas

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

37

Esquema de estudio

38
Actividades recomendadas (fecha) Se recomienda revisar la documentacin anexa y de ser posible ampliar estoy conocimientos con documentacin disponible en Internet. Planificacin personal de estudio Requiero Tutora? Anotaciones

A continuacin se detallan los temas que se deben desarrollar, una descripcin general del mismo, y un conjunto de actividades que se recomienda sean desarrolladas para una mejor asimilacin de los conceptos. Se han dispuesto las tres columnas de la derecha para llevar un control personal del tiempo de dedicacin a cada tema, marcar las actividades que cada estudiante estima que necesita tutora y realizar anotaciones personales.

Tema a revisar

Descripcin del contenido a revisar

Gua didctica: Estructura de Datos y Algoritmos II

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

Anexo 3

Ya que el captulo correspondiente al tema de estudio no lo podemos encontrar en el libro base, he desarrollado la informacin necesaria como anexo, el cual cuenta con todos los temas que nos interesa conocer sobre Grafos.

SEGUNDO BIMESTRE

SEGUNDO BIMESTRE

Gua didctica: Estructura de Datos y Algoritmos II

Cuestiones de repaso captulo 6 Como medidor de asimilacin de los contenidos, desarrollaremos las siguientes cuestiones de repaso; le recomendamos que responda las preguntas de auto evaluacin y para su informacin registre el nivel de desempeo que observo, esto le permitir saber los temas que debe volver a revisar si su desempeo lo considera medio, y en caso de observar un desempeo malo recuerde que puede solicitar tutora mediante el campus virtual o telefnicamente. DESPUS DE RESPONDER, El DESEMPEO HA SIDO:
MAlO MEDIO MUy BIEN

N 1. 2. 3. 4. 5. 6.

CUESTIN Qu es el orden de un grafo? Qu entiende por grado de entrada de un nodo? Cules son las maneras bsicas de representar un grafo? Cules son las dos tcnicas bsicas para recorrer un grafo? Qu entiende por camino? Qu diferencias podemos encontrar entre la representacin mediante matriz de adyacencia y mediante listas de adyacencia? El recorrido en anchura se realiza mediante la utilizacin de una pila o una cola? Para qu se la utiliza?

7.

Interactividad a travs de los Foros de Campus Virtual Ingrese peridicamente al campus virtual que se encuentra en la siguiente direccin: http://www.utpl.edu.ec y de respuesta a las siguiente preguntas que se han previsto como parte del foro, su aporte es importante. De ejemplos acerca de sistemas encontrados en la vida diaria, los cuales puedan ser representados mediante grafos. Consulte en Internet temas relacionados con rboles B y comprtalos a travs del foro.

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

39

Gua didctica: Estructura de Datos y Algoritmos II

SEGUNDO BIMESTRE SOLUCIONARIO

Documentacin adicional Para ampliar la informacin del texto base se dispone de bibliografa adicional, que estar disponible como Anexo a la Gua Didctica. Descripcin del documento En este documento se abordan los siguientes temas: - Fundamentos y terminologa bsica - Representacin de grafos. - Recorrido de grafos Anexo 3 Archivo disponible como ANEXO 3

40

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

SOLUCIONARIO

Gua didctica: Estructura de Datos y Algoritmos II

Solucionario
Cuestiones de repaso captulo 1 No. 1. Cuestin Respuesta

Indique las principales diferencias La iteracin utiliza una estructura repetitiva, mientras entre una funcin iterativa y una que la recursin utiliza una estructura de seleccin. La funcin recursiva iteracin termina cunado la condicin de un bucle no se cumple, mientras que la recursin termina cuando se reconoce un caso base o alcanza la condicin de salida. La recursin invoca repetidamente al mecanismo de llamadas a funciones mientras que la iteracin se produce dentro de una misma funcin. Cules son las principales ventajas Brindan facilidad para dar solucin a numerosos de utilizar la recursividad? problemas que son de naturaleza recursivos, su codificacin es ms sencilla y por consiguiente ms facil de depurar. Cules son las principales desventajas Por el hecho de realizar repetidas llamadas a funciones, de utilizar la recursividad? necesita tiempo suplementario para estas llamadas, los consume tiempo de procesador y espacio de memoria. Explique cada uno de los siguientes trminos Test para detener o continuar la Debe existir alguna condicional, la cual dependiendo recursin de sus resultados nos permitan escoger una de las siguientes opciones. Componente base Ser aquella sentencia que nos permita terminar la recursin y devolver el control hacia el lugar desde donde se llam a esta funcin Ser aquella sentencia que vuelva a hacer la autollamada a la funcin.

2.

3.

4. 4.1.

4.2.

4.3. 5.

Sentencia recursiva

Indique las principales diferencias La recursividad directa se da cuando una funcin entre la recursividad directa y la genera llamadas a si mismo hasta encontrar un recursividad indirecta. componente base. Explique las principales directrices que se deben considerar para aplicar una funcin recursiva o una funcin iterativa. Deberemos aplicar la recursin solo si no es posible una solucin iterativa sencilla, si no afecta en la memoria del sistema que estemos utilizando, la solucin recursiva consumir mayor tiempo y memoria del sistema para su ejecucin, las soluciones recursivas son mucho ms sencillas de comprender.

6.

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

41

Gua didctica: Estructura de Datos y Algoritmos II

SOLUCIONARIO

No. 7.

Cuestin

Respuesta

Cules seran las consecuencias de La carencia de este elemento producir que se prescindir del componente base en realicen las llamadas infinitas, lo que en un tiempo una funcin recursiva? determinado conducir a que se agote la memoria del computador y se produzca una terminacin anormal del programa.

Cuestiones de repaso captulo 2 No. 1. Cuestin De una definicin de archivo o fichero Respuesta Es una coleccin de registros relacionados entre si con aspectos en comn y organizados para un propsito especfico.

2.

Los archivos, segn la organizacin de Acceso secuencial que se refiere al acceder a sus registros, se pueden considerar de l segn el orden de almacenamiento de sus dos tipos de accesos. Cules son? Y qu registros, uno tras otro. significan cada uno de ellos? Acceso directo que implica el acceso a un registro determinado, sin tener que consultar los registros precedentes Cules son los tipos de organizacin Secuencial, directa o aleatoria (random) y de registros fundamentales que se secuencial indexada (indexed). consideran? Cules son las caractersticas que Abre un archivo ya existente para modificar proporciona al trabajo con archivos el (leer/escribir). parmetro r+? Cules son las caractersticas que Abre un archivo binario para leer/escribir al final. proporciona al trabajo con archivos el Si el archivo no existe crea un nuevo archivo. parmetro a+b? Cules son las diferencias de trabajar Los archivos de texto son secuencias de caracteres con archivos de texto y binarios? que pueden ser directamente observados por el usuario, mientras que en los archivos binarios tenemos secuencias de 0 (ceros) y 1 (unos), lo cual optimiza su almacenamiento en memoria pero pude ser visualizado solamente desde el entorno de un programa C. Explique brevemente como es el modo Utiliza dos archivos auxiliares en los cuales vamos de trabajo del algoritmo de ordenacin almacenando alternadamente secuencias de 2n (empezando con n = 0) elementos del archivo por mezcla directa. original, se realizan las pasadas que sean necesaria hasta lograr que el archivo se encuentre totalmente ordenado, llevando un incremento del elemento n en cada pasada.

3.

4.

5.

6.

7.

42

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

SOLUCIONARIO

Gua didctica: Estructura de Datos y Algoritmos II

No. 8.

Cuestin

Respuesta

Explique brevemente de que se trata el El direccionamiento Hash viene dado por la direccionamiento Hash conversin de un campo clave (un entero o una cadena), en un valor entero dentro del rango de posiciones que puede ocupar un registro de un archivo.

Cuestiones de repaso captulo 3 No. 1. Cuestin Respuesta

Cules son los elementos que conforman Estn conformados por un conjunto finito de un rbol? elementos llamados nodos, y un conjunto finito de lneas dirigidas llamadas ramas que conectan los nodos Cul es la diferencia existente entre El nivel de un nodo es su distancia desde el nodo el nivel de un nodo y su altura o raz. La altura s el nivel de la hoja del camino ms profundidad? largo desde la raz ms uno. Qu entiende usted por subrbol? Es un subconjunto de nodos del rbol, conectados por ramas del propio rbol, esto es, a su vez un rbol.

2.

3.

4. 5. 6. 7.

Cules son las caractersticas principales Es un rbol en el que ningn nodo puede tener de los rboles binarios? ms de dos subrboles. Que entiende usted por balance o Es la diferencia en altura existentes entre los equilibrio? subrboles izquierdo y derecho del rbol. Cules son los elementos que conforman Un nodo est conformado por un campo dato y un nodo para un rbol binario? dos campos de tipo puntero. Cul es la diferencia entre recorrer un En anchura,. El proceso se realiza horizontalmente rbol en anchura y en profundidad? desde la raz a todos los hijos, a continuacin los hijos de sus hijos y as sucesivamente hasta los nodos hojas. En profundidad, se procesan primeramente todos los descendientes de un hijo antes de proseguir con los del siguiente hijo.

8. 9.

Cules son los tipos de recorrido en Son: Preorden, Inorden y Posorden. profundidad? Cul es la caracterstica principal de los Es aquel que dado un nodo, todos los datos del rboles binarios de bsqueda? subrbol izquierdo son menores que los datos de ese nodo, mientras que todos los datos del subrbol derecho son mayores que sus propios datos. Cules son las principales operaciones Bsqueda, insercin, recorrido y borrado de que podemos realizar con un ABB? elementos.

10.

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

43

Gua didctica: Estructura de Datos y Algoritmos II

SOLUCIONARIO

No. 11.

Cuestin Cuando deseamos eliminar un nodo de un ABB, cul ser de ser necesario el nodo que tomar su lugar para que siga manteniendo las caractersticas de ABB?

Respuesta Si el caso se da, deberemos escoger el mayor de sus hijos menores. El cual siempre ser el nodo que se encuentre mas a la derecha del subrbol izquierdo.

Cuestiones de repaso captulo 4 No. 1. Cuestin Respuesta

Cul es la caracterstica particular de los En los rboles de este tipo no vamos a encontrar rboles AVL? un mayor desequilibrio entre sus subrboles, ya que por cada nodo que ingrese o se elimine se replantear el grfico para que siga mantenindose equilibrado. El factor de equilibrio de un nodo, entre qu valores debe oscilar para se siga considerndose al rbol al cual pertenece como AVL? Solamente puede obtener los valores de: -1, 0 y 1, si se obtuviera un valor como 2 o -2, deber aplicarse las correcciones necesarias para volver a equilibrar el rbol.

2.

3.

Cul es la lgica que se utiliza para Inicialmente utilizamos la misma lgica que con insertar elementos en un rbol AVL? ABB, pero evaluamos el valor del campo que nos muestra el factor de equilibrio, si ste nos muestra el valor -2 o 2, debemos proceder a resolver el desequilibrio con una de las cuatro rotaciones existentes. En qu casos deberamos utilizar una En el caso de insertar un subrbol izquierdo en rotacin simple? una rama izquierda o un subrbol derecho en una rama derecha. En qu casos deberamos utilizar una En el caso de insertar un subrbol derecho en una rotacin doble? rama izquierda o un subrbol izquierdo en una rama derecha. En la eliminacin de elementos, ser suficiente con realizar una ves alguna de las rotaciones existentes para volver a obtener la condicin de rbol equilibrado? Por qu? Puede ser necesaria la aplicacin de ms de una rotacin, porque a diferencia de la insercin puede seguir existiendo desequilibrio luego de ya haber realizado una rotacin.

4.

5.

6.

Cuestiones de repaso captulo 5 No. 1. 2. Cuestin Qu significa el orden de un rbol B Respuesta El orden de un rbol B se refiere al mximo nmero de enlaces que puede tener un nodo.

La pgina conocida como raz, tiene que No, es la nica pgina que puede tener un solo obligatoriamente tener un solo campo de campo ocupado, pero puede tambin tener todos datos ocupado? sus campos llenos.

44

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

SOLUCIONARIO

Gua didctica: Estructura de Datos y Algoritmos II

No. 3.

Cuestin

Respuesta

Las pginas hojas, pueden estar ubicadas No, la estructura de un rbol B est diseada en diferentes niveles en los rboles B? para que todos sus pginas hojas estn siempre ubicadas al mismo nivel. Cuntos campos ocupados deben tener Todas las pginas a excepcin de la raz, deben las pginas que no son consideradas por lo menos tener ocupados m/2 campos de raz? informacin ocupados. Cmo es el funcionamiento del algoritmo Las claves en un rbol B, se organizan con un de insercin de elementos? algoritmo de bsqueda de la posicin a ocupar basado en el algoritmo utilizado por los ABB, luego dependiendo si la pgina est llena se aplica otro tipo de algoritmo para solucionar el problema. Una pgina que no sea una hoja, cuntos Debe tener el nmero de campos ocupados mas hijos debe tener? 1. En un rbol B, existe la posibilidad de No que podamos tener claves duplicadas? Para recorrer un rbol B, podramos Si podra hacerse cualquiera de los recorridos utilizar los recorridos estudiados en estudiados, pero el ms utilizado es el recorrido captulos anteriores? Inorden, al cual se le aplica una pequea variacin para visitar todos los hijos del rbol B.

4.

5.

6. 7. 8.

Cuestiones de repaso captulo 6 No. 1. 2. 3. Cuestin Qu es el orden de un grafo? Respuesta Es el nmero de nodos (vrtices) del grafo.

Qu entiende por grado de entrada de Es el nmero de arcos que llegan a ese nodo. un nodo? Cules son las maneras bsicas de Pueden ser representados por: matrices de representar un grafo? adyacencia, listas de adyacencia, matrices dispersas. Cules son las dos tcnicas bsicas para En anchura o BFS (Breadth First Search) y en recorrer un grafo? profundidad o DFS (Depth First Search) Qu entiende por camino? Qu diferencias podemos encontrar entre la representacin mediante matriz de adyacencia y mediante listas de adyacencia. Un camino en el grafo G es una sucesin de vrtices y arcos. Para la representacin mediante matriz de adyacencia se utiliza un vector qu indexe los nodos, de manera que los arcos entre los nodos se pueden ver como relaciones entre los ndices. Para las listas de adyacencia se utilizan listas enlazadas lo que evita el desperdicio de memoria por aquellos espacios vacos.

4. 5. 6.

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

45

Gua didctica: Estructura de Datos y Algoritmos II

SOLUCIONARIO ANEXOS

No. 7.

Cuestin

Respuesta

El recorrido en anchura se realiza Se utiliza una cola como estructura en la que se mediante la utilizacin de una pila o una mantienen los vrtices marcados que se van a cola? Para qu se la utiliza? procesar posteriormente.

46

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

SOLUCIONARIO ANEXOS

Gua didctica: Estructura de Datos y Algoritmos II

ANEXOS
El presente material ha sido reproducido con fines netamente didcticos, cuyo objetivo es brindar al estudiante mayores elementos de juicio para la comprensin de la materia, por lo tanto no tiene fin comercial.

ANEXO 1 RBOlES BAlANCEADOS INTRODUCCIN


Aunque las operaciones de bsqueda e insercin de elementos se realizan de una manera eficiente en los rboles de bsqueda binaria, stos resultan ineficientes cuando el rbol crece o decrece descontroladamente, an ms cuando los elementos que ingresamos en el rbol estn ordenados (Ver figura 1), lo que causa un aumento considerable en el nmero de comparaciones que se deben realizar cuando se desea ubicar un determinado elemento

Fig: 1 rbol Binario de Bsqueda Como una solucin a este tipo de problemas, es necesaria la utilizacin de los rboles balanceados, los cuales tienen como objetivo mantener el rbol lo ms equilibrado posible. Estos recurren a diferentes mtodos de ordenamiento de los nodos que lo componen, tratando de ubicar a dichos nodos de una forma que no afecte el balanceo del rbol. El objetivo principal del balanceo es minimizar (optimizar) el nmero de comparaciones a realizar para lograr un mejor tiempo de acceso a sus datos

UNIVERSIDAD TCNICA PARTICULAR DE LOJA La Universidad Catlica de Loja

47

Вам также может понравиться