Está en la página 1de 17

Concepto de Listas

Una lista es una estructura de datos lineal que se puede representar simbólicamente como un
conjunto de nodos enlazados entre sí. Las listas permiten modelar diversas entidades del mundo
real como por ejemplo, los datos de los alumnos de un grupo académico, los datos del personal de
una empresa, los programas informáticos almacenados en un disco magnético, etc.

Un ejemplo de lista correspondiente a los nombres y apellidos de un conjunto de alumnos con su


código de matrícula.

Una definición formal de lista es la siguiente: “Una lista es una secuencia de elementos del mismo
tipo, de cada uno de los cuales se puede decir cuál es su siguiente (en caso de existir).”

Operaciones básicas de una lista


En toda estructura de datos hay dos operaciones que sobresalen por encima del resto: Insertar y
borrar. Estas dos operaciones aparecerán en toda estructura de datos, puede que con otro
nombre, o con una funcionalidad ligeramente diferente, pero su filosofía será la misma,
proporcionar unas operaciones para la construcción de la estructura de datos.

 Insertar: La operación insertar consiste en la introducción de un nuevo elemento en la


lista.
 Borrar: La operación borrar consiste en la eliminación de la lista de un elemento concreto.
El elemento a borrar será escogido por el programador.
 Buscar: busca un elemento en la lista.
 Localizar: obtiene la posición del nodo en la lista.
 Imprimir: imprime los elementos de la lista
Lista Circulares
La lista circular es una especie de lista enlazada simple o doblemente enlazada, pero que posee
una característica adicional para el desplazamiento dentro de la lista: esta no tiene fin. 

En una lista circular el último nodo a punta al primero.

En las listas circulares, nunca se llega a una posición en la que ya no sea posible desplazarse.
Cuando se llegue al último elemento, el desplazamiento volverá a comenzar desde el primer
elemento. 

Para tener el control de la lista es mejor guardar ciertos elementos: el primer elemento, el último
elemento y el número de elementos. 

Cualquiera que sea la posición en la lista, los punteros inicio y fin siempre apuntará hacia el primer
y el último elemento respectivamente. 
El campo tamaño contendrá el número de elementos de la lista cualquiera sea la operación
efectuada sobre la lista. 
Doblemente Enlazadas

Una lista doblemente enlazada es una estructura de datos que consiste en un conjunto de nudos
enlazados secuencialmente. Cada nudo contiene dos campos, llamados enlaces, que son
referencias al nodo siguiente y al anterior en la secuencia de nudos. 

El doble enlace de los nodos permite recorrer la lista en cualquier dirección. Mientras que agregar
o eliminar un nodo en una lista doblemente enlazada requiere cambiar más enlaces que en estas
mismas operaciones en una lista enlazada simple, las operaciones son más simples porque no hay
necesidad de mantener guardado el nodo anterior durante el recorrido, ni necesidad de recorrer
la lista para hallar el nodo anterior, la referencia al nodo que se quiere eliminar o insertar es lo
único necesario.

Ventajas

A lista doblemente enlazada es de gran importancia porque nos permite crear múltiples
programas en c gracias a las siguientes características:

 Nos permite almacenar datos de una forma organizada.


 Es una estructura TDA dinámica
 Cada nodo de la lista doblemente enlazada contiene dos punteros de forma que uno
apunta al siguiente nodo y el otro al predecesor. (Permite que se pueda recorrer la lista en
ambos sentidos).
Uso y Aplicaciones

Las listas nos permiten darles una infinidad de uso ya que son de mucha utilidad al momento de
organizar la información de manera que se pueda acceder a ella de manera eficiente, por lo que
resulta muy útil en diversas áreas del mundo real como por ejemplo:

En informática nos permite organizar de


manera adecuada los correos
electrónicos

En el área comercial nos permite enlistar


adecuadamente el personal de la planilla
de una empresa

Otro ejemplo en uso comercial


seria en un negocio nos permite
tener un inventario de nuestros
productos.
Estructura de Datos y los Arboles de Datos

Concepto de Arboles

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. 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.

Los Árboles son las estructuras de datos más utilizadas, pero también una de las más complejas, Los
Árboles se caracterizan por almacenar sus nodos en forma jerárquica y no en forma lineal como
las Listas Ligadas, Colas, Pilas, etc.

La imagen muestra la diferencia entra las estructuras de datos líneas y las no lineales como lo son los
Árboles.
Características y Propiedades de los Arboles
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.
4. Un nodo X es antecesor directo de un nodo Y, si el nodo X apunta al nodo Y. X es padre de
Y. Se dice que todos los nodos que son descendientes directos (hijos) de un mismo nodo
(padre), son hermanos.
5. Todo nodo que no tiene ramificaciones (hijos), se conoce con el nombre de terminal u
hoja.
6. Todo nodo que no es raíz, ni terminal u hoja se conoce con el nombre de interior.
7. 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.
8. 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.
9. Altura del árbol es el máximo número de niveles de todos los nodos del árbol.
Longitud de Camino y Arboles

LONGITUD DE CAMINO INTERNO Y EXTERNO

Se define la longitud de camino X como el número de arcos que deben ser recorridos para llegar
desde la raíz al nodo X. Por definición la raíz tiene longitud de camino 1, sus descendientes
directos longitud de camino 2 y así sucesivamente.

LONGITUD DE CAMINO INTERNO

La longitud de camino interno es la suma de las longitudes de camino de todos los nodos del árbol.
Es importante porque permite conocer los caminos que tiene el árbol. Puede calcularse por medio
de la siguiente fórmula:

Donde i representa el nivel del árbol, h su altura y ni el número de nodos en el nivel i.


LONGITUD DE CAMINO EXTERNO

Se puede definir ahora la longitud de camino externo como la suma de las longitudes de camino
de todos los nodos especiales del árbol. Se calcula por medio de la siguiente fórmula:

En donde i representa el nivel del árbol, h su altura y nei el número de nodos especiales en el nivel
i.
Arboles Binarios
Un árbol ordenado es aquel en el cual la distribución de las ramas sigue cierto orden. 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.

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.

Arboles Binarios Balanceados


La búsqueda más eficiente se efectúa en un árbol binario balanceado.

Desafortunadamente, la función Inserta no asegura que el árbol permanezca balanceado, el grado


de balance depende del orden del orden en que son insertados los nodos en el árbol.

Supóngase que tenemos un árbol balanceando, y usamos la función para insertar un nodo en
dicho árbol. Entonces el árbol resultante puede o no permanecer balanceado.

Es fácil ver que el árbol se vuelve desbalanceado si y solo si el nodo recién insertado es un
descendiente izquierdo de un nodo que tenia de manera previa balance de 1 o si es hijo derecho
descendiente de un nodo que tenia de manera previa balance.
Arboles Multicaminos

Los árboles multicamino o árboles multirama son estructuras de datos de tipo árbol usadas en
computación.

Un árbol multicamino es un árbol ordenado cuyos nodos deben tener un número específico de
hijos. En este tipo de árbol conviene definir nodos externos especiales que no tienen hijos, y
normalmente no tienen ni nombre ni información asociada. Los nodos externos actúan como
nodos ficticios para los nodos que no tienen el número de hijos especificados. Un ejemplo de
árboles multicamino son los árboles binarios.

Ventaja
La principal ventaja de este tipo de árboles consiste en que existen más nodos en un mismo nivel
que en los árboles binarios con lo que se consigue que, si el árbol es de búsqueda, los accesos a los
nodos sean más rápidos.

Desventaja
El inconveniente más importante que tienen es la mayor ocupación de memoria, pudiendo ocurrir
que en ocasiones la mayoría de los nodos no tengan descendientes o al menos no todos los que
podrían tener desaprovechándose por tanto gran cantidad de memoria.
Lo ideal es que estos árboles tengan altura mínima

Recorrido de los Arboles


El recorrido de un árbol es el proceso para recorrer (desplazarse a lo largo) un árbol de manera sistemática a fin de que
cada vértice se visite y procese exactamente una vez .Hay tres métodos para recorrer un árbol binario a saber recorridos
de preorden , de inorden y de posorden.

Recorrido Preorden
Para recorrer un árbol binario no vacío en preorden, hay que realizar las siguientes operaciones recursivamente en cada
nodo, comenzando con el nodo de raíz:
1. Visite la raíz
2. Atraviese el sub-árbol izquierdo
3. Atraviese el sub-árbol derecho
Recorrido Inorden

Para recorrer un árbol binario no vacío en inorden (simétrico), hay que realizar las siguientes operaciones
recursivamente en cada nodo:
1. Atraviese el sub-árbol izquierdo
2. Visite la raíz
3. Atraviese el sub-árbol derecho

Recorrido Posorden

Para recorrer un árbol binario no vacío en postorden, hay que realizar las siguientes operaciones recursivamente en
cada nodo:
1. Atraviese el sub-árbol izquierdo
2. Atraviese el sub-árbol derecho
3. Visite la raíz

Arboles binarios de Búsqueda


Para cada nodo de un árbol binario de búsqueda debe cumplirse la propiedad:

 Las claves de los nodos del subárbol izquierdo deben ser menores que la clave de la raíz.
 Las claves de los nodos del subárbol derecho deben ser mayores que la clave de la raíz.

Esta definición no acepta elementos con claves duplicadas. Se indican en la Figura, el descendiente
del subárbol izquierdo con mayor clave y el descendiente del subárbol derecho con menor valor
de clave; los cuales son el antecesor y sucesor de la raíz.

El siguiente árbol no es binario de búsqueda, ya que el nodo con clave 2, ubicado en el subárbol
derecho de la raíz, tiene clave menor que ésta.
Uso y aplicaciones de los Arboles
Los árboles binarios tienen la utilidad de ordenar la información, separando el conjunto en dos
posibilidades, izquierda y derecha, por lo que reducimos el conjunto de búsqueda a la mitad en
cada paso.

Las aplicaciones de los arboles binarios son muy variadas ya que se les puede utilizar para
representar una estructura en la cual es posible tomar decisiones con dos opciones en distintos
puntos.

Como todos sabemos un árbol binario es una estructura de datos, y como todas, este sirve para
organizar datos para facilitar su manipulación, ya sea el ingreso, borrado o búsqueda de datos, y
precisamente una de las principales ventajas de los árboles binarios es la búsqueda, ya que como
en muchos algoritmos de búsqueda necesitamos tener la información ordenada y en nuestros
árboles binarios precisamente los datos van ingresando de forma ordenada. 
REPRESENTACION DE UNA ECUACION
ALGREBRAICA

ARBOL GENEALÓGICO

WEBGRAFÍA

http://ocw.upm.es/lenguajes-y-sistemas-informaticos/estructuras-de-
datos/contenidos/tema3nuevo/Listas.pdf

http://www.hci.uniovi.es/Products/DSTool/listas/listas-operaciones.html

https://www.ecured.cu/Listas_(informatica)

http://www.hci.uniovi.es/Products/DSTool/listas/listas-queSon.html

https://es.ccm.net/faq/2972-las-listas-circulares
http://estr-datos-omar.blogspot.com/2011/10/listas-circulares.html

https://kesquivel.files.wordpress.com/2010/08/listas-circularesv2010.pdf

http://coodigob.blogspot.com/2013/03/listas-enlazadas-circulares.html

http://interactivepython.org/runestone/static/pythoned/Trees/RecorridosDeArboles.html

http://www.utm.mx/~jahdezp/archivos%20estructuras/balanceo%20de%20arboles.pdf

http://www.monografias.com/trabajos-pdf5/recorrido-y-busqueda-arboles/recorrido-y-busqueda-
arboles.shtml#recorridoa#ixzz5FzWKg82S

http://www2.elo.utfsm.cl/~lsb/elo320/clases/c6.pdf

https://serprogramador.es/programar-arboles-binarios-parte-1-introduccionclasesagregar-
nodo/#para_que_sirve

UNIVERSIDAD DE PAMAMÀ
CENTRO REGIONAL UNIVERSITARIO DE COLÒN
FACULTAD DE INFORMÀTICA, ELECTRONICA Y
COMUNICACIÓN

NOMBRE:

ABDIEL AMORES 3-726-2021


KARINA PINEDA 3-728-353
JERRICA GALE 3-724-2021
ORIEL MARTINEZ 3-738-1826
SAUL SALAZAR 3-738-2133
GISSEL ERINNA 3-743-1667

MATERIA
PROGRAMACION II

PROFESORA
CELIA HALL

TEMA: EL NACIMIENTO Y EL RECIEN NACIDO


GRUPO: II B APLICADA A LA ENSEÑANZA

FECHA DE ENTREGA
24 DE MAYO DEL 2018

También podría gustarte