SlideShare una empresa de Scribd logo
TDA Y HEAPS
TDA lista
 Una lista se define como una serie de N elementos E1, E2,
..., EN, ordenados de manera consecutiva, es decir, el
elemento Ek (que se denomina elemento k-ésimo) es
previo al elemento Ek+1. Si la lista contiene 0 elementos
se denomina como lista vacía.
 Las operaciones que se pueden realizar en la lista son:
insertar un elemento en la posición k, borrar el k-ésimo
elemento, buscar un elemento dentro de la lista y
preguntar si la lista esta vacía.
 Una manera simple de implementar una lista es utilizando
un arreglo. Sin embargo, las operaciones de inserción y
borrado de elementos en arreglos son ineficientes, puesto
que para insertar un elemento en la parte media del
arreglo es necesario mover todos los elementos que se
encuentren delante de él, para hacer espacio, y al borrar
un elemento es necesario mover todos los elementos para
ocupar el espacio desocupado. Una implementación más
eficiente del TDA se logra utilizando listas enlazadas.
TDA lista
En la implementación con listas enlazadas es necesario tener en
cuenta algunos detalles importantes: si solamente se dispone de
la referencia al primer elemento, el añadir o remover en la
primera posición es un caso especial, puesto que la referencia a la
lista enlazada debe modificarse según la operación realizada.
Además, para eliminar un elemento en particular es necesario
conocer el elemento que lo antecede, y en este caso, ¿qué pasa
con el primer elemento, que no tiene un predecesor?
Para solucionar estos inconvenientes se utiliza la implementación
de lista enlazada con nodo cabecera. Con esto, todos los
elementos de la lista tendrán un elemento previo, puesto que el
previo del primer elemento es la cabecera. Una lista vacía
corresponde, en este caso, a una cabecera cuya referencia
siguiente es null.
TDA pila
Una pila (stack o pushdown en inglés) es una lista
de elementos de la cual sólo se puede extraer el
último elemento insertado. La posición en donde
se encuentra dicho elemento se denomina tope de
la pila. También se conoce a las pilas como listas
LIFO (LAST IN - FIRST OUT: el último que entra es
el primero que sale).
TDA cola
 Una cola (queue en inglés) es una lista de
elementos en donde siempre se insertan
nuevos elementos al final de la lista y se
extraen elementos desde el inicio de la
lista. También se conoce a las colas como
listas FIFO (FIRST IN - FIRST OUT: el
primero que entra es el primero que sale).
TDA Cola de Prioridad
 Una cola de prioridad es un tipo de datos abstracto que almacena un
conjunto de datos que poseen una llave perteneciente a algún conjunto
ordenado, y permite insertar nuevos elementos y extraer el máximo (o el
mínimo, en caso de que la estructura se organice con un criterio de orden
inverso).
 Es frecuente interpretar los valores de las llaves como prioridades, con lo
cual la estructura permite insertar elementos de prioridad cualquiera, y
extraer el de mejor prioridad.
 Dos formas simples de implementar colas de prioridad son:
◦ Una lista ordenada:
 Inserción: O(n)
 Extracción de máximo: O(1)
 Una lista desordenada:
◦ Inserción: O(1)
◦ Extracción de máximo: O(n)
Heaps
Un heap es un árbol binario de una forma
especial, que permite su almacenamiento en un
arreglo sin usar punteros.
Un heap tiene todos sus niveles llenos, excepto
posiblemente el de más abajo, y en este último
los nodos están lo más a la izquierda posible.
Ejemplo:
Heaps
 La numeración por niveles (indicada bajo cada nodo) son los
subíndices en donde cada elemento sería almacenado en el
arreglo. En el caso del ejemplo, el arreglo sería:
La característica que permite que un heap se pueda almacenar sin
punteros es que, si se utiliza la numeración por niveles indicada,
entonces la relación entre padres e hijos es:
Hijos del nodo j = {2*j, 2*j+1}
Padre del nodo k = floor(k/2)
Un heap puede utilizarse para implementar una cola de prioridad
almacenando los datos de modo que las llaves estén siempre
ordenadas de arriba a abajo (a diferencia de un árbol de búsqueda
binaria, que ordena sus llaves de izquierda a derecha).

Más contenido relacionado

PPTX
Pilas estáticas. IESIT
PDF
linked lists in data structures
PDF
What is Stack, Its Operations, Queue, Circular Queue, Priority Queue
PPTX
Data Structures - Lecture 9 [Stack & Queue using Linked List]
PPTX
PPTX
linked list
Pilas estáticas. IESIT
linked lists in data structures
What is Stack, Its Operations, Queue, Circular Queue, Priority Queue
Data Structures - Lecture 9 [Stack & Queue using Linked List]
linked list

La actualidad más candente (20)

PPTX
Conversion of Infix to Prefix and Postfix with Stack
PPTX
Arboles - estructura de datos
PPT
Binary Search Tree and AVL
PPT
Regular Grammar
PPSX
Data Structure (Tree)
PPTX
Tipos de Datos Primitivos
PPTX
Conditional jump
PDF
Red black tree
PPTX
Linear data structure concepts
PPTX
Binary Search Tree
PPTX
Stack & Queue using Linked List in Data Structure
PPTX
Graph data structure and algorithms
PPTX
Searching and sorting
PPT
Linked list
PPTX
Ppt on Linked list,stack,queue
PDF
Arboles v2
PPTX
Polynomial reppresentation using Linkedlist-Application of LL.pptx
PPTX
AVL Tree Data Structure
PPT
Abstract data types
Conversion of Infix to Prefix and Postfix with Stack
Arboles - estructura de datos
Binary Search Tree and AVL
Regular Grammar
Data Structure (Tree)
Tipos de Datos Primitivos
Conditional jump
Red black tree
Linear data structure concepts
Binary Search Tree
Stack & Queue using Linked List in Data Structure
Graph data structure and algorithms
Searching and sorting
Linked list
Ppt on Linked list,stack,queue
Arboles v2
Polynomial reppresentation using Linkedlist-Application of LL.pptx
AVL Tree Data Structure
Abstract data types
Publicidad

Destacado (20)

PPTX
Pilas, colas, y listas estructura de datos
PPT
6. tda arrayu generico
PPT
PPT
Estructura de datos
PPTX
Arboles balanceados
PDF
Arboles balanceados
PDF
Arboles balanceados
PPTX
Programacion de Cadenas
PPT
Estructura de datos
PPSX
Arboles balanceados
PPTX
Listas, pilas y colas
PDF
Pilas y Colas
PPTX
Tecnicas de rotacion en arboles balanceados
PPT
Capitulo 8 Memoria Principal
PPTX
Asignación de memoria
PPT
4 memoria dinamica
PPT
Capitulo 9 Memoria Virtual
PDF
18 Arboles Como Estructura De Busqueda
 
Pilas, colas, y listas estructura de datos
6. tda arrayu generico
Estructura de datos
Arboles balanceados
Arboles balanceados
Arboles balanceados
Programacion de Cadenas
Estructura de datos
Arboles balanceados
Listas, pilas y colas
Pilas y Colas
Tecnicas de rotacion en arboles balanceados
Capitulo 8 Memoria Principal
Asignación de memoria
4 memoria dinamica
Capitulo 9 Memoria Virtual
18 Arboles Como Estructura De Busqueda
 
Publicidad

Similar a Tda y heaps (20)

PPTX
Estructuras lineales
PPTX
Listas,pilas y colas Estructura de Datos
PPTX
Listas,pilas&colas yorka
DOCX
Teoria de listas
PPTX
Lissette pimentel 11 1149 --- listas, pilas y colas
PPTX
Listas pilas colas_carlos_rosario10-1337
PPTX
Gilmora
PPT
Darwin rodriguez 12-0861_pilasy_colas
PDF
Pilas Dylan Medina.pdf
PPTX
Estructura de datos
PPT
Dionely torres 11 1150
PPTX
Diapositiva de l estructura de datos
PPT
ED Listas, Pilas y Colas
PPTX
Tad lista, pilas y colas
PPTX
Tad lista, pilas y colas
PDF
pilas en java(edicion estructura de datos).pdf
PPTX
Lista, pilas y colas
PPTX
Lista, pilas y colas
PPTX
Listas pilascolas edward.mejia-10-1314
PPTX
Estructura de datos listas, pilas y colas
Estructuras lineales
Listas,pilas y colas Estructura de Datos
Listas,pilas&colas yorka
Teoria de listas
Lissette pimentel 11 1149 --- listas, pilas y colas
Listas pilas colas_carlos_rosario10-1337
Gilmora
Darwin rodriguez 12-0861_pilasy_colas
Pilas Dylan Medina.pdf
Estructura de datos
Dionely torres 11 1150
Diapositiva de l estructura de datos
ED Listas, Pilas y Colas
Tad lista, pilas y colas
Tad lista, pilas y colas
pilas en java(edicion estructura de datos).pdf
Lista, pilas y colas
Lista, pilas y colas
Listas pilascolas edward.mejia-10-1314
Estructura de datos listas, pilas y colas

Más de Jeiner Gonzalez Blanco (20)

PPTX
Mule investigation (jeiner gonzalez.b)
PPTX
PPTX
Mule investigation (jeiner gonzalez.b)
PPTX
Mulesoft arboles
PPT
Trabajo de excel
PPTX
NICOLÁS COPÉRNICO
PPTX
Factores de riesgo
PPT
Extraclass work of english convesacional
PPT
manejo de desechos solidos
PPTX
Virus y antivirus2
PPT
LA REVOLUCION CIENTIFICA-TENCOLOGICO
PPT
Concepto de identidad y sus manifestaciones en la cultura costarricense
PPTX
Riesgos fisicos powerpoint
PPTX
Riesgos de atrapamientos
PPTX
Exposicion de fisica
PPTX
Arboles 2014 final
PPTX
Arboles binarios
PPTX
Algoritmos de ordenación grafos y caminos
Mule investigation (jeiner gonzalez.b)
Mule investigation (jeiner gonzalez.b)
Mulesoft arboles
Trabajo de excel
NICOLÁS COPÉRNICO
Factores de riesgo
Extraclass work of english convesacional
manejo de desechos solidos
Virus y antivirus2
LA REVOLUCION CIENTIFICA-TENCOLOGICO
Concepto de identidad y sus manifestaciones en la cultura costarricense
Riesgos fisicos powerpoint
Riesgos de atrapamientos
Exposicion de fisica
Arboles 2014 final
Arboles binarios
Algoritmos de ordenación grafos y caminos

Último (20)

PDF
CIRSOC-201-2024_Proyecto de Reglamento Argentino de Estructuras de Hormigón
PDF
Híper Mega Repaso Histológico Bloque 3.pdf
PDF
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
PDF
Fundamentos_Educacion_a_Distancia_ABC.pdf
PDF
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
PDF
TRAUMA_Y_RECUPERACION consecuencias de la violencia JUDITH HERMAN
PDF
1. Intrdoduccion y criterios de seleccion de Farm 2024.pdf
DOCX
PLANES DE área ciencias naturales y aplicadas
PDF
Escuelas Desarmando una mirada subjetiva a la educación
PDF
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
PDF
Metodologías Activas con herramientas IAG
PDF
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
PPTX
caso clínico iam clinica y semiología l3.pptx
PDF
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
PDF
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
DOCX
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
PDF
Atencion prenatal. Ginecologia y obsetricia
PDF
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
PDF
Romper el Circulo de la Creatividad - Colleen Hoover Ccesa007.pdf
PPTX
Presentación de la Cetoacidosis diabetica.pptx
CIRSOC-201-2024_Proyecto de Reglamento Argentino de Estructuras de Hormigón
Híper Mega Repaso Histológico Bloque 3.pdf
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
Fundamentos_Educacion_a_Distancia_ABC.pdf
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
TRAUMA_Y_RECUPERACION consecuencias de la violencia JUDITH HERMAN
1. Intrdoduccion y criterios de seleccion de Farm 2024.pdf
PLANES DE área ciencias naturales y aplicadas
Escuelas Desarmando una mirada subjetiva a la educación
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
Metodologías Activas con herramientas IAG
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
caso clínico iam clinica y semiología l3.pptx
Habitos de Ricos - Juan Diego Gomez Ccesa007.pdf
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
Atencion prenatal. Ginecologia y obsetricia
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
Romper el Circulo de la Creatividad - Colleen Hoover Ccesa007.pdf
Presentación de la Cetoacidosis diabetica.pptx

Tda y heaps

  • 2. TDA lista  Una lista se define como una serie de N elementos E1, E2, ..., EN, ordenados de manera consecutiva, es decir, el elemento Ek (que se denomina elemento k-ésimo) es previo al elemento Ek+1. Si la lista contiene 0 elementos se denomina como lista vacía.  Las operaciones que se pueden realizar en la lista son: insertar un elemento en la posición k, borrar el k-ésimo elemento, buscar un elemento dentro de la lista y preguntar si la lista esta vacía.  Una manera simple de implementar una lista es utilizando un arreglo. Sin embargo, las operaciones de inserción y borrado de elementos en arreglos son ineficientes, puesto que para insertar un elemento en la parte media del arreglo es necesario mover todos los elementos que se encuentren delante de él, para hacer espacio, y al borrar un elemento es necesario mover todos los elementos para ocupar el espacio desocupado. Una implementación más eficiente del TDA se logra utilizando listas enlazadas.
  • 3. TDA lista En la implementación con listas enlazadas es necesario tener en cuenta algunos detalles importantes: si solamente se dispone de la referencia al primer elemento, el añadir o remover en la primera posición es un caso especial, puesto que la referencia a la lista enlazada debe modificarse según la operación realizada. Además, para eliminar un elemento en particular es necesario conocer el elemento que lo antecede, y en este caso, ¿qué pasa con el primer elemento, que no tiene un predecesor? Para solucionar estos inconvenientes se utiliza la implementación de lista enlazada con nodo cabecera. Con esto, todos los elementos de la lista tendrán un elemento previo, puesto que el previo del primer elemento es la cabecera. Una lista vacía corresponde, en este caso, a una cabecera cuya referencia siguiente es null.
  • 4. TDA pila Una pila (stack o pushdown en inglés) es una lista de elementos de la cual sólo se puede extraer el último elemento insertado. La posición en donde se encuentra dicho elemento se denomina tope de la pila. También se conoce a las pilas como listas LIFO (LAST IN - FIRST OUT: el último que entra es el primero que sale).
  • 5. TDA cola  Una cola (queue en inglés) es una lista de elementos en donde siempre se insertan nuevos elementos al final de la lista y se extraen elementos desde el inicio de la lista. También se conoce a las colas como listas FIFO (FIRST IN - FIRST OUT: el primero que entra es el primero que sale).
  • 6. TDA Cola de Prioridad  Una cola de prioridad es un tipo de datos abstracto que almacena un conjunto de datos que poseen una llave perteneciente a algún conjunto ordenado, y permite insertar nuevos elementos y extraer el máximo (o el mínimo, en caso de que la estructura se organice con un criterio de orden inverso).  Es frecuente interpretar los valores de las llaves como prioridades, con lo cual la estructura permite insertar elementos de prioridad cualquiera, y extraer el de mejor prioridad.  Dos formas simples de implementar colas de prioridad son: ◦ Una lista ordenada:  Inserción: O(n)  Extracción de máximo: O(1)  Una lista desordenada: ◦ Inserción: O(1) ◦ Extracción de máximo: O(n)
  • 7. Heaps Un heap es un árbol binario de una forma especial, que permite su almacenamiento en un arreglo sin usar punteros. Un heap tiene todos sus niveles llenos, excepto posiblemente el de más abajo, y en este último los nodos están lo más a la izquierda posible. Ejemplo:
  • 8. Heaps  La numeración por niveles (indicada bajo cada nodo) son los subíndices en donde cada elemento sería almacenado en el arreglo. En el caso del ejemplo, el arreglo sería: La característica que permite que un heap se pueda almacenar sin punteros es que, si se utiliza la numeración por niveles indicada, entonces la relación entre padres e hijos es: Hijos del nodo j = {2*j, 2*j+1} Padre del nodo k = floor(k/2) Un heap puede utilizarse para implementar una cola de prioridad almacenando los datos de modo que las llaves estén siempre ordenadas de arriba a abajo (a diferencia de un árbol de búsqueda binaria, que ordena sus llaves de izquierda a derecha).