Listas circulares.

Slides:



Advertisements
Presentaciones similares
Definición Las colas ofrecen dos operaciones fundamentales, que son encolar (al final de la cola) y desencolar (del comienzo de la cola). Al igual que.
Advertisements

PILA.
IBD Clase 7.
ESTRUCTURA DE DATOS Unidad 03 PILAS.
ESTRUCTURA DE DATOS Unidad 03 COLAS.
ESTRUCTURA DE DATOS Unidad 04 Árboles BINARIOS DE BUSQUEDA.
Iniciación al Power Point
ÁRBOLES EN C UNIVERSIDAD “ALONSO DE OJEDA” Facultad de Ingeniería
TDA LISTA ESTRUCTURAS DE DATOS.
Unidad 5 Listas Enlazadas Bibliografía: Algoritmos y Estructuras de datos de Aguilar y Martinez. Unidad 9 Autor: Ing Rolando Simon Titiosky.
Listas enlazadas c++ Prof. Franklin Cedeño.
Estructuras de datos y algoritmos
DOM ( Document Object Model) Prof. Franklin Cedeño.
Programación y Estructuras de Datos
ÁRBOLES BINARIOS DE BUSQUEDA
PROGRAMACION DE Pilas o Stacks y Colas
PROGRAMACION DE ESTRUCTURAS DE DATOS
Algoritmos Aleatorizados
Implementación de archivos
Estructuras de Datos Especificación formal de Listas.
Oscar Bedoya. Edificio 331, 2º piso, E.I.S.C. Estructuras de datos y algoritmos.
Colas y Listas Enlazadas
Almacenamiento y Recuperacion de Información TAD_ABB Ana Lilia Laureano Cruces Universidad Autónoma Metroplotiana.
COLAS, IMPLEMENTACIÓN A PARTIR DE LISTAS Y PARA PILAS
PROGRAMACION II.  Es un conjunto de datos no necesariamente del mismo tipo, los cuales se podrán manipular o realizar cualquier operación sobre cada.
C++ LISTAS C++ 11/04/2017 Ing. Edgar Ruiz Lizama.
Heaps Mauro Maldonado Abril/2005. Introducción La estructura heap es frecuentemente usada para implementar colas de prioridad. En este tipo de colas,
ESTRUCTURAS DE DATOS I Conocer, comprender y analizar algunos de los principales tipos de estructuras de datos.
7.  El TDA Diccionario.
Estructura de Datos y Algoritmos
Tablas de Hash.
Árboles binarios de búsqueda
Listas enlazadas.
Administración de Memoria
Aplicación de estructuras de datos
Árboles Recomendado: 1. Nivelación Funciones
Árboles Binarios Estructuras de Datos.
LISTA DOBLEMENTE ENLAZADA
Clasificación de los TDA
Universitarios: Ricardo Gonzales Jimenez Wilfredo Coca Reinaldo Yohan Docente: Lic. Israel Torrez Valverde Tema: Listas doblemente Enlazadas.
Listas Ligadas Simples. Definíción I  Es, en sencillas palabras. un grupo de datos organizados secuencialmente, pero a diferencia de los arreglos, la.
Diseño de Algoritmos. Curso J.L. Leiva O. TEMA3TEMA3 TEMA3TEMA3 Estructuras Dinámicas Contenido del Tema Profesor: José Luis Leiva Olivencia. Despacho:
Estructura de Datos M.C. José Andrés Vázquez Flores FCC/BUAP
Unidad 4: LISTAS.
Trabajar con Listas Las listas con viñetas o numeradas pueden ser usadas en sus documentos para organizar y formatear texto dándole más énfasis. Usted.
Punteros Recomendado: 1. Nivelación Funciones
Heap Fibonacci heap de Fibonacci es una estructura de datos similar a un heap binomial pero con mejor coste amortizado. se utiliza para mejorar el tiempo.
INSTITUTO TECNOLOGICO DE APIZACO
Algoritmos y Estructuras de datos Listas Doblemente enlazadas
ORGANIZAR INFORMACIÓN EN WINDOWS.  Sirven para organizar la información.  En ellas se pueden almacenar archivos, programas y más carpetas  El nombre.
Ayudantia 3: Pilas- Colas
 Introducción  Conceptos El equipo demostrara y mostrara los conceptos, definición y funcionamiento de una las “listas doblemente enlazadas y circulares”
METODOS DE BUSQUEDA EN C++ Oscar Michel Ruiz León
Hoja de Cálculo EXCEL Introducción a la informática
Árboles Binarios de Búsqueda (ABB)
IMPLEMENTACION DE COLAS MEDIANTE LISTAS
Lic. En C.C. Ann Margareth Meza Rodríguez
Estructura de Datos..
PROGRAMACION DE Pilas o Stacks

M.C. Meliza Contreras González
Laboratorio de programación
Laboratorio de programación Luisa Fernanda Rincón Pérez
PROGRAMACION DE Pilas o Stacks y Colas
PUNTEROS. Los punteros son de amplia utilización en programación y muchos lenguajes permiten la manipulación directa o indirecta de los mismos. Su razón.
Listas Dinámicas.
UNIDAD 8 Lista Enlazada: Eliminar Deseamos eliminar un elemento llamado elem de la lista enlazada. Es posible que la variable ini sea modificada. main(){
1 ListaUna Lista se define como una serie de N elementos E 1, E 2,..., E N, ordenados de manera consecutiva, es decir, el elemento E k (que se denomina.
Clase II Estructuras dinámicas (TAD) Listas Enlazadas. ¿A que llamamos estructuras dinámicas? ¿Por qué son necesarias? Ventajas y Desventajas que tendremos.
Lenguaje de Programación II Prof. Rafael Montenegro B. Carrera: T.S.U en Informática Periodo: 2014-I.
Transcripción de la presentación:

Listas circulares

Que es una lista circular? Una lista circular es una lista lineal en la que el ultimo nodo apunta al primero

Operaciones básicas con listas circulares: Añadir o insertar nodos Buscar o localizar nodos Borrar nodo. Moverse a través de la lista siguiente.

Añadir un nodo en una lista circular vacía: El único caso especial a la hora de insertar nodos en listas circulares el cuando la lista este vacía.

Añadir un nodo a una lista circular vacía Partiremos de que ya tenemos el nodo a insertar y, por supuesto un puntero que apunte a él, además el puntero que define la lista, que valdrá NULL: Lista vacía Nodo insertado 1.- lista apunte a nodo 2.- lista->sgte apunte a nodo

Añadir un nodo a una lista circular no vacía:

Añadir un nodo a una lista circular no vacía: . 1.- hacem os que nodo->sgte apunte a lista->sgte.

Añadir un nodo a una lista circular no vacía: 2.- Después que lista->sgte apunte a nodo.

Eliminar Para esta operación podemos encontrar tres casos diferentes: Eliminar un nodo cualquiera, que no sea el apuntado por lista. Eliminar el nodo apuntado por lista, y que no sea el único nodo. Eliminar el único nodo de la lista.

Buscar un nodo a una lista circular Cuando queremos buscar un nodo en una lista circular solo hay que tener una precaución, es necesario almacenar el puntero del nodo en que se empezó la búsqueda e ir comparando que no sea igual al sgte para evitar entrar en un bucle infinito. Por lo demás , la búsqueda es igual que en el caso de listas enlazadas lineales o abiertas.

Eliminar un nodo de una lista circular con mas de un nodo. Consideremos los dos primeros casos como uno solo. 1.-hacemos que lista apunte al nodo anterior al que queremos eliminar. Lista=lista->sgte mientras lista->sgte !=nodo

2.-Hacemos que lista ->sgte apunte a nodo->sgte 3.- Eliminamos el nodo.

Eliminamos el único nodo de una lista circular Si lista es el único nodo de una lista circular Borramos el nodo apuntado por lista. Hacemos que lista valga NULL. 1 2 DATO . NULL LISTA LISTA

Otro algoritmo para eliminar nodos Existe un modo alternativo de eliminar un nodo en una lista circular con mas nodos Supongamos que queremos eliminar un nodo apuntado por nodo:

1.- Copiamos el contenido del nodo->sgte sobre el contenido de nodo.

2.- Hacemos que nodo->sgte apunte a nodo->sgte->sgte 3.- Eliminamos nodo->sgte 4.- Si lista es el nodo->sgte, hacemos que lista=nodo