next up previous
Next: Implementation Up: Weight-balanced priority search pennants Previous: Weight-balanced priority search pennants

Subsections

Signature


>  module Balanced(

>      Binding((:->)), key, prio, PSQ,
>      
- constructors and insertion
>      empty, single, insert, fromOrdList,
>      
- destructors and deletion
>      MinView(EmptyMin), minView, delete,
>      
- observers
>      lookup, toOrdList, atMost, atMostRange,
>      
- modifier
>      adjust)
>  where
>  import Prelude hiding (lookup)
>  import Basic hiding (guard)
>  import Sequ hiding (empty, single)
>  import qualified Sequ

Constructors and insertion


>  empty                         :: (Ord k, Ord p) => PSQ k p

>  single                        :: (Ord k, Ord p) => Binding k p -> PSQ k p
>  insert                        :: (Ord k, Ord p) => Binding k p -> PSQ k p -> PSQ k p
>  fromOrdList                   :: (Ord k, Ord p) => [Binding k p] -> PSQ k p

Destructors and deletion


>  data MinView k p              =  Empty | Min (Binding k p) (PSQ k p)

>  minView                       :: (Ord k, Ord p) => PSQ k p -> MinView k p
>  delete                        :: (Ord k, Ord p) => k -> PSQ k p -> PSQ k p

Observer


>  lookup                        :: (Ord k, Ord p) => k -> PSQ k p -> Maybe p

>  toOrdList                     :: (Ord k, Ord p) => PSQ k p -> [Binding k p]
>  atMost                        :: (Ord k, Ord p) => p -> PSQ k p -> [Binding k p]
>  atMostRange                   :: (Ord k, Ord p) => p -> (k, k) -> PSQ k p -> [Binding k p]

Modifier


>  adjust                        :: (Ord k, Ord p) => (p -> p) -> k -> PSQ k p -> PSQ k p


next up previous
Next: Implementation Up: Weight-balanced priority search pennants Previous: Weight-balanced priority search pennants
Ralf Hinze 2001-03-20