Estructura de Datos Luis Humeau Waldi Saturno

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.
Unidad 5 Listas Enlazadas Bibliografía: Algoritmos y Estructuras de datos de Aguilar y Martinez. Unidad 9 Autor: Ing Rolando Simon Titiosky.
Estructura de Datos En C++
Tema 1. Introducción a la programación (Lenguaje java).
PROGRAMACION DE Pilas o Stacks y Colas
Colas y Listas Enlazadas
Listas Ligadas1UVM Listas Ligadas. 2UVM Listas Ligadas3UVM 5.1 Objetivos El estudiante manejará el tad Lista Ligada, sobre memoria estática.
Estructuras dinámicas de datos, TAD Lista, parte 2
COLAS, IMPLEMENTACIÓN A PARTIR DE LISTAS Y PARA PILAS
Igor Santos Grueiro. De este tipo de pilas NO vamos a hablar.
POR: Meza Guevara Sandra Fabiola Contreras Meléndez Damariz Figueroa Cisneros Ricardo UNIVERSIDAD TECNOLÓGICA DE DURANGO TECNOLÓGIAS DE LA INFORMACIÓN.
1 Estructuras de Datos Elementales:stacks (pilas), queues (colas), linked lists (listas enlazadas), y rooted trees (árboles con raíz) Agustín J. González.
Pilas y Colas Estructuras de Datos.
República Bolivariana de Venezuela. Ministerio del PP para la Defensa. Universidad Nacional Experimental de la Fuerza Armada. Cátedra: Instrucción Militar.
UNIVERSIDAD TECNOLÓGICA DE DURANGO
Estructuras de datos Fundamentos de análisis y diseño de algoritmos.
Ayudantia 3: Pilas- Colas
Lic. En C.C. Ann Margareth Meza Rodríguez
Pilas y Colas Cursos Propedéuticos 2006 Programación y Estructuras de Datos Manuel Montes Claudia Feregrino
PROGRAMACION DE Pilas o Stacks
PILAS Una pila es una estructura de datos o lista de elementos, a la cual se le puede insertar o eliminar su contenido sólo por uno de sus extremos, llamado.
ESTRUCTURAS LINEALES “LA PILA”
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.
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.
Lenguaje de Programación II Prof. Rafael Montenegro B. Carrera: T.S.U en Informática Periodo: 2014-I.
Introducción a punteros en C
L ISTAS ENLAZADAS M.IA. Daniel Alejandro García López.
INSTITUTO TECNOLÓGICO SUPERIOR DE FELIPE CARRILLO PUERTO. MATERIA: Estructura De Datos TIPO: Presentación (Unidad 3 Estructura lineales ) DOCENTE: MTL.
Oscar Bedoya. Edificio 331, 2º piso, E.I.S.C. Estructuras de datos y algoritmos.
Estructuras PILA - COLA - LISTA.
Clase Lista C++ Estándar
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Listas enlazadas particulares
IPOO 2 cuatrimestre 2017 Departamento de Ciencias e Ingeniería
LISTAS..
IPOO 2 cuatrimestre 2017 Departamento de Ciencias e Ingeniería
Estructuras de datos y algoritmos
Listas Dinámicas.
PILAS. Operaciones de las Pilas Operaciones que se pueden realizar con una pila son: -PUSH (pila, elemento) -POP (pila) -VACIA (pila)
Aprendiendo Java Pilas y Colas Por Juan Astudillo.
Introducción a las estructuras de datos
LENGUAJE DE PROGRAMACION “PILAS”
Ingeniero en Computación José Alfredo Cobián Campos
PILAS Una pila es una estructura de datos o lista de elementos, a la cual se le puede insertar o eliminar su contenido sólo por uno de sus extremos, llamado.
PILAS Y COLAS INTEGRANTES: JAVIER GONZALEZ JORGE LUIS SOLIS ISAC FERNANDEZ.
PILAS Y COLAS INTEGRANTES: JAVIER GONZALEZ JORGE LUIS SOLIS ISAC FERNANDEZ.
Árboles clase 6 Apoyo de Práctica. Resumen ●Árboles ○Concepto ○Características ○Dinámica ○Recorridos o barridos. ●Ejercicio Sugerido.
Pilas y Colas Fundamentos.
Manuel Montes y Gómez Laboratorio de Tecnologías del Lenguaje
Estructuras de Datos MC Beatriz Beltrán Martínez Primavera 2018
Estructuras Dinámicas
EL TDA COLA Estructuras de Datos.
Listas ligadas Dra. María de Lourdes López García
Colas ESTRUCTURA DE DATOS. Colas Definición. Es una lista lineal de elementos en la que las operaciones de insertar y eliminar se realizan en diferentes.
UNIDAD 3 LISTAS LISTAS CIRCULARES Integrantes: Galmiche Vera Orlando Mandujano González Ramón Enrique Salvador Magaña Kelyn Osmara.
GRAFOS ESTRUCTURA DE DATOS. INTRODUCCION Los grafos son estructuras de datos Representan relaciones entre objetos Relaciones arbitrarias, es decir No.
Arboles. Árboles ¿Qué son? Son Estructuras de datos “No lineales”” ¿Para que se utilizan? Representar Fórmulas Algebraicas Organizar Objetos Inteligencia.
Universidad Autónoma del Estado de México
Árboles Binarios Estructuras de Datos.
Pilas y colas. República Bolivariana de Venezuela.
COLAS O LINEA DE ESPERA EN C# SHARP. ¿QUE ES UNA COLA O LINEA DE ESPERA?  Es una estructura de datos que almacena elemento en una lista y permite acceder.
IPOO 2 cuatrimestre 2018 Departamento de Ciencias e Ingeniería
Árboles Binarios Estructuras de Datos. Las estructuras dinámicas son las en la ejecución varia el número de elementos y uso de memoria a lo largo del.
Departamento de Ingeniería de Sistemas e Industrial
TALLER DE CERTIFICACIÓN INTERNACIONAL
Transcripción de la presentación:

Estructura de Datos Luis Humeau Waldi Saturno

Pilas Una pila es una método de estructuración datos usando la forma LIFO (último en entrar, primero en salir), que permite almacenar y recuperar datos.

Operaciones de las Pilas Las operaciones que se pueden realizar con una pila son: PUSH (pila, elemento): Introduce un elemento en la pila. También se le conoce como poner o meter. POP (pila): Elimina un elemento de la pila. También se le conoce como sacar o quitar. VACIA(pila): Función booleana que indica si la pila esta vacía o no.

Ejemplo

Ejemplo 2 Java import java.util.*; /** * Tecnologia */ public class PILA { public static void main(String[] args) { Stack pila = new Stack (); for (int x=1;x <= 1000;x++) pila.push(Integer.toString(x)); while (!pila.empty()) System.out.println(pila.pop()); }

COLAS Una cola es una estructura de datos, caracterizada por ser una secuencia de elementos en la que la operación de inserción push se realiza por un extremo y la operación de extracción pop por el otro. También se le llama estructura FIFO (del inglés First In First Out), debido a que el primer elemento en entrar será también el primero en salir.

Ejemplos Cola de automoviles esperando servicio en una gasolinera. Cola de clientes en una ventanilla del banco para pagar un servicio. Cola de programas en espera de ser ejecutados por una computadora.

Tipos de Colas Cola Simple: Estructura lineal donde los elementos salen en el mismo orden en que llegan. Cola circular : Representación lógica de una cola simple en un arreglo. Cola de Prioridades: Estructura lineal en la cual los elementos se insertan en cualquier posición de la cola y se remueven solamente por el frente. Cola Doble (Bicola) : Estructura lineal en la que los elementos se pueden añadir o quitar por cualquier extremo de la cola (Cola bidireccional).

Operaciones 1.- Insertar A 2.- Insertar B 3-.Insertar C 4-.Remover Elemento 5-. Insertar D 6.- Remover Elemento

Operaciones básicas en Colas Simples Insertar.- Almacena al final de la cola el elemento que se recibe como parámetro. Eliminar.- Saca de la cola el elemento que se encuentra al frente. Vacía.- Regresa un valor booleano indicando si la cola tiene o no elementos (true – si la cola esta vacía, false – si la cola tiene al menos un elemento). Llena.- Regresa un valor booleano indicando si la cola tiene espacio disponible para insertar nuevos elementos ( true – si esta llena y false si existen espacios disponibles).

Colas-Utilización Las colas se utilizan en sistemas informáticos, transportes y operaciones de investigación (entre otros), dónde los objetos, personas o eventos son tomados como datos que se almacenan y se guardan mediante colas para su posterior procesamiento. Este tipo de estructura de datos abstracta se implementa en lenguajes orientados a objetos mediante clases, en forma de listas enlazadas. Una cola es una estructura de datos, caracterizada por ser una secuencia de elementos en la que la operación de inserción push se realiza por un extremo y la operación de extracción pop por el otro. También se le llama estructura FIFO (del inglés First In First Out), debido a que el primer elemento en entrar será también el primero en salir.

Operaciones Básicas Crear: – se crea la cola vacía. Encolar (añadir, entrar, insertar): – se añade un elemento a la cola. Se añade al final de esta. Desencolar (sacar, salir, eliminar): – se elimina el elemento frontal de la cola, es decir, el primer elemento que entró. Frente (consultar, front): – se devuelve el elemento frontal de la cola, es decir, el primer elemento que entró.

Colas-JAVA

Lista En Ciencias de la Computación, una lista enlazada es una de las estructuras de datos fundamentales, y puede ser usada para implementar otras estructuras de datos. Consiste en una secuencia de nodos, en los que se guardan campos de datos arbitrarios y una o dos referencias (punteros) al nodo anterior o posterior. El principal beneficio de las listas enlazadas respecto a los array convencionales es que el orden de los elementos enlazados puede ser diferente al orden de almacenamiento en la memoria o el disco, permitiendo que el orden de recorrido de la lista sea diferente al de almacenamiento.

Lista (estructura de datos) Una lista enlazada es un tipo de dato auto- referenciado porque contienen un puntero o link a otro dato del mismo tipo. Las listas enlazadas permiten inserciones y eliminación de nodos en cualquier punto de la lista en tiempo constante (suponiendo que dicho punto está previamente identificado o localizado), pero no permiten un acceso aleatorio. Existen diferentes tipos de listas enlazadas: Lista Enlazadas Simples, Listas Doblemente Enlazadas, Listas Enlazadas Circulares y Listas Enlazadas Doblemente Circulares.

Lista Las listas enlazadas pueden ser implementadas en muchos lenguajes. Lenguajes tales como Lisp y Scheme tiene estructuras de datos ya construidas, junto con operaciones para acceder a las listas enlazadas. Lenguajes imperativos u orientados a objetos tales como C o C++ y Java, respectivamente, disponen de referencias para crear listas enlazadas.

Operaciones basicas de una lista. Recorrer los elementos hacia adelante Recorrer los elementos hacia atras Insertar un nuevo elemento al principio Insertar un nuevo elemento al final Insertar un nuevo elemento antes de otro Insertar un nuevo elemento despues de otro Remover un elemento del principio Remover un elemento que esta antes que otro Remover un elemento que esta despues de otro Remover un elemento del principio Remover un elemento del final

Implementación de una lista enlazada en C #include /* for printf */ #include /* for malloc */ typedef struct ns { int data; struct ns *next; } node; node *list_add(node **p, int i) { /* algunos compiladores no requieren un casting del valor del retorno para malloc */ node *n = (node *)malloc(sizeof(node)); if (n == NULL) return NULL; n->next = *p; *p = n; n->data = i;

Implementación de una lista enlazada en C return n; } void list_remove(node **p) { /* borrar cabeza*/ if (*p != NULL) { node *n = *p; *p = (*p)->next; free(n); } node **list_search(node **n, int i) { while (*n != NULL) { if ((*n)->data == i) { return n; }

Implementación de una lista enlazada en C n = &(*n)->next; } return NULL; } void list_print(node *n) { if (n == NULL) { printf("lista esta vacía\n"); } while (n != NULL) { printf("print %p %p %d\n", n, n->next, n->data); n = n->next; } int main(void) {

Implementación de una lista enlazada en C node *n = NULL; list_add(&n, 0); /* lista: 0 */ list_add(&n, 1); /* lista: 1 0 */ list_add(&n, 2); /* lista: */ list_add(&n, 3); /* lista: */ list_add(&n, 4); /* lista: */ list_print(n); list_remove(&n); /* borrar primero(4) */ list_remove(&n->next); /* borrar nuevo segundo (2) */ list_remove(list_search(&n, 1)); /* eliminar la celda que contiene el 1 (primera) */ list_remove(&n->next); /* eliminar segundo nodo del final(0)*/ list_remove(&n); /* eliminar ultimo nodo (3) */ list_print(n); return 0; }

Fuente