collection_utils 0.1.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +1 -0
  3. data/README.md +3 -3
  4. data/documentation/CollectionUtils/Heap.html +1276 -0
  5. data/documentation/CollectionUtils/HeapUtils/MaxHeap.html +490 -0
  6. data/documentation/CollectionUtils/HeapUtils/MinHeap.html +490 -0
  7. data/documentation/CollectionUtils/HeapUtils.html +117 -0
  8. data/documentation/CollectionUtils/Queue.html +749 -0
  9. data/documentation/CollectionUtils/Stack.html +674 -0
  10. data/documentation/CollectionUtils/TreeUtils/BST.html +515 -0
  11. data/documentation/CollectionUtils/TreeUtils.html +117 -0
  12. data/documentation/CollectionUtils.html +134 -0
  13. data/documentation/_index.html +211 -0
  14. data/documentation/class_list.html +51 -0
  15. data/documentation/css/common.css +1 -0
  16. data/documentation/css/full_list.css +58 -0
  17. data/documentation/css/style.css +492 -0
  18. data/documentation/file.README.html +124 -0
  19. data/documentation/file_list.html +56 -0
  20. data/documentation/frames.html +17 -0
  21. data/documentation/index.html +124 -0
  22. data/documentation/js/app.js +248 -0
  23. data/documentation/js/full_list.js +216 -0
  24. data/documentation/js/jquery.js +4 -0
  25. data/documentation/method_list.html +355 -0
  26. data/documentation/top-level-namespace.html +110 -0
  27. data/lib/collection_utils/heap.rb +251 -0
  28. data/lib/collection_utils/heap_utils/max_heap.rb +12 -12
  29. data/lib/collection_utils/heap_utils/min_heap.rb +13 -11
  30. data/lib/collection_utils/queue.rb +21 -0
  31. data/lib/collection_utils/stack.rb +25 -2
  32. data/lib/collection_utils/tree_utils/bst.rb +69 -0
  33. data/lib/collection_utils/tree_utils.rb +5 -0
  34. data/lib/collection_utils/version.rb +1 -1
  35. metadata +28 -3
  36. data/lib/collection_utils/heap_utils/heap.rb +0 -97
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ce5adb05105792945942d3c83bc675fb67a2bedf
4
- data.tar.gz: 7ab710ea4fa7f278ee40c9f5dc6c4591167a8de5
3
+ metadata.gz: 917412941f37688077b9cfb8204edd619dc9f9e3
4
+ data.tar.gz: 0f630cb9f5bb5cdbfd1d0e58d045dd8b6df6e563
5
5
  SHA512:
6
- metadata.gz: ec7d96ce17ca0816bab823ec8966d25b11bd361530be6dda756eec11ee88d236fc8cc63d4cc10b497b1eb10aa58773daedce1cab42063243b696094ea6bb8d61
7
- data.tar.gz: f4b447cc6da79c419b1c3e6d83dbf9cc88b2b9d99f5c3656b8ac2de5b346361112e98df53762de605a75e7b571331b3c024e881a71709694d9ddd2514d3c7809
6
+ metadata.gz: 971de239372c801638b03a34d0c7fdc7e1894cebbd212848f6ff4ba598cd1d0757173c9c18f4bff9d10ebf2b0d83647503bc9b639b5e4e53a31523307437250e
7
+ data.tar.gz: a8b94362e213e51afb85a4531b9d073a8586a9f27bf0e2b9b7a7d1169e9cbfd85a4f6056c0b41aa9edf976b99e93e1dfb330f5c036ca884eb3b6938b59635356
data/.travis.yml CHANGED
@@ -3,3 +3,4 @@ language: ruby
3
3
  rvm:
4
4
  - 2.0.0
5
5
  before_install: gem install bundler -v 1.14.2
6
+ script: bundle exec rspec
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # CollectionUtils
1
+ # CollectionUtils [![Build Status](https://travis-ci.org/deeshugupta/collection_utils.svg?branch=master)](https://travis-ci.org/deeshugupta/collection_utils)
2
2
 
3
- CollectionUtils provide with basic collection templates like stack, queues and heaps e.t.c for easier development.
3
+ CollectionUtils provide with basic collection templates like stack, queues and heaps e.t.c for easier development.
4
4
 
5
5
  ## Installation
6
6
 
@@ -20,7 +20,7 @@ Or install it yourself as:
20
20
 
21
21
  ## Usage
22
22
 
23
- TODO: Write usage instructions here
23
+ check out the wiki at https://github.com/deeshugupta/collection_utils/wiki for usages.
24
24
 
25
25
  ## Development
26
26
 
@@ -0,0 +1,1276 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ Class: CollectionUtils::Heap
8
+
9
+ &mdash; Documentation by YARD 0.9.9
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ pathId = "CollectionUtils::Heap";
19
+ relpath = '../';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="../class_list.html?1"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
38
+
39
+ <a href="../_index.html">Index (H)</a> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../CollectionUtils.html" title="CollectionUtils (module)">CollectionUtils</a></span></span>
41
+ &raquo;
42
+ <span class="title">Heap</span>
43
+
44
+ </div>
45
+
46
+ <div id="search">
47
+
48
+ <a class="full_list_link" id="class_list_link"
49
+ href="../class_list.html">
50
+
51
+ <svg width="24" height="24">
52
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
+ </svg>
56
+ </a>
57
+
58
+ </div>
59
+ <div class="clear"></div>
60
+ </div>
61
+
62
+ <div id="content"><h1>Class: CollectionUtils::Heap
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+ <dl>
70
+ <dt>Inherits:</dt>
71
+ <dd>
72
+ <span class="inheritName">Object</span>
73
+
74
+ <ul class="fullTree">
75
+ <li>Object</li>
76
+
77
+ <li class="next">CollectionUtils::Heap</li>
78
+
79
+ </ul>
80
+ <a href="#" class="inheritanceTree">show all</a>
81
+
82
+ </dd>
83
+ </dl>
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+ <dl>
96
+ <dt>Defined in:</dt>
97
+ <dd>lib/collection_utils/heap.rb</dd>
98
+ </dl>
99
+
100
+ </div>
101
+
102
+ <div id="subclasses">
103
+ <h2>Direct Known Subclasses</h2>
104
+ <p class="children"><span class='object_link'><a href="HeapUtils/MaxHeap.html" title="CollectionUtils::HeapUtils::MaxHeap (class)">CollectionUtils::HeapUtils::MaxHeap</a></span>, <span class='object_link'><a href="HeapUtils/MinHeap.html" title="CollectionUtils::HeapUtils::MinHeap (class)">CollectionUtils::HeapUtils::MinHeap</a></span></p>
105
+ </div>
106
+
107
+
108
+
109
+
110
+
111
+
112
+
113
+
114
+ <h2>
115
+ Instance Method Summary
116
+ <small><a href="#" class="summary_toggle">collapse</a></small>
117
+ </h2>
118
+
119
+ <ul class="summary">
120
+
121
+ <li class="public ">
122
+ <span class="summary_signature">
123
+
124
+ <a href="#bfs-instance_method" title="#bfs (instance method)">#<strong>bfs</strong> {|element| ... } &#x21d2; Object </a>
125
+
126
+
127
+
128
+ </span>
129
+
130
+
131
+
132
+
133
+
134
+
135
+
136
+
137
+
138
+ <span class="summary_desc"><div class='inline'>
139
+ <p>bfs stands for breadth first search.</p>
140
+ </div></span>
141
+
142
+ </li>
143
+
144
+
145
+ <li class="public ">
146
+ <span class="summary_signature">
147
+
148
+ <a href="#dfs-instance_method" title="#dfs (instance method)">#<strong>dfs</strong> {|element| ... } &#x21d2; Object </a>
149
+
150
+
151
+
152
+ </span>
153
+
154
+
155
+
156
+
157
+
158
+
159
+
160
+
161
+
162
+ <span class="summary_desc"><div class='inline'>
163
+ <p>dfs stands for depth first search.</p>
164
+ </div></span>
165
+
166
+ </li>
167
+
168
+
169
+ <li class="public ">
170
+ <span class="summary_signature">
171
+
172
+ <a href="#initialize-instance_method" title="#initialize (instance method)">#<strong>initialize</strong>(array = []) &#x21d2; Heap </a>
173
+
174
+
175
+
176
+ </span>
177
+
178
+
179
+ <span class="note title constructor">constructor</span>
180
+
181
+
182
+
183
+
184
+
185
+
186
+
187
+
188
+ <span class="summary_desc"><div class='inline'>
189
+ <p>Constructors.</p>
190
+ </div></span>
191
+
192
+ </li>
193
+
194
+
195
+ <li class="public ">
196
+ <span class="summary_signature">
197
+
198
+ <a href="#inorder-instance_method" title="#inorder (instance method)">#<strong>inorder</strong> &#x21d2; Array </a>
199
+
200
+
201
+
202
+ </span>
203
+
204
+
205
+
206
+
207
+
208
+
209
+
210
+
211
+
212
+ <span class="summary_desc"><div class='inline'>
213
+ <p>In-Order Traversal of Tree.</p>
214
+ </div></span>
215
+
216
+ </li>
217
+
218
+
219
+ <li class="public ">
220
+ <span class="summary_signature">
221
+
222
+ <a href="#is_empty%3F-instance_method" title="#is_empty? (instance method)">#<strong>is_empty?</strong> &#x21d2; Boolean </a>
223
+
224
+
225
+
226
+ </span>
227
+
228
+
229
+
230
+
231
+
232
+
233
+
234
+
235
+
236
+ <span class="summary_desc"><div class='inline'>
237
+ <p>Heap&#39;s emptiness.</p>
238
+ </div></span>
239
+
240
+ </li>
241
+
242
+
243
+ <li class="public ">
244
+ <span class="summary_signature">
245
+
246
+ <a href="#left-instance_method" title="#left (instance method)">#<strong>left</strong>(parent = 0) &#x21d2; Object </a>
247
+
248
+
249
+
250
+ </span>
251
+
252
+
253
+
254
+
255
+
256
+
257
+
258
+
259
+
260
+ <span class="summary_desc"><div class='inline'>
261
+ <p>Left child.</p>
262
+ </div></span>
263
+
264
+ </li>
265
+
266
+
267
+ <li class="public ">
268
+ <span class="summary_signature">
269
+
270
+ <a href="#pop-instance_method" title="#pop (instance method)">#<strong>pop</strong> &#x21d2; Object </a>
271
+
272
+
273
+
274
+ </span>
275
+
276
+
277
+
278
+
279
+
280
+
281
+
282
+
283
+
284
+ <span class="summary_desc"><div class='inline'>
285
+ <p>pop an element from heap.</p>
286
+ </div></span>
287
+
288
+ </li>
289
+
290
+
291
+ <li class="public ">
292
+ <span class="summary_signature">
293
+
294
+ <a href="#postorder-instance_method" title="#postorder (instance method)">#<strong>postorder</strong> &#x21d2; Array </a>
295
+
296
+
297
+
298
+ </span>
299
+
300
+
301
+
302
+
303
+
304
+
305
+
306
+
307
+
308
+ <span class="summary_desc"><div class='inline'>
309
+ <p>Post-Order Traversal of Tree.</p>
310
+ </div></span>
311
+
312
+ </li>
313
+
314
+
315
+ <li class="public ">
316
+ <span class="summary_signature">
317
+
318
+ <a href="#preorder-instance_method" title="#preorder (instance method)">#<strong>preorder</strong> &#x21d2; Array </a>
319
+
320
+
321
+
322
+ </span>
323
+
324
+
325
+
326
+
327
+
328
+
329
+
330
+
331
+
332
+ <span class="summary_desc"><div class='inline'>
333
+ <p>Pre-Order Traversal of Tree.</p>
334
+ </div></span>
335
+
336
+ </li>
337
+
338
+
339
+ <li class="public ">
340
+ <span class="summary_signature">
341
+
342
+ <a href="#push-instance_method" title="#push (instance method)">#<strong>push</strong>(element) &#x21d2; Object </a>
343
+
344
+
345
+
346
+ </span>
347
+
348
+
349
+
350
+
351
+
352
+
353
+
354
+
355
+
356
+ <span class="summary_desc"><div class='inline'>
357
+ <p>push element to heap.</p>
358
+ </div></span>
359
+
360
+ </li>
361
+
362
+
363
+ <li class="public ">
364
+ <span class="summary_signature">
365
+
366
+ <a href="#right-instance_method" title="#right (instance method)">#<strong>right</strong>(parent = 0) &#x21d2; Object </a>
367
+
368
+
369
+
370
+ </span>
371
+
372
+
373
+
374
+
375
+
376
+
377
+
378
+
379
+
380
+ <span class="summary_desc"><div class='inline'>
381
+ <p>Right child.</p>
382
+ </div></span>
383
+
384
+ </li>
385
+
386
+
387
+ <li class="public ">
388
+ <span class="summary_signature">
389
+
390
+ <a href="#size-instance_method" title="#size (instance method)">#<strong>size</strong> &#x21d2; Integer </a>
391
+
392
+
393
+
394
+ </span>
395
+
396
+
397
+
398
+
399
+
400
+
401
+
402
+
403
+
404
+ <span class="summary_desc"><div class='inline'>
405
+ <p>Size of heap.</p>
406
+ </div></span>
407
+
408
+ </li>
409
+
410
+
411
+ </ul>
412
+
413
+
414
+ <div id="constructor_details" class="method_details_list">
415
+ <h2>Constructor Details</h2>
416
+
417
+ <div class="method_details first">
418
+ <h3 class="signature first" id="initialize-instance_method">
419
+
420
+ #<strong>initialize</strong>(array = []) &#x21d2; <tt><span class='object_link'><a href="" title="CollectionUtils::Heap (class)">Heap</a></span></tt>
421
+
422
+
423
+
424
+
425
+
426
+ </h3><div class="docstring">
427
+ <div class="discussion">
428
+
429
+ <p>Constructors</p>
430
+
431
+
432
+ </div>
433
+ </div>
434
+ <div class="tags">
435
+
436
+
437
+ </div><table class="source_code">
438
+ <tr>
439
+ <td>
440
+ <pre class="lines">
441
+
442
+
443
+ 122
444
+ 123
445
+ 124
446
+ 125
447
+ 126
448
+ 127</pre>
449
+ </td>
450
+ <td>
451
+ <pre class="code"><span class="info file"># File 'lib/collection_utils/heap.rb', line 122</span>
452
+
453
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_array'>array</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span><span class='rparen'>)</span>
454
+ <span class='ivar'>@heap</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
455
+ <span class='id identifier rubyid_array'>array</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_element'>element</span><span class='op'>|</span>
456
+ <span class='id identifier rubyid_push'>push</span><span class='lparen'>(</span><span class='id identifier rubyid_element'>element</span><span class='rparen'>)</span>
457
+ <span class='kw'>end</span>
458
+ <span class='kw'>end</span></pre>
459
+ </td>
460
+ </tr>
461
+ </table>
462
+ </div>
463
+
464
+ </div>
465
+
466
+
467
+ <div id="instance_method_details" class="method_details_list">
468
+ <h2>Instance Method Details</h2>
469
+
470
+
471
+ <div class="method_details first">
472
+ <h3 class="signature first" id="bfs-instance_method">
473
+
474
+ #<strong>bfs</strong> {|element| ... } &#x21d2; <tt>Object</tt>
475
+
476
+
477
+
478
+
479
+
480
+ </h3><div class="docstring">
481
+ <div class="discussion">
482
+
483
+ <p>bfs stands for breadth first search.</p>
484
+
485
+
486
+ </div>
487
+ </div>
488
+ <div class="tags">
489
+
490
+ <div class="examples">
491
+ <p class="tag_title">Examples:</p>
492
+
493
+
494
+ <p class="example_title"><div class='inline'>
495
+ <p>Create Heap and in bfs manner assign it to array</p>
496
+ </div></p>
497
+
498
+ <pre class="example code"><code><span class='id identifier rubyid_arr'>arr</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='int'>1</span><span class='comma'>,</span><span class='int'>2</span><span class='comma'>,</span><span class='int'>3</span><span class='comma'>,</span><span class='int'>4</span><span class='comma'>,</span><span class='int'>5</span><span class='rbracket'>]</span>
499
+ <span class='id identifier rubyid_heap'>heap</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../CollectionUtils.html" title="CollectionUtils (module)">CollectionUtils</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="" title="CollectionUtils::Heap (class)">Heap</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="#initialize-instance_method" title="CollectionUtils::Heap#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_arr'>arr</span><span class='rparen'>)</span>
500
+ <span class='id identifier rubyid_x'>x</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
501
+ <span class='ivar'>@heap</span><span class='period'>.</span><span class='id identifier rubyid_bfs'>bfs</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_element'>element</span><span class='op'>|</span>
502
+ <span class='id identifier rubyid_x'>x</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_element'>element</span>
503
+ <span class='kw'>end</span>
504
+ <span class='comment'>#x = [1,2,3,4,5]</span></code></pre>
505
+
506
+ </div>
507
+
508
+ <p class="tag_title">Yields:</p>
509
+ <ul class="yield">
510
+
511
+ <li>
512
+
513
+
514
+ <span class='type'>(<tt>element</tt>)</span>
515
+
516
+
517
+
518
+ &mdash;
519
+ <div class='inline'>
520
+ <p>this will take the element returned in bfs manner and execute the passed
521
+ block.</p>
522
+ </div>
523
+
524
+ </li>
525
+
526
+ </ul>
527
+
528
+ </div><table class="source_code">
529
+ <tr>
530
+ <td>
531
+ <pre class="lines">
532
+
533
+
534
+ 180
535
+ 181
536
+ 182
537
+ 183
538
+ 184
539
+ 185
540
+ 186
541
+ 187
542
+ 188
543
+ 189
544
+ 190
545
+ 191
546
+ 192
547
+ 193
548
+ 194</pre>
549
+ </td>
550
+ <td>
551
+ <pre class="code"><span class="info file"># File 'lib/collection_utils/heap.rb', line 180</span>
552
+
553
+ <span class='kw'>def</span> <span class='id identifier rubyid_bfs'>bfs</span>
554
+ <span class='id identifier rubyid_queue'>queue</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../CollectionUtils.html" title="CollectionUtils (module)">CollectionUtils</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Queue.html" title="CollectionUtils::Queue (class)">Queue</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Queue.html#initialize-instance_method" title="CollectionUtils::Queue#initialize (method)">new</a></span></span>
555
+ <span class='id identifier rubyid_queue'>queue</span><span class='period'>.</span><span class='id identifier rubyid_enqueue'>enqueue</span><span class='lparen'>(</span><span class='id identifier rubyid_root'><span class='object_link'><a href="../top-level-namespace.html" title="Top Level Namespace (root)">root</a></span></span><span class='rparen'>)</span>
556
+ <span class='kw'>while</span> <span class='kw'>true</span> <span class='kw'>do</span>
557
+ <span class='id identifier rubyid_node'>node</span> <span class='op'>=</span> <span class='id identifier rubyid_queue'>queue</span><span class='period'>.</span><span class='id identifier rubyid_dequeue'>dequeue</span>
558
+ <span class='kw'>next</span> <span class='kw'>if</span> <span class='id identifier rubyid_node'>node</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
559
+ <span class='id identifier rubyid_left'>left</span> <span class='op'>=</span> <span class='id identifier rubyid_left'>left</span><span class='lparen'>(</span><span class='id identifier rubyid_node'>node</span><span class='lbracket'>[</span><span class='symbol'>:index</span><span class='rbracket'>]</span><span class='rparen'>)</span>
560
+ <span class='id identifier rubyid_right'>right</span> <span class='op'>=</span> <span class='id identifier rubyid_right'>right</span><span class='lparen'>(</span><span class='id identifier rubyid_node'>node</span><span class='lbracket'>[</span><span class='symbol'>:index</span><span class='rbracket'>]</span><span class='rparen'>)</span>
561
+ <span class='kw'>yield</span><span class='lparen'>(</span><span class='id identifier rubyid_node'>node</span><span class='lbracket'>[</span><span class='symbol'>:element</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
562
+ <span class='id identifier rubyid_queue'>queue</span><span class='period'>.</span><span class='id identifier rubyid_enqueue'>enqueue</span><span class='lparen'>(</span><span class='id identifier rubyid_left'>left</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_left'>left</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
563
+ <span class='id identifier rubyid_queue'>queue</span><span class='period'>.</span><span class='id identifier rubyid_enqueue'>enqueue</span><span class='lparen'>(</span><span class='id identifier rubyid_right'>right</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_right'>right</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
564
+ <span class='kw'>break</span> <span class='kw'>if</span> <span class='id identifier rubyid_queue'>queue</span><span class='period'>.</span><span class='id identifier rubyid_is_empty?'>is_empty?</span>
565
+ <span class='kw'>end</span>
566
+
567
+ <span class='kw'>end</span></pre>
568
+ </td>
569
+ </tr>
570
+ </table>
571
+ </div>
572
+
573
+ <div class="method_details ">
574
+ <h3 class="signature " id="dfs-instance_method">
575
+
576
+ #<strong>dfs</strong> {|element| ... } &#x21d2; <tt>Object</tt>
577
+
578
+
579
+
580
+
581
+
582
+ </h3><div class="docstring">
583
+ <div class="discussion">
584
+
585
+ <p>dfs stands for depth first search.</p>
586
+
587
+
588
+ </div>
589
+ </div>
590
+ <div class="tags">
591
+
592
+ <div class="examples">
593
+ <p class="tag_title">Examples:</p>
594
+
595
+
596
+ <p class="example_title"><div class='inline'>
597
+ <p>Create Heap and in dfs manner assign it to array</p>
598
+ </div></p>
599
+
600
+ <pre class="example code"><code><span class='id identifier rubyid_arr'>arr</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='int'>1</span><span class='comma'>,</span><span class='int'>2</span><span class='comma'>,</span><span class='int'>3</span><span class='comma'>,</span><span class='int'>4</span><span class='comma'>,</span><span class='int'>5</span><span class='rbracket'>]</span>
601
+ <span class='id identifier rubyid_heap'>heap</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../CollectionUtils.html" title="CollectionUtils (module)">CollectionUtils</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="" title="CollectionUtils::Heap (class)">Heap</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="#initialize-instance_method" title="CollectionUtils::Heap#initialize (method)">new</a></span></span><span class='lparen'>(</span><span class='id identifier rubyid_arr'>arr</span><span class='rparen'>)</span>
602
+ <span class='id identifier rubyid_x'>x</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
603
+ <span class='ivar'>@heap</span><span class='period'>.</span><span class='id identifier rubyid_dfs'>dfs</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_element'>element</span><span class='op'>|</span>
604
+ <span class='id identifier rubyid_x'>x</span> <span class='op'>&lt;&lt;</span> <span class='id identifier rubyid_element'>element</span>
605
+ <span class='kw'>end</span>
606
+ <span class='comment'>#x = [1,3,2,5,4]</span></code></pre>
607
+
608
+ </div>
609
+
610
+ <p class="tag_title">Yields:</p>
611
+ <ul class="yield">
612
+
613
+ <li>
614
+
615
+
616
+ <span class='type'>(<tt>element</tt>)</span>
617
+
618
+
619
+
620
+ &mdash;
621
+ <div class='inline'>
622
+ <p>this will take the element returned in dfs manner and execute the passed
623
+ block.</p>
624
+ </div>
625
+
626
+ </li>
627
+
628
+ </ul>
629
+
630
+ </div><table class="source_code">
631
+ <tr>
632
+ <td>
633
+ <pre class="lines">
634
+
635
+
636
+ 206
637
+ 207
638
+ 208
639
+ 209
640
+ 210
641
+ 211
642
+ 212
643
+ 213
644
+ 214
645
+ 215
646
+ 216
647
+ 217
648
+ 218
649
+ 219</pre>
650
+ </td>
651
+ <td>
652
+ <pre class="code"><span class="info file"># File 'lib/collection_utils/heap.rb', line 206</span>
653
+
654
+ <span class='kw'>def</span> <span class='id identifier rubyid_dfs'>dfs</span>
655
+ <span class='id identifier rubyid_stack'>stack</span> <span class='op'>=</span> <span class='const'><span class='object_link'><a href="../CollectionUtils.html" title="CollectionUtils (module)">CollectionUtils</a></span></span><span class='op'>::</span><span class='const'><span class='object_link'><a href="Stack.html" title="CollectionUtils::Stack (class)">Stack</a></span></span><span class='period'>.</span><span class='id identifier rubyid_new'><span class='object_link'><a href="Stack.html#initialize-instance_method" title="CollectionUtils::Stack#initialize (method)">new</a></span></span>
656
+ <span class='id identifier rubyid_stack'>stack</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span><span class='lparen'>(</span><span class='id identifier rubyid_root'><span class='object_link'><a href="../top-level-namespace.html" title="Top Level Namespace (root)">root</a></span></span><span class='rparen'>)</span>
657
+ <span class='kw'>while</span> <span class='kw'>true</span> <span class='kw'>do</span>
658
+ <span class='id identifier rubyid_node'>node</span> <span class='op'>=</span> <span class='id identifier rubyid_stack'>stack</span><span class='period'>.</span><span class='id identifier rubyid_pop'>pop</span>
659
+ <span class='kw'>next</span> <span class='kw'>if</span> <span class='id identifier rubyid_node'>node</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
660
+ <span class='id identifier rubyid_left'>left</span> <span class='op'>=</span> <span class='id identifier rubyid_left'>left</span><span class='lparen'>(</span><span class='id identifier rubyid_node'>node</span><span class='lbracket'>[</span><span class='symbol'>:index</span><span class='rbracket'>]</span><span class='rparen'>)</span>
661
+ <span class='id identifier rubyid_right'>right</span> <span class='op'>=</span> <span class='id identifier rubyid_right'>right</span><span class='lparen'>(</span><span class='id identifier rubyid_node'>node</span><span class='lbracket'>[</span><span class='symbol'>:index</span><span class='rbracket'>]</span><span class='rparen'>)</span>
662
+ <span class='kw'>yield</span><span class='lparen'>(</span><span class='id identifier rubyid_node'>node</span><span class='lbracket'>[</span><span class='symbol'>:element</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_block_given?'>block_given?</span>
663
+ <span class='id identifier rubyid_stack'>stack</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span><span class='lparen'>(</span><span class='id identifier rubyid_left'>left</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_left'>left</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
664
+ <span class='id identifier rubyid_stack'>stack</span><span class='period'>.</span><span class='id identifier rubyid_push'>push</span><span class='lparen'>(</span><span class='id identifier rubyid_right'>right</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_right'>right</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
665
+ <span class='kw'>break</span> <span class='kw'>if</span> <span class='id identifier rubyid_stack'>stack</span><span class='period'>.</span><span class='id identifier rubyid_is_empty?'>is_empty?</span>
666
+ <span class='kw'>end</span>
667
+ <span class='kw'>end</span></pre>
668
+ </td>
669
+ </tr>
670
+ </table>
671
+ </div>
672
+
673
+ <div class="method_details ">
674
+ <h3 class="signature " id="inorder-instance_method">
675
+
676
+ #<strong>inorder</strong> &#x21d2; <tt>Array</tt>
677
+
678
+
679
+
680
+
681
+
682
+ </h3><div class="docstring">
683
+ <div class="discussion">
684
+
685
+ <p>In-Order Traversal of Tree</p>
686
+
687
+
688
+ </div>
689
+ </div>
690
+ <div class="tags">
691
+
692
+ <p class="tag_title">Returns:</p>
693
+ <ul class="return">
694
+
695
+ <li>
696
+
697
+
698
+ <span class='type'>(<tt>Array</tt>)</span>
699
+
700
+
701
+
702
+ &mdash;
703
+ <div class='inline'>
704
+ <p>elements of heap in in-ordered manner</p>
705
+ </div>
706
+
707
+ </li>
708
+
709
+ </ul>
710
+
711
+ </div><table class="source_code">
712
+ <tr>
713
+ <td>
714
+ <pre class="lines">
715
+
716
+
717
+ 242
718
+ 243
719
+ 244
720
+ 245
721
+ 246</pre>
722
+ </td>
723
+ <td>
724
+ <pre class="code"><span class="info file"># File 'lib/collection_utils/heap.rb', line 242</span>
725
+
726
+ <span class='kw'>def</span> <span class='id identifier rubyid_inorder'>inorder</span>
727
+ <span class='id identifier rubyid_arr'>arr</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
728
+ <span class='id identifier rubyid_in_order'>in_order</span><span class='lparen'>(</span><span class='id identifier rubyid_root'><span class='object_link'><a href="../top-level-namespace.html" title="Top Level Namespace (root)">root</a></span></span><span class='comma'>,</span> <span class='id identifier rubyid_arr'>arr</span><span class='rparen'>)</span>
729
+ <span class='kw'>return</span> <span class='id identifier rubyid_arr'>arr</span>
730
+ <span class='kw'>end</span></pre>
731
+ </td>
732
+ </tr>
733
+ </table>
734
+ </div>
735
+
736
+ <div class="method_details ">
737
+ <h3 class="signature " id="is_empty?-instance_method">
738
+
739
+ #<strong>is_empty?</strong> &#x21d2; <tt>Boolean</tt>
740
+
741
+
742
+
743
+
744
+
745
+ </h3><div class="docstring">
746
+ <div class="discussion">
747
+
748
+ <p>Returns heap&#39;s emptiness</p>
749
+
750
+
751
+ </div>
752
+ </div>
753
+ <div class="tags">
754
+
755
+ <p class="tag_title">Returns:</p>
756
+ <ul class="return">
757
+
758
+ <li>
759
+
760
+
761
+ <span class='type'>(<tt>Boolean</tt>)</span>
762
+
763
+
764
+
765
+ &mdash;
766
+ <div class='inline'>
767
+ <p>heap&#39;s emptiness</p>
768
+ </div>
769
+
770
+ </li>
771
+
772
+ </ul>
773
+
774
+ </div><table class="source_code">
775
+ <tr>
776
+ <td>
777
+ <pre class="lines">
778
+
779
+
780
+ 165
781
+ 166
782
+ 167</pre>
783
+ </td>
784
+ <td>
785
+ <pre class="code"><span class="info file"># File 'lib/collection_utils/heap.rb', line 165</span>
786
+
787
+ <span class='kw'>def</span> <span class='id identifier rubyid_is_empty?'>is_empty?</span>
788
+ <span class='kw'>return</span> <span class='id identifier rubyid_size'>size</span> <span class='op'>==</span> <span class='int'>0</span>
789
+ <span class='kw'>end</span></pre>
790
+ </td>
791
+ </tr>
792
+ </table>
793
+ </div>
794
+
795
+ <div class="method_details ">
796
+ <h3 class="signature " id="left-instance_method">
797
+
798
+ #<strong>left</strong>(parent = 0) &#x21d2; <tt>Object</tt>
799
+
800
+
801
+
802
+
803
+
804
+ </h3><div class="docstring">
805
+ <div class="discussion">
806
+
807
+ <p>Returns left child</p>
808
+
809
+
810
+ </div>
811
+ </div>
812
+ <div class="tags">
813
+ <p class="tag_title">Parameters:</p>
814
+ <ul class="param">
815
+
816
+ <li>
817
+
818
+ <span class='name'>parent</span>
819
+
820
+
821
+ <span class='type'>(<tt>Integer</tt>)</span>
822
+
823
+
824
+ <em class="default">(defaults to: <tt>0</tt>)</em>
825
+
826
+
827
+ &mdash;
828
+ <div class='inline'>
829
+ <p>index for which left child needs to be returned</p>
830
+ </div>
831
+
832
+ </li>
833
+
834
+ </ul>
835
+
836
+ <p class="tag_title">Returns:</p>
837
+ <ul class="return">
838
+
839
+ <li>
840
+
841
+
842
+ <span class='type'></span>
843
+
844
+
845
+
846
+
847
+ <div class='inline'>
848
+ <p>left child</p>
849
+ </div>
850
+
851
+ </li>
852
+
853
+ </ul>
854
+
855
+ </div><table class="source_code">
856
+ <tr>
857
+ <td>
858
+ <pre class="lines">
859
+
860
+
861
+ 133
862
+ 134
863
+ 135</pre>
864
+ </td>
865
+ <td>
866
+ <pre class="code"><span class="info file"># File 'lib/collection_utils/heap.rb', line 133</span>
867
+
868
+ <span class='kw'>def</span> <span class='id identifier rubyid_left'>left</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span> <span class='op'>=</span> <span class='int'>0</span><span class='rparen'>)</span>
869
+ <span class='id identifier rubyid_left_child'>left_child</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
870
+ <span class='kw'>end</span></pre>
871
+ </td>
872
+ </tr>
873
+ </table>
874
+ </div>
875
+
876
+ <div class="method_details ">
877
+ <h3 class="signature " id="pop-instance_method">
878
+
879
+ #<strong>pop</strong> &#x21d2; <tt>Object</tt>
880
+
881
+
882
+
883
+
884
+
885
+ </h3><div class="docstring">
886
+ <div class="discussion">
887
+
888
+ <p>pop an element from heap</p>
889
+
890
+
891
+ </div>
892
+ </div>
893
+ <div class="tags">
894
+
895
+ <p class="tag_title">Returns:</p>
896
+ <ul class="return">
897
+
898
+ <li>
899
+
900
+
901
+ <span class='type'></span>
902
+
903
+
904
+
905
+
906
+ <div class='inline'>
907
+ <p>removed element</p>
908
+ </div>
909
+
910
+ </li>
911
+
912
+ </ul>
913
+
914
+ </div><table class="source_code">
915
+ <tr>
916
+ <td>
917
+ <pre class="lines">
918
+
919
+
920
+ 153
921
+ 154
922
+ 155
923
+ 156</pre>
924
+ </td>
925
+ <td>
926
+ <pre class="code"><span class="info file"># File 'lib/collection_utils/heap.rb', line 153</span>
927
+
928
+ <span class='kw'>def</span> <span class='id identifier rubyid_pop'>pop</span>
929
+ <span class='id identifier rubyid_element'>element</span> <span class='op'>=</span> <span class='ivar'>@heap</span><span class='period'>.</span><span class='id identifier rubyid_pop'>pop</span>
930
+ <span class='kw'>return</span> <span class='id identifier rubyid_element'>element</span><span class='lbracket'>[</span><span class='symbol'>:element</span><span class='rbracket'>]</span>
931
+ <span class='kw'>end</span></pre>
932
+ </td>
933
+ </tr>
934
+ </table>
935
+ </div>
936
+
937
+ <div class="method_details ">
938
+ <h3 class="signature " id="postorder-instance_method">
939
+
940
+ #<strong>postorder</strong> &#x21d2; <tt>Array</tt>
941
+
942
+
943
+
944
+
945
+
946
+ </h3><div class="docstring">
947
+ <div class="discussion">
948
+
949
+ <p>Post-Order Traversal of Tree</p>
950
+
951
+
952
+ </div>
953
+ </div>
954
+ <div class="tags">
955
+
956
+ <p class="tag_title">Returns:</p>
957
+ <ul class="return">
958
+
959
+ <li>
960
+
961
+
962
+ <span class='type'>(<tt>Array</tt>)</span>
963
+
964
+
965
+
966
+ &mdash;
967
+ <div class='inline'>
968
+ <p>elements of heap in post-ordered manner</p>
969
+ </div>
970
+
971
+ </li>
972
+
973
+ </ul>
974
+
975
+ </div><table class="source_code">
976
+ <tr>
977
+ <td>
978
+ <pre class="lines">
979
+
980
+
981
+ 233
982
+ 234
983
+ 235
984
+ 236
985
+ 237</pre>
986
+ </td>
987
+ <td>
988
+ <pre class="code"><span class="info file"># File 'lib/collection_utils/heap.rb', line 233</span>
989
+
990
+ <span class='kw'>def</span> <span class='id identifier rubyid_postorder'>postorder</span>
991
+ <span class='id identifier rubyid_arr'>arr</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
992
+ <span class='id identifier rubyid_post_order'>post_order</span><span class='lparen'>(</span><span class='id identifier rubyid_root'><span class='object_link'><a href="../top-level-namespace.html" title="Top Level Namespace (root)">root</a></span></span><span class='comma'>,</span> <span class='id identifier rubyid_arr'>arr</span><span class='rparen'>)</span>
993
+ <span class='kw'>return</span> <span class='id identifier rubyid_arr'>arr</span>
994
+ <span class='kw'>end</span></pre>
995
+ </td>
996
+ </tr>
997
+ </table>
998
+ </div>
999
+
1000
+ <div class="method_details ">
1001
+ <h3 class="signature " id="preorder-instance_method">
1002
+
1003
+ #<strong>preorder</strong> &#x21d2; <tt>Array</tt>
1004
+
1005
+
1006
+
1007
+
1008
+
1009
+ </h3><div class="docstring">
1010
+ <div class="discussion">
1011
+
1012
+ <p>Pre-Order Traversal of Tree</p>
1013
+
1014
+
1015
+ </div>
1016
+ </div>
1017
+ <div class="tags">
1018
+
1019
+ <p class="tag_title">Returns:</p>
1020
+ <ul class="return">
1021
+
1022
+ <li>
1023
+
1024
+
1025
+ <span class='type'>(<tt>Array</tt>)</span>
1026
+
1027
+
1028
+
1029
+ &mdash;
1030
+ <div class='inline'>
1031
+ <p>elements of heap in pre-ordered manner</p>
1032
+ </div>
1033
+
1034
+ </li>
1035
+
1036
+ </ul>
1037
+
1038
+ </div><table class="source_code">
1039
+ <tr>
1040
+ <td>
1041
+ <pre class="lines">
1042
+
1043
+
1044
+ 224
1045
+ 225
1046
+ 226
1047
+ 227
1048
+ 228</pre>
1049
+ </td>
1050
+ <td>
1051
+ <pre class="code"><span class="info file"># File 'lib/collection_utils/heap.rb', line 224</span>
1052
+
1053
+ <span class='kw'>def</span> <span class='id identifier rubyid_preorder'>preorder</span>
1054
+ <span class='id identifier rubyid_arr'>arr</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
1055
+ <span class='id identifier rubyid_pre_order'>pre_order</span><span class='lparen'>(</span><span class='id identifier rubyid_root'><span class='object_link'><a href="../top-level-namespace.html" title="Top Level Namespace (root)">root</a></span></span><span class='comma'>,</span> <span class='id identifier rubyid_arr'>arr</span><span class='rparen'>)</span>
1056
+ <span class='kw'>return</span> <span class='id identifier rubyid_arr'>arr</span>
1057
+ <span class='kw'>end</span></pre>
1058
+ </td>
1059
+ </tr>
1060
+ </table>
1061
+ </div>
1062
+
1063
+ <div class="method_details ">
1064
+ <h3 class="signature " id="push-instance_method">
1065
+
1066
+ #<strong>push</strong>(element) &#x21d2; <tt>Object</tt>
1067
+
1068
+
1069
+
1070
+
1071
+
1072
+ </h3><div class="docstring">
1073
+ <div class="discussion">
1074
+
1075
+ <p>push element to heap</p>
1076
+
1077
+
1078
+ </div>
1079
+ </div>
1080
+ <div class="tags">
1081
+ <p class="tag_title">Parameters:</p>
1082
+ <ul class="param">
1083
+
1084
+ <li>
1085
+
1086
+ <span class='name'>element</span>
1087
+
1088
+
1089
+ <span class='type'></span>
1090
+
1091
+
1092
+
1093
+ &mdash;
1094
+ <div class='inline'>
1095
+ <p>object that needs to be added to heap</p>
1096
+ </div>
1097
+
1098
+ </li>
1099
+
1100
+ </ul>
1101
+
1102
+
1103
+ </div><table class="source_code">
1104
+ <tr>
1105
+ <td>
1106
+ <pre class="lines">
1107
+
1108
+
1109
+ 146
1110
+ 147
1111
+ 148</pre>
1112
+ </td>
1113
+ <td>
1114
+ <pre class="code"><span class="info file"># File 'lib/collection_utils/heap.rb', line 146</span>
1115
+
1116
+ <span class='kw'>def</span> <span class='id identifier rubyid_push'>push</span><span class='lparen'>(</span><span class='id identifier rubyid_element'>element</span><span class='rparen'>)</span>
1117
+ <span class='ivar'>@heap</span> <span class='op'>&lt;&lt;</span> <span class='lbrace'>{</span><span class='label'>element:</span> <span class='id identifier rubyid_element'>element</span><span class='comma'>,</span> <span class='label'>index:</span> <span class='id identifier rubyid_size'>size</span><span class='rbrace'>}</span>
1118
+ <span class='kw'>end</span></pre>
1119
+ </td>
1120
+ </tr>
1121
+ </table>
1122
+ </div>
1123
+
1124
+ <div class="method_details ">
1125
+ <h3 class="signature " id="right-instance_method">
1126
+
1127
+ #<strong>right</strong>(parent = 0) &#x21d2; <tt>Object</tt>
1128
+
1129
+
1130
+
1131
+
1132
+
1133
+ </h3><div class="docstring">
1134
+ <div class="discussion">
1135
+
1136
+ <p>Returns right child</p>
1137
+
1138
+
1139
+ </div>
1140
+ </div>
1141
+ <div class="tags">
1142
+ <p class="tag_title">Parameters:</p>
1143
+ <ul class="param">
1144
+
1145
+ <li>
1146
+
1147
+ <span class='name'>parent</span>
1148
+
1149
+
1150
+ <span class='type'>(<tt>Integer</tt>)</span>
1151
+
1152
+
1153
+ <em class="default">(defaults to: <tt>0</tt>)</em>
1154
+
1155
+
1156
+ &mdash;
1157
+ <div class='inline'>
1158
+ <p>index for which right child needs to be returned</p>
1159
+ </div>
1160
+
1161
+ </li>
1162
+
1163
+ </ul>
1164
+
1165
+ <p class="tag_title">Returns:</p>
1166
+ <ul class="return">
1167
+
1168
+ <li>
1169
+
1170
+
1171
+ <span class='type'></span>
1172
+
1173
+
1174
+
1175
+
1176
+ <div class='inline'>
1177
+ <p>right child</p>
1178
+ </div>
1179
+
1180
+ </li>
1181
+
1182
+ </ul>
1183
+
1184
+ </div><table class="source_code">
1185
+ <tr>
1186
+ <td>
1187
+ <pre class="lines">
1188
+
1189
+
1190
+ 139
1191
+ 140
1192
+ 141</pre>
1193
+ </td>
1194
+ <td>
1195
+ <pre class="code"><span class="info file"># File 'lib/collection_utils/heap.rb', line 139</span>
1196
+
1197
+ <span class='kw'>def</span> <span class='id identifier rubyid_right'>right</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span> <span class='op'>=</span> <span class='int'>0</span><span class='rparen'>)</span>
1198
+ <span class='id identifier rubyid_right_child'>right_child</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_first'>first</span>
1199
+ <span class='kw'>end</span></pre>
1200
+ </td>
1201
+ </tr>
1202
+ </table>
1203
+ </div>
1204
+
1205
+ <div class="method_details ">
1206
+ <h3 class="signature " id="size-instance_method">
1207
+
1208
+ #<strong>size</strong> &#x21d2; <tt>Integer</tt>
1209
+
1210
+
1211
+
1212
+
1213
+
1214
+ </h3><div class="docstring">
1215
+ <div class="discussion">
1216
+
1217
+ <p>Returns size of heap</p>
1218
+
1219
+
1220
+ </div>
1221
+ </div>
1222
+ <div class="tags">
1223
+
1224
+ <p class="tag_title">Returns:</p>
1225
+ <ul class="return">
1226
+
1227
+ <li>
1228
+
1229
+
1230
+ <span class='type'>(<tt>Integer</tt>)</span>
1231
+
1232
+
1233
+
1234
+ &mdash;
1235
+ <div class='inline'>
1236
+ <p>size of heap</p>
1237
+ </div>
1238
+
1239
+ </li>
1240
+
1241
+ </ul>
1242
+
1243
+ </div><table class="source_code">
1244
+ <tr>
1245
+ <td>
1246
+ <pre class="lines">
1247
+
1248
+
1249
+ 160
1250
+ 161
1251
+ 162</pre>
1252
+ </td>
1253
+ <td>
1254
+ <pre class="code"><span class="info file"># File 'lib/collection_utils/heap.rb', line 160</span>
1255
+
1256
+ <span class='kw'>def</span> <span class='id identifier rubyid_size'>size</span>
1257
+ <span class='kw'>return</span> <span class='ivar'>@heap</span><span class='period'>.</span><span class='id identifier rubyid_size'>size</span>
1258
+ <span class='kw'>end</span></pre>
1259
+ </td>
1260
+ </tr>
1261
+ </table>
1262
+ </div>
1263
+
1264
+ </div>
1265
+
1266
+ </div>
1267
+
1268
+ <div id="footer">
1269
+ Generated on Thu Jul 20 01:32:56 2017 by
1270
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1271
+ 0.9.9 (ruby-2.0.0).
1272
+ </div>
1273
+
1274
+ </div>
1275
+ </body>
1276
+ </html>