01 deda unidad 3. almacenamiento
DESCRIPTION
Unidad 3 Desarrollo de softwareTRANSCRIPT
Estructuras de datos Unidad 3. Almacenamiento
1
Ingeniería en Desarrollo de software
Cuatrimestre 06
Asignatura:
Estructuras de datos
Clave: 160920621/150920621
Unidad 3. Almacenamiento
Estructuras de datos Unidad 3. Almacenamiento
2
Índice
PRESENTACIÓN DE LA UNIDAD ............................................................................................................................. 3
PROPÓSITOS DE LA UNIDAD ................................................................................................................................. 3
COMPETENCIA ESPECÍFICA ................................................................................................................................... 3
TEMARIO DE LA UNIDAD ...................................................................................................................................... 3
3. ALMACENAMIENTO .......................................................................................................................................... 4
3.1 ÁRBOLES ......................................................................................................................................................... 4
3.2 ÁRBOLES BINARIOS ......................................................................................................................................... 9
CIERRE DE LA UNIDAD ........................................................................................................................................ 16
PARA SABER MÁS… ............................................................................................................................................ 16
FUENTES DE CONSULTA ...................................................................................................................................... 17
Estructuras de datos Unidad 3. Almacenamiento
3
Presentación de la unidad
En esta tercera unidad se abordarán dos temas sumamente importantes para las Estructuras
de Datos: árboles y árboles binarios. Éstos son temas de estudio elementales en cuanto al
almacenamiento de datos se refiere; tienen que ver con la forma de almacenar datos de forma
jerárquica.
Los árboles sirven para realizar bases de datos donde la búsqueda y almacenamiento sean
óptimos, ya que en un árbol los datos se almacenan no de forma lineal, como en una pila o en
una cola, donde los datos que entran sólo se pueden leer en el respectivo orden de entrada.
También sirven para encriptar archivos, o para crear compiladores.
En las dos unidades anteriores se estudiaron primero las diferentes estructuras de datos como
son pilas, listas y colas, sus algoritmos, ejemplos, etc. En la segunda unidad se abordaron los
temas de búsqueda y ordenación de datos y, finalmente, en esta unidad conoceremos y
aprenderemos a utilizar los árboles.
Propósitos de la unidad
Que el estudiante empleé los conceptos de árboles y árboles binarios que le permitan dar
soluciones a problemáticas de almacenamiento de datos.
Competencia específica
Almacenar archivos con un orden jerárquico para permitir búsquedas, recorridos seguros y
eficientes mediante el uso de árboles y árboles binarios.
Temario de la unidad
3. Almacenamiento
3.1. Árboles
3.1.1. Generalidades
3.1.2. Creación de un árbol
3.1.3. Aplicaciones
3.2. Árboles binarios
3.2.1. Generalidades
3.2.2. Creación de un árbol binario
3.2.3. Recorrido de un árbol binario
3.2.4. Búsqueda en un árbol binario
Estructuras de datos Unidad 3. Almacenamiento
4
3. Almacenamiento
Esta unidad con la que se cierra el estudio de la materia de Estructuras de Datos es de vital
importancia en tu carrera, ya que aprenderemos formas jerárquicas de almacenamiento de
datos. Desde hace mucho tiempo en el mundo han existido y siguen existiendo las jerarquías:
en los gobiernos, la milicia, las iglesias, las familias, etc. Asimismo, en términos informáticos,
en lo que se refiere al almacenamiento de datos, existen las jerarquías. Los árboles son
formas no lineales de almacenamiento de datos. En la siguiente figura podemos ver la imagen
de un árbol de genealogía, dicho árbol pertenece a un programa de genealogía de descarga
gratuita en internet. La siguiente figura muestra un ejemplo de un árbol genealógico generado
por un software que puedes descargar de forma gratuita en la dirección que aparece debajo de
la figura, un árbol genealógico es un claro ejemplo del uso práctico que podemos darle al tema
de árboles y árboles binarios.
Figura. Árbol de genealogía
Recuperado de: Red.ahorro.net
3.1. Árboles
Un árbol es un objeto que comienza con una raíz (root) y se extiende en varias ramificaciones
o líneas (edges), cada una de las cuales puede extenderse en ramificaciones hasta terminar
finalmente en una hoja. Consulta Goodrich & Tamassia (2010, pp. 229 - 232) para que
puedas conocer de una forma genérica acerca del tema de los árboles. Esta referencia te
proporcionará un panorama más amplio del tema de los árboles y su aplicación práctica en
actividades del día a día. Los autores de la bibliografía mencionada describen los árboles, su
algoritmo, aplicaciones y los complementan con ejemplos; primeramente desarrollan la
definición del concepto de árboles, enseguida plantean situaciones de nuestra vida cotidiana
donde empleamos las estructuras de árboles; un claro ejemplo lo vemos en la imagen anterior,
Estructuras de datos Unidad 3. Almacenamiento
5
donde en un árbol genealógico se representan las diferentes ramificaciones de los
antepasados de una persona o familia en particular.
Los árboles representan las estructuras no lineales y dinámicas de datos más importantes en
computación:
Dinámicas, puesto que la estructura árbol puede cambiar durante la ejecución de un
programa.
No lineales, puesto que a cada elemento del árbol pueden seguirle varios elementos.
La siguiente figura es un ejemplo de la representación gráfica de un árbol donde
podemos ver claramente que a cada nodo del árbol le puede seguir otro nodo, esto nos
permite conocer que un árbol es no lineal. Un árbol es dinámico ya que puede cambiar
su estructura una vez que se está ejecutando el programa.
Figura. Representación de un árbol
Recuperado de: computacion.cs.cinvestav.mx
Generalidades
En la ciencia de la computación definimos un árbol como un conjunto de nodos y líneas. Un
nodo es un elemento de información que reside en el árbol. Una línea es un par de nodos
ordenados <u,v>, y a la secuencia de líneas se le denomina ruta (path).
Además, los árboles tienen las siguientes propiedades:
Tienen un nodo al que se le llama raíz del árbol.
Todos los nodos, excepto la raíz, tienen una sola línea de entrada (el nodo raíz no tiene
ninguna).
Existe una ruta única del nodo raíz a todos los demás nodos del árbol.
Si hay una ruta <a,b>, entonces a „b‟ se le denomina „hijo‟ de „a‟ y es el nodo raíz de
un subárbol.
Ahora, consulta Joyanes (2010, pp. 495 - 505) para que revises la explicación que ofrece el
autor acerca de la representación de los árboles. Podrás encontrar definiciones, imágenes,
etc. La bibliografía te servirá para complementar la información proporcionada en el texto de
Goodrich & Tamassia (2010) ya que el autor da su propia definición del concepto de árbol, sus
Estructuras de datos Unidad 3. Almacenamiento
6
propios casos y ejemplos de aplicaciones en el mundo real. Es importante que consultes la
diferente bibliografía sugerida y que puedas formar tu propio concepto, ejemplos, casos e
incluso aplicaciones propias, seguramente influenciado por tu entorno. Así mismo, Joyanes
(2010) muestra cómo se forman gráficamente los árboles, qué son los nodos, cómo se
representan, cómo se acomodan, etc.
La siguiente ilustración muestra cómo se representan gráficamente los nodos en un árbol.
Figura. Representación de los nodos de un árbol
Recuperado de: www.javaya.com.ar
La figura anterior fue recuperada de la URL: www.javaya.com.ar, este sitio muestra de forma
gráfica y, a través de ejemplos, el tema de los árboles mismo que el autor Joyanes (2010)
también explica en el libro ya citado. Tanto en el sitio web mencionado como en el libro de
Joyanes (2010) encontrarás de forma didáctica la explicación para crear árboles a través de
los nodos, así también cómo acomodar dichos nodos y cómo representarlos en una gráfica. Es
menester que consultes ambas fuentes, tanto la web como la bibliográfica, ya que, a través de
la lectura que tú mismo realices formarás tus propios conceptos y tu visualización de forma
gráfica de un árbol a través de nodos. Aprenderás con diferentes ejemplos a crear y utilizar los
árboles.
Creación de un árbol
Enseguida tienes una lista de 10 puntos necesarios para la creación de un árbol, éstas son
consideraciones para crear paso a paso el árbol y codificarlo.
1. NODO indica un elemento, o ítem, de información.
2. Todo árbol que no es vacío, tiene un único nodo raíz.
3. Un nodo X es descendiente directo de un nodo Y, si el nodo X es apuntado por el nodo
Y. X es hijo de Y.
Estructuras de datos Unidad 3. Almacenamiento
7
4. Un nodo X es antecesor directo de un nodo Y, si el nodo X apunta al nodo Y. X es
padre de Y.
5. Se dice que todos los nodos que son descendientes directos (hijos) de un mismo nodo
(padre), son hermanos.
6. Todo nodo que no tiene ramificaciones (hijos), se conoce con el nombre de terminal u
hoja.
7. Todo nodo que no es raíz, ni terminal u hoja se conoce con el nombre de interior.
8. Grado es el número de descendientes directos de un determinado nodo. Grado del árbol
es el máximo grado de todos los nodos del árbol.
9. Nivel es el número de arcos que deben ser recorridos para llegar a un determinado
nodo. Por definición, la raíz tiene nivel 1.
10. Altura del árbol es el máximo número de niveles de todos los nodos del árbol.
Ahora, consulta Goodrich & Tamassia (2010, pp. 233 - 250) para que profundices en los
algoritmos de creación de un árbol. Así podrás ampliar tu visión de cómo emplear los puntos
anteriores, incluso podrás consultar ejemplos. Los diez puntos para la creación de un árbol
puedes encontrarlos también en la bibliografía de Goodrich & Tamassia (2010), sin embargo,
además encontrarás ejemplos, imágenes y casos que te permitirán profundizar en el empleo
de dichos pasos.
La siguiente imagen nos ilustra la forma como se van insertando nodos en el árbol.
Figura. Niveles y nodos en un árbol.
Recuperado de: www.javaya.com.ar
Estructuras de datos Unidad 3. Almacenamiento
8
Aplicaciones
El concepto de árboles en programación tiene aplicaciones muy específicas en el mundo real.
Si bien son cosas muy específicas de ciertas ciencias; por ejemplo la Genealogía pudiera ser
para conocer los antepasados de una persona; pero también se puede aplicar en otros
escenarios, como en la cría de animales: con los perros con pedigrí o con los caballos de
carrera; o, también sería aplicable a la propagación de enfermedades.
En matemáticas, por ejemplo, podría ser en la teoría de probabilidad al analizar diferentes
rutas de un suceso.
En el ámbito del desarrollo de software, puede aplicarse en el análisis de una interfaz usuario,
al analizar cómo navega el usuario en un ambiente que le proporciona diferentes opciones de
desplazamiento (por ejemplo en una interfaz en un cajero automático).
Asimismo, puedes consultar bibliografía que te permita conocer otras aplicaciones de los
árboles, para ello, revisa Joyanes & Zahonero (2012, pp. 517 - 530) donde encontrarás más
aplicaciones de los árboles. En este texto puedes encontrar aplicaciones de los árboles como
lo son los empleados en el campo de la medicina para estudiar el comportamiento de una
enfermedad en determinada población o sector de ésta, así como la erradicación de la
enfermedad por medio de ciertos medicamentos. Se analizan las ramificaciones que se
generan, la cantidad de nodos y los recorridos a dichos nodos.
Figura. Plantilla de árbol genealógico
Recuperado de: www.genoom.com
La imagen anterior muestra una plantilla para crear árboles genealógicos, que como ya se
explicó en puntos anteriores, es una de las aplicaciones más prácticas del tema de los árboles
en nuestra vida cotidiana.
Ahora: Ingresa al archivo de Actividades de la unidad 3 y realiza la Actividad 2. Driagrama y
programa un árbol, para un caso que se te plantea, es el caso de un médico general y su
clasificación de pacientes según determinados criterios.
Estructuras de datos Unidad 3. Almacenamiento
9
3.2. Árboles binarios
Generalidades
Un árbol ordenado es aquel en el cual la distribución de las ramas sigue una secuencia lógica.
Los árboles ordenados de grado 2 son de especial interés, puesto que representan una de las
estructuras de datos más importante en computación, conocida como árboles binarios.
Consulta Joyanes (2010, pp. 506 - 520), donde encontrarás de forma detallada la explicación
de árboles binarios y las formas de representarlo y trabajarlo. En esta fuente también podrás
conocer algunas aplicaciones de este tipo de árboles, ejemplos que te ayudarán a ampliar tu
conocimiento. Consultar este libro te servirá también para diferenciar entre árboles y árboles
binarios y cuándo usar cada tipo de árbol según sea el caso.
Así mismo, entra al archivo de Actividades y realiza la Actividad 1. Árboles y árboles binarios,
donde a través de algunas definiciones y explicaciones establecerás la diferencia entre árboles
y árboles binarios, sigue fielmente las indicaciones y envíalas para su revisión.
En un árbol binario, cada nodo puede tener como máximo dos subárboles; y siempre es
necesario distinguir entre el subárbol izquierdo y el subárbol derecho. Algunas aplicaciones de
árboles binarios son: árboles binarios de búsqueda, representación de una expresión
algebraica, un árbol genealógico, etc.; dos árboles binarios son distintos cuando sus
estructuras son diferentes; dos árboles binarios son similares cuando sus estructuras son
idénticas, pero la información que contienen sus nodos difiere entre sí.
Los árboles binarios equivalentes se definen como aquellos que son similares y además los
nodos contienen la misma información. Se define un árbol binario completo como un árbol en
el que todos sus nodos, excepto los de último nivel, tienen dos hijos: el subárbol izquierdo y el
subárbol derecho.
Se puede calcular el número de nodos de un árbol binario completo de altura ”h‟, aplicando la
siguiente fórmula: NÚMERO DE NODOS ABC= 2h–1
Donde ABC significa árbol binario completo, y ”h” la altura del árbol.
Existen dos formas de representar un árbol binario en memoria: por medio de puntero y Por
medio de arreglos.
En la siguiente figura podemos apreciar una representación de un árbol binario y otro casi
completo:
Estructuras de datos Unidad 3. Almacenamiento
10
Figura. Árbol binario y árbol binario casi completo
Recuperado de: computacion.cs.cinvestav.mx
Creación de un árbol binario
Los nodos del árbol binario serán representados como registros, que contendrán como mínimo
tres campos. En un campo se almacenará la información del nodo. Los dos restantes se
utilizarán para apuntar a los subárboles izquierdo y derecho respectivamente.
Tres campos de almacenamiento en un árbol binario:
IZQ: Campo donde se almacena la dirección del subárbol izquierdo del nodo T.
INFO: Campo donde se almacena la información de interés del nodo.
DER: Campo donde se almacena la dirección del subárbol derecho del nodo T.
La definición de un árbol binario en lenguaje algorítmico queda de la siguiente forma:
ENLACE= ^NODO
NODO= REGISTRO
IZQ: tipo ENLACE
INFO: tipo de dato
DER: tipo ENLACE
Fin
Consulta Goodrich & Tamassia (2010, pp. 251 - 260) para que analices el algoritmo de
creación de árboles binarios, lo pongas en práctica y además puedas establecer las
diferencias entre la creación de árboles y la creación de árboles binarios. En el libro
encontrarás el mismo algoritmo para la creación de un árbol binario pero también ejemplos
que te permitirán poner en práctica este algoritmo.
IZQ INFO DER
Estructuras de datos Unidad 3. Almacenamiento
11
Recorrido de un árbol binario
Una de las operaciones más importantes a realizar en un árbol binario es el recorrido de los
mismos. Recorrer significa visitar los nodos del árbol en forma sistemática; de tal manera que
todos los nodos del mismo sean visitados una sola vez. Existen tres formas diferentes de
efectuar el recorrido y todas ellas de naturaleza recursiva, éstas son:
1. Recorrido en preorden:
Visitar la raíz
Recorrer el subárbol izquierdo
Recorrer el subárbol derecho
Figura. Recorrido Pre-orden
Recuperado de: sites.google.com
2. Recorrido en inorden:
Recorrer el subárbol izquierdo
Visitar la raíz
Recorrer el subárbol derecho
Figura. Recorrido Enorden o In-orden
Recuperado de: sites.google.com
3. Recorrido en postorden:
Recorrer el subárbol izquierdo
Recorrer el subárbol derecho
Visitar la raíz
Estructuras de datos Unidad 3. Almacenamiento
12
Figura. Recorrido Post-orden
Recuperado de: sites.google.com
El término visitar puede ser reemplazado por escribir la información el nodo.
Ahora, consulta Joyanes & Zahonero (2012, pp. 531 - 550) para que ahondes más en los tres
tipos de recorridos en árboles. En esta fuente encontrarás ejemplos como ecuaciones
algebraicas donde podrás aplicar los recorridos y así practicarlos.
Líneas anteriores pudiste ver los pasos y las ilustraciones de los recorridos posibles para un
árbol binario, ahora revisarás el algoritmo para cada recorrido.
En el recorrido preorden hay que visitar los nodos en el siguiente orden:
Raíz
Sub arbol izquierdo
Sub árbol derecho
ALGORITMO PRE-ORDEN
PREORDEN(NODO)
{ El algoritmo realiza el recorrido preorden en un árbol binario. NODO es un dato de tipo
PUNTERO}
{INFO, IZQ y DER son campos del registro NODO. INFO es una o más variables de
información del nodo, IZQ y DER son variables de tipo puntero}
Si NODO != NULL entonces
Visitar el NODO
{Escribir la información NODO^.INFO}
Regresa a PREORDEN con PREORDEN(NODO^.IZQ)
{Llamada recursiva con la rama izquierda}
Regresa a PREORDEN con PREORDEN(NODO^.DER)
{Llamada recursiva con la rama derecha}
Fin-si
Fin-algoritmo
En el recorrido in-orden hay que visitar los nodos en el siguiente orden:
Estructuras de datos Unidad 3. Almacenamiento
13
Sub árbol izquierdo
Raíz
Sub árbol derecho
ALGORITMO IN-ORDEN
INORDEN(NODO)
{El algoritmo realiza el recorrido inorden en un árbol binario. NODO es un dato de tipo
PUNTERO}
{INFO, IZQ y DER son campos del registro NODO. INFO es una o más variables de
información del nodo, IZQ y DER son variables de tipo puntero}
Si NODO != NULL entonces
INORDEN(NODO^.IZQ) {Llamada recursiva con la rama izquierda}
Visitar el NODO {Escribir la información NODO^.INFO}
INORDEN(NODO^.DER) {Llamada recursiva con la rama derecha}
Fin-si
Fin-algoritmo
En el recorrido pos-torden hay que visitar los nodos en el siguiente orden:
Sub árbol izquierdo
Sub árbol derecho
Raíz
ALGORITMO POSTORDEN(NODO)
{El algoritmo realiza el recorrido postorden en un árbol binario. NODO es un dato de tipo
PUNTERO}
{ INFO, IZQ y DER son campos del registro NODO. INFO es una o más variables de
información del nodo, IZQ y DER son variables de tipo puntero}
Si NODO ¡= NULL entonces
POSTORDEN(NODO^.IZQ) {Llamada recursiva con la rama izquierda}
POSTORDEN(NODO^.DER) {Llamada recursiva con la rama derecha}
Visitar el NODO {Escribir la información NODO^.INFO}
Fin-si
Fin-algoritmo.
También puedes consultar Goodrich & Tamassia (2010, pp. 261 - 269) y de esta manera
conocer de forma más amplia acerca de los recorridos pre-orden, in-orden y post-orden. Así
podrás ampliar tus referencias acerca de los posibles recorridos a realizar con los árboles
binarios, así mismo podrás conocer en qué situaciones se podría aplicar cada recorrido.
Enseguida realiza la Actividad 3.Programa las operaciones en un árbol binario para que
practiques el tema de árboles binarios. La actividad muestra la imagen de un árbol binario con
sus diferentes nodos, a partir de dicho árbol se te pide realices ciertas acciones.
Estructuras de datos Unidad 3. Almacenamiento
14
Búsqueda de un árbol binario
El árbol binario de búsqueda es una estructura sobre la cual se pueden realizar eficientemente
las operaciones de búsqueda, inserción y eliminación.
Por lo tanto, consulta Joyanes & Zahonero (2012, pp. 551 - 559) para que profundices
entorno a las búsquedas en un árbol binario. Es importante que conozcas de forma clara de
un árbol binario y cuál es la diferencia contra un árbol convencional. Una vez que identifiques
cada tipo de árbol, podrás emplearlos de forma adecuada.
La bibliografía te ofrece diferentes ejemplos que puedes consultar para que practiques y
apliques la búsqueda en un árbol binario.
Algoritmo de Búsqueda
BÚSQUEDA (NODO, INFOR)
{El algoritmo localiza un nodo en un árbol binario de búsqueda. NODO es una variable de tipo
puntero que apunta a la raíz del árbol. INFOR es una variable que contiene la información que
se desea localizar en el árbol. Cabe aclarar que la primera vez la variable NODO no puede ser
vacía.}
Si INFOR < NODO^.INFO entonces
Si NODO^.IZQ = NULL entonces
Escribir “El nodo no se encuentra en el árbol”
Sino
BÚSQUEDA (NODO^.IZQ, INFOR) {Llamada recursiva}
Fin Si
Sino
Si INFOR > NODO^.INFO entonces
Si NODO^.DER = NULL entonces
Escribir “El nodo no se encuentra en el árbol”
Sino
BÚSQUEDA (NODO^.DER, INFOR) {Llamada recursiva}
Fin Si
Sino
Escribir “El nodo se encuentra en el árbol”
Fin Si
Fin Si
Fin del algoritmo
Inserción de un árbol binario de búsqueda
Los pasos que deben realizarse para insertar un elemento a un árbol binario de búsqueda son
los siguientes:
1.-Debe compararse la clave a insertar con la raíz del árbol. Si es mayor, debe avanzarse
hacia el subárbol derecho. Si es menor, debe avanzarse hacia el subárbol izquierdo.
2.-Repetir sucesivamente el paso 1 hasta que se cumpla alguna de las siguientes condiciones:
Estructuras de datos Unidad 3. Almacenamiento
15
2.1 El subárbol derecho es igual a vacío, o el subárbol izquierdo es igual a vacío; en
cuyo caso se procederá a insertar el elemento en el lugar que le corresponde.
2.2 La clave que quiere insertarse es igual a la raíz del árbol; en cuyo caso no se
realiza la inserción.
Consulta Joyanes (2010, pp. 521 - 535) para que profundices en el tema de inserción en un
árbol binario de búsqueda, de esta manera podrás conocer una de las operaciones
importantes a realizar con un árbol binario que es la inserción de datos, ya que sería la primera
operación a realizar, luego realizar búsquedas y después hacer modificaciones a determinados
nodos, aplicar recorridos y finalmente hacer eliminaciones.
Borrado de un árbol binario de búsqueda
Consiste en eliminar un nodo del árbol sin violar los principios que definen justamente un árbol
binario de búsqueda. Se debe distinguir los siguientes casos:
1.-Si el elemento a borrar es terminal u hoja, simplemente se suprime.
2.-Si el elemento a borrar tiene un sólo descendiente, entonces tiene que sustituirse por ese
descendiente.
3.-Si el elemento a borrar tiene dos descendientes, entonces se tiene que sustituir por el nodo
que se encuentra más a la izquierda en el subárbol derecho o por el nodo que se encuentra
más a la derecha en el subárbol izquierdo.
Además, debe recordarse que antes de eliminar un nodo, debe localizársele en el árbol.
Consulta Goodrich & Tamassia (2010, páginas 270 - 274) para que identifiques el algoritmo
de inserción de un árbol binario de búsqueda.
Con este tema concluimos el tema de árboles binarios que, como puedes constatar, es un
tema bastante profundo y útil en el campo de la programación. De esta manera has conocido
los recorridos que se realizan a los árboles binarios, sus algoritmos, diagramas que los ilustran
gráficamente y los códigos aplicables a cada recorrido.
Ya que consultaste los textos señalados, ingresa al archivo de Actividades y realiza la
Actividad 4. Discusión sobre árboles y árboles binarios, se trata de un foro de discusión donde
se encuentran algunas preguntas que se discutirán con la finalidad de ampliar nuestro
panorama acerca de los diferentes conceptos abordados a lo largo de la Unidad 3.
Almacenamiento.
Autoevaluación
Para reforzar los conocimientos relacionados con los temas que se abordaron en esta tercera
unidad del curso, es necesario que resuelvas la autoevaluación de la unidad.
Para realizar esta actividad, abre tu archivo de Actividades de la unidad.
Estructuras de datos Unidad 3. Almacenamiento
16
Por último deberás realizar la Evidencia de aprendizaje. Almacenamiento para que puedas
aplicar los conocimientos adquiridos en esta unidad y los apliques mediante la realización de
un programa en java, no olvides seguir las instrucciones al pie de la letra.
Autorreflexiones
Además de enviar tu trabajo de la Evidencia de aprendizaje, es importante que ingreses al
foro Preguntas de Autorreflexión y consultes las preguntas que tu Facilitador(a) presente, a
partir de ellas, debes elaborar tu Autorreflexión en un archivo de texto llamado
DEDA_U3_ATR_XXYZ. Posteriormente envía tu archivo mediante la herramienta
Autorreflexiones.
Cierre de la unidad
En esta unidad se abordaron diferentes temas de gran interés en la programación, estos
temas son los árboles y los árboles binarios. Con ayuda del material bibliográfico de apoyo
pudiste conocer lo que es un árbol, su algoritmo, así como implementaciones reales.
También revisaste los árboles binarios, cómo se usan, la forma de representarse, sus
algoritmos y sus variantes: algoritmo pre-orden, in-orden y post-orden. También conociste lo
árboles binarios de búsqueda, su algoritmo, forma de insertarles datos, así como la forma de
borrar de un árbol binario, con estos temas y con esta unidad concluimos la asignatura de
Estructuras de datos.
De esta manera llegamos al término de la Unidad 3. Almacenamiento y además de la
asignatura Estructuras de datos. A lo largo de las unidades desarrollamos diversos temas que
son muy complejos, pero a la vez sumamente útiles, en la programación, es importante que
además de haber revisado el contenido de tus unidades, hayas consultado las fuentes de
internet y las fuentes bibliográficas, asimismo tengas el buen hábito de la lectura y del
autoaprendizaje ya que, en el área de las TIC´s la evolución en los temas es sumamente
rápida y es necesario que te estés actualizando, si bien, las estructuras de datos no son tan
volátiles como otros temas, la forma de aplicarlas en diversos lenguajes si va cambiando
velozmente.
¡En hora buena, concluiste la asignatura Estructura de datos!
Para saber más…
Existen diversas fuentes que puedes consultar para ampliar tus conocimientos. Entre otras
fuentes puedes consultar:
http://delta.cs.cinvestav.mx/~adiaz/anadis/BinTree.pdf
En esta fuente encontrarás un documento de extensión .pdf en donde podrás revisar de una
forma muy práctica definiciones, recorridos y algoritmos de árboles.
http://www.lcc.uma.es/~galvez/ftp/tad/tadtema4.pdf
Estructuras de datos Unidad 3. Almacenamiento
17
Esta otra fuente detalla más a profundidad los diferentes conceptos relacionados con los
árboles, así mismo explica de forma algebraica el algoritmo base para programar árboles.
Fuentes de consulta
Goodrich & Tamassia, 2010. Estructura de Datos y Algoritmos en Java. México: CECSA
Joyanes & Zahonero, 2012. Programación en Java 2, Algoritmos, estructuras de datos y
programación orientada a objetos. España: Mc Graw Hill
Joyanes, 2010. Fundamentos de programación, Algoritmos, Estructuras de datos y objetos.
España: Mc Graw Hill