]> gitweb.factorcode.org Git - factor.git/blob - extra/assoc-heaps/assoc-heaps-docs.factor
8beaf9c4b1525dcf27096fc25cfe72f6dd8f3808
[factor.git] / extra / assoc-heaps / assoc-heaps-docs.factor
1 ! Copyright (C) 2008 Doug Coleman.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: help.markup help.syntax io.streams.string ;
4 IN: assoc-heaps
5
6 HELP: <assoc-heap>
7 { $description "Constructs a new " { $link assoc-heap } " from two existing data structures." } ;
8
9 HELP: <unique-max-heap>
10 { $values
11     
12      { "unique-heap" assoc-heap } }
13 { $description "Creates a new " { $link assoc-heap } " where the assoc is a hashtable and the heap is a max-heap. Popping an element from the heap leaves this element in the hashtable to ensure that the element will not be processed again." } ;
14
15 HELP: <unique-min-heap>
16 { $values
17      { "unique-heap" assoc-heap } }
18 { $description "Creates a new " { $link assoc-heap } " where the assoc is a hashtable and the heap is a min-heap. Popping an element from the heap leaves this element in the hashtable to ensure that the element will not be processed again." } ;
19
20 { <unique-max-heap> <unique-min-heap> } related-words
21
22 HELP: assoc-heap
23 { $description "A data structure containing an assoc and a heap to get certain properties with better time constraints at the expense of more space and complexity. For instance, a hashtable and a heap can be combined into one assoc-heap to get a sorted data structure with O(1) lookup. Operations on assoc-heap may update both the assoc and the heap or leave them out of sync if it's advantageous." } ;
24
25 ARTICLE: "assoc-heaps" "Associative heaps"
26 "The " { $vocab-link "assoc-heaps" } " vocabulary combines exists to synthesize data structures with better time properties than either of the two component data structures alone." $nl
27 "Associative heap constructor:"
28 { $subsection <assoc-heap> }
29 "Unique heaps:"
30 { $subsection <unique-min-heap> }
31 { $subsection <unique-max-heap> } ;
32
33 ABOUT: "assoc-heaps"