Colas de Prioridad - PowerPoint PPT Presentation

About This Presentation
Title:

Colas de Prioridad

Description:

Una Cola de Prioridad clasifica sus elementos por la key con una relaci n de ... minElement(): Devuelve (sin borrar) un elemento de P con menor llave; ocurre un ... – PowerPoint PPT presentation

Number of Views:135
Avg rating:3.0/5.0
Slides: 6
Provided by: pedroco7
Category:

less

Transcript and Presenter's Notes

Title: Colas de Prioridad


1
Colas de Prioridad
  • El TDA cola de prioridad
  • Implementación de una cola de prioridad con una
    secuencia
  • Ordenamiento elemental
  • Asuntos en ordenamiento

2
Llaves y Relaciones de Orden Total
  • Una Cola de Prioridad clasifica sus elementos por
    la key con una relación de orden total
  • Llaves Cada elemento tiene su propia llave
  • Las llaves no son necesariamente únicas
  • Relación de Orden Total, indicado por ?
  • Reflexiva k ? k
  • Antisimetria si k1 ? k2 y k2 ? k1, entonces k1 ?
    k2
  • Transitiva si k1 ? k2 y k2 ? k3, entonces k1 ?
    k3
  • Una Cola de Prioridad soporta estos métodos
    fundamentales sobre pares de elementos llave
  • min()
  • insertItem(k, e)
  • removeMin()

3
Ordenación con una Cola de Prioridad
  • Una Cola de Prioridad P se puede usar para
    ordenar una secuencia S mediante
  • insertando los elementos de S en P con una serie
    de operaciones insertItem(e, e)
  • extrayendo los elementos de P en orden creciente
    y colocandolos nuevamente en S con una serie de
    operaciones removeMin()

Algorithm PriorityQueueSort(S, P) Input
Secuencia S con n elements, y una cola de
prioridad P Output Secuencia S ordenada por
una relación de orden total while !S.isEmpty()
do e ? S.removeFirst() P.insertItem(e,
e) while P is not empty do e ?
P.removeMin() S.insertLast(e)
4
TDA para Cola de Prioridad
  • Una cola de prioridad P soporta los siguientes
    métodos
  • -size() Devuelve el número de
    elementos en P
  • -isEmpty() Comprueba si P está vacía
  • -insertItem(k,e) Inserta un nuevo elemento e
    con llave k en P
  • -minElement() Devuelve (sin borrar) un
    elemento de P con menor llave ocurre un error
    si P está vacía.
  • -minKey() Devuelve la menor llave en
    P ocurre un error si P está vacía
  • -removeMin() Extrae de P y devuelve el
    elemento con menor llave ocurre un error si P
    está vacía

5
Comparadores
  • La forma más general y reusable de una cola de
    prioridad hace uso de objetos comparadores.
  • Objetos Comparadores son externos a las llaves
    que se comparan y comparan dos objetos.
  • El TDA comparador incluye
  • -isLessThan(a, b)
  • -isLessThanOrEqualTo(a,b)
  • -isEqualTo(a, b)
  • -isGreaterThan(a,b)
  • -isGreaterThanOrEqualTo(a,b)
  • -isComparable(a)
Write a Comment
User Comments (0)
About PowerShow.com