A min-priority queue class based on a binary heap

(Available since version 1.0)

Introduction

This class provides the main functionalities of a prioritized queue, implemented using a binary, min-heap.

It provides the same interface as SplPriorityQueue with the extra methods, MinPriorityQueue::extractInsert() and PriorityQueue::update() which allows one to change the priority of a node in the queue.

Class synopsis

SEIDS::Heaps::Binary::MinPriorityQueue extends SEIDS::Heaps::MinPriorityQueue {
/* Inherited constants */
const int PriorityQueue::EXTR_DATA = 1 ;
const int PriorityQueue::EXTR_BOTH = 3 ;
/* Inherited properties */
protected mixed $DataStructure ;
protected int $flags = PriorityQueue::EXTR_DATA ;
/* Methods */
public __construct ( void )
public mixed extractInsert ( mixed $value , mixed $priority )
/* Inherited methods */
public void PriorityQueue::__clone ( void )
public int PriorityQueue::count ( void )
public mixed PriorityQueue::current ( void )
public mixed PriorityQueue::extract ( void )
public bool PriorityQueue::insert ( mixed $value , mixed $priority )
public bool PriorityQueue::isEmpty ( void )
public int PriorityQueue::key ( void )
public void PriorityQueue::next ( void )
public void PriorityQueue::rewind ( void )
public int PriorityQueue::setExtractFlags ( int $flags )
public mixed PriorityQueue::top ( void )
public void PriorityQueue::update ( mixed $value , mixed $priority )
public bool PriorityQueue::valid ( void )
protected mixed PriorityQueue::processExtract ( SEIDS::Heaps::PriorityQueueHeapItem $extract )
protected int compare ( mixed $priority1 , mixed $priority2 )
}

Table of Contents

To Top