Mercurial > repos > deepakjadmin > mayatool3_test2
comparison docs/modules/txt/PseudoHeap.txt @ 0:4816e4a8ae95 draft default tip
Uploaded
author | deepakjadmin |
---|---|
date | Wed, 20 Jan 2016 09:23:18 -0500 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:4816e4a8ae95 |
---|---|
1 NAME | |
2 PseudoHeap | |
3 | |
4 SYNOPSIS | |
5 use PseudoHeap; | |
6 | |
7 use PseudoHeap qw(:all); | |
8 | |
9 DESCRIPTION | |
10 PseudoHeap class provides the following methods: | |
11 | |
12 new, AddKeyValuePair, AddKeyValuePairs, DeleteKey, DeleteKeys, | |
13 DeleteMaxKey, DeleteMinKey, GetCurrentSize, GetKeyType, GetKeyValues, | |
14 GetKeys, GetMaxKey, GetMaxSize, GetMinKey, GetSortedKeys, GetType, | |
15 SetKeyType, SetMaxSize, SetType, StringifyPseudoHeap | |
16 | |
17 PseudoHeap is designed to support tracking of a specific number of | |
18 largest or smallest key/value pairs with numeric or alphanumeric keys | |
19 along with corresponding scalar or reference values. | |
20 | |
21 Although PseudoHeap is conceptually similar to a heap, it lacks number | |
22 of key properties of a traditional heap data structure: no concept of | |
23 root, parent and child nodes; no ordering of keys in any particular | |
24 order; no specific location greatest or smallest key. | |
25 | |
26 The keys are simply stored in a hash with each key pointing to an array | |
27 containing specified values. The min/max keys are updated during | |
28 addition and deletion of key/value pairs; these can be retrieved by | |
29 accessing corresponding hash. | |
30 | |
31 Addition and deletion of key/value is also straightforward using hashes. | |
32 However, min/max keys need to be identified which is done using Perl | |
33 sort function on the keys. | |
34 | |
35 FUNCTIONS | |
36 new | |
37 $NewPseudoHeap = new PseudoHeap(%NamesAndValues); | |
38 | |
39 Using specified parameters *NamesAndValues* names and values hash, | |
40 new method creates a new object and returns a reference to a newly | |
41 created NewPseudoHeap object. By default, the following property | |
42 names are initialized: | |
43 | |
44 Type = undef; | |
45 KeyType = undef; | |
46 MaxSize = 10; | |
47 | |
48 Examples: | |
49 | |
50 $NewPseudoHeap = new PseudoHeap( | |
51 'Type' => 'KeepTopN', | |
52 'KeyType' => 'Numeric'); | |
53 | |
54 $NewPseudoHeap = new PseudoHeap( | |
55 'Type' => 'KeepTopN', | |
56 'KeyType' => 'AlphaNumeric', | |
57 'MaxSize' => '20'); | |
58 | |
59 $NewPseudoHeap = new PseudoHeap( | |
60 'Type' => 'KeepBottomN', | |
61 'KeyType' => 'AlphaNumeric', | |
62 'MaxSize' => '20'); | |
63 | |
64 AddKeyValuePair | |
65 $PseudoHeap->AddKeyValuePair($Key, $Value); | |
66 | |
67 Add specified *Key* and *Value* pair to pseudo heap using a new or | |
68 an existing key and returns PseudoHeap. | |
69 | |
70 AddKeyValuePairs | |
71 $PseudoHeap->AddKeyValuePairs(@KeyValuePairs); | |
72 | |
73 Adds multiple key and value pairs specified in array *KeyValuePairs* | |
74 to pseudo heap using a new or existing keys and returns PseudoHeap. | |
75 | |
76 DeleteKey | |
77 $PseudoHeap->DeleteKey($Key); | |
78 | |
79 Deletes a specified *Key* from pseudo heap and returns PseudoHeap. | |
80 | |
81 DeleteKeys | |
82 $PseudoHeap->DeleteKeys(@Keys); | |
83 | |
84 Deletes a specified *Keys* from pseudo heap and returns PseudoHeap. | |
85 | |
86 DeleteMaxKey | |
87 $PseudoHeap->DeleteMaxKey(); | |
88 | |
89 Deletes a *MaxKey* along with its associated values from pseudo heap | |
90 and returns PseudoHeap. | |
91 | |
92 DeleteMinKey | |
93 $PseudoHeap->DeleteMinKey(); | |
94 | |
95 Deletes a *MinKey* along with its associated values from pseudo heap | |
96 and returns PseudoHeap. | |
97 | |
98 GetCurrentSize | |
99 $Size = $PseudoHeap->GetCurrentSize(); | |
100 | |
101 Returns current *Size* of pseudo heap corresponding to number to | |
102 keys in heap. | |
103 | |
104 GetKeyType | |
105 $KeyType = $PseudoHeap->GetKeyType(); | |
106 | |
107 Returns *KeyType* of pseudo heap. Possible KeyType values: *Numeric | |
108 or Alphanumeric*. | |
109 | |
110 GetKeyValues | |
111 @Values = $PseudoHeap->GetKeyValues($Key); | |
112 $NumOfValues = $PseudoHeap->GetKeyValues($Key); | |
113 | |
114 Returns an array containing Values associated with a specified *Key* | |
115 in pseudo heap. In scalar context, it returns number of values | |
116 associated with a key. | |
117 | |
118 GetKeys | |
119 @Keys = $PseudoHeap->GetKeys(); | |
120 $NumOfKeys = $PseudoHeap->GetKeys(); | |
121 | |
122 Returns an array containing all Keys in pseudo heap. In scalar | |
123 context, it returns total number of keys. | |
124 | |
125 GetMaxKey | |
126 $MaxKey = $PseudoHeap->GetMaxKey(); | |
127 | |
128 Returns *MaxKey* present in pseudo heap. | |
129 | |
130 GetMaxSize | |
131 $MaxSize = $PseudoHeap->GetMaxSize(); | |
132 | |
133 Returns *MaxSize* of pseudo heap. | |
134 | |
135 GetMinKey | |
136 $MinKey = $PseudoHeap->GetMinKey(); | |
137 | |
138 Returns *MinKey* present in pseudo heap. | |
139 | |
140 GetSortedKeys | |
141 @Keys = $PseudoHeap->GetSortedKeys(); | |
142 $NumOfKeys = $PseudoHeap->GetSortedKeys(); | |
143 | |
144 Returns an array containing all sorted Keys in pseudo heap. In | |
145 scalar context, it retruns total number of keys. | |
146 | |
147 Keys are sorted based on values of Type and KeyType for pseudo heap: | |
148 | |
149 Type KeyType SortOrder SortOperator | |
150 KeepTopN Numeric Descending <=> | |
151 KeepTopN Alphanumeric Descending cmp | |
152 KeepBottomN Numeric Ascending <=> | |
153 KeepBottomN Alphanumeric Ascending cmp | |
154 | |
155 GetType | |
156 $Type = $PseudoHeap->GetType(); | |
157 | |
158 Returns *Type* of pseudo heap. | |
159 | |
160 SetKeyType | |
161 $PseudoHeap->SetKeyType($KeyType); | |
162 | |
163 Sets *KeyType* of pseudo heap and returns PseudoHeap. | |
164 | |
165 SetMaxSize | |
166 $PseudoHeap->SetMaxSize($MaxSize); | |
167 | |
168 Sets *MaxSize* of pseudo heap and returns PseudoHeap. | |
169 | |
170 SetType | |
171 $PseudoHeap->SetType($Type); | |
172 | |
173 Sets *Type* of pseudo heap and returns PseudoHeap. | |
174 | |
175 StringifyPseudoHeap | |
176 $PseudoHeapString = $PseudoHeap->StringifyPseudoHeap(); | |
177 | |
178 Returns a string containing information about *PseudoHeap* object | |
179 | |
180 AUTHOR | |
181 Manish Sud <msud@san.rr.com> | |
182 | |
183 COPYRIGHT | |
184 Copyright (C) 2015 Manish Sud. All rights reserved. | |
185 | |
186 This file is part of MayaChemTools. | |
187 | |
188 MayaChemTools is free software; you can redistribute it and/or modify it | |
189 under the terms of the GNU Lesser General Public License as published by | |
190 the Free Software Foundation; either version 3 of the License, or (at | |
191 your option) any later version. | |
192 |