grosser-algorithms 0.4.0 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Manifest +45 -0
- data/VERSION +1 -0
- data/ext/containers/bst/bst.c +249 -0
- data/ext/containers/bst/extconf.rb +4 -0
- data/grosser-algorithms.gemspec +4 -4
- data/rdoc/classes/Algorithms.html +221 -0
- data/rdoc/classes/Algorithms/Algorithms.html +115 -0
- data/rdoc/classes/Algorithms/Algorithms/Sort.html +569 -0
- data/rdoc/classes/Algorithms/Containers.html +162 -0
- data/rdoc/classes/Algorithms/Containers/Heap.html +690 -0
- data/rdoc/classes/Algorithms/Containers/KDTree.html +195 -0
- data/rdoc/classes/Algorithms/Containers/MaxHeap.html +238 -0
- data/rdoc/classes/Algorithms/Containers/MinHeap.html +238 -0
- data/rdoc/classes/Algorithms/Containers/PriorityQueue.html +456 -0
- data/rdoc/classes/Algorithms/Containers/Queue.html +363 -0
- data/rdoc/classes/Algorithms/Containers/RubyDeque.html +617 -0
- data/rdoc/classes/Algorithms/Containers/RubyRBTreeMap.html +662 -0
- data/rdoc/classes/Algorithms/Containers/RubySplayTreeMap.html +623 -0
- data/rdoc/classes/Algorithms/Containers/Stack.html +363 -0
- data/rdoc/classes/Algorithms/Containers/SuffixArray.html +246 -0
- data/rdoc/classes/Algorithms/Containers/Trie.html +555 -0
- data/rdoc/classes/Algorithms/Search.html +273 -0
- data/rdoc/created.rid +1 -0
- data/rdoc/files/History_txt.html +281 -0
- data/rdoc/files/README_markdown.html +248 -0
- data/rdoc/files/lib/algorithms/search_rb.html +108 -0
- data/rdoc/files/lib/algorithms/sort_rb.html +108 -0
- data/rdoc/files/lib/algorithms/string_rb.html +115 -0
- data/rdoc/files/lib/algorithms_rb.html +252 -0
- data/rdoc/files/lib/containers/deque_rb.html +119 -0
- data/rdoc/files/lib/containers/heap_rb.html +124 -0
- data/rdoc/files/lib/containers/kd_tree_rb.html +135 -0
- data/rdoc/files/lib/containers/priority_queue_rb.html +108 -0
- data/rdoc/files/lib/containers/queue_rb.html +108 -0
- data/rdoc/files/lib/containers/rb_tree_map_rb.html +109 -0
- data/rdoc/files/lib/containers/splay_tree_map_rb.html +109 -0
- data/rdoc/files/lib/containers/stack_rb.html +108 -0
- data/rdoc/files/lib/containers/suffix_array_rb.html +113 -0
- data/rdoc/files/lib/containers/trie_rb.html +117 -0
- data/rdoc/fr_class_index.html +43 -0
- data/rdoc/fr_file_index.html +42 -0
- data/rdoc/fr_method_index.html +147 -0
- data/rdoc/index.html +24 -0
- data/rdoc/rdoc-style.css +208 -0
- data/spec/bst_gc_mark_spec.rb +25 -0
- data/spec/bst_spec.rb +25 -0
- metadata +50 -3
@@ -0,0 +1,25 @@
|
|
1
|
+
# $: << File.join(File.expand_path(File.dirname(__FILE__)), '..', 'lib')
|
2
|
+
# require 'algorithms'
|
3
|
+
#
|
4
|
+
# if defined? Algorithms::Containers::CBst
|
5
|
+
# describe "CBst" do
|
6
|
+
# it "should mark ruby object references" do
|
7
|
+
# anon_key_class = Class.new do
|
8
|
+
# attr :value
|
9
|
+
# def initialize(x); @value = x; end
|
10
|
+
# def <=>(other); value <=> other.value; end
|
11
|
+
# end
|
12
|
+
# anon_val_class = Class.new
|
13
|
+
# @bst = Algorithms::Containers::CBst.new
|
14
|
+
# 100.times { |x| @bst.push(anon_key_class.new(x), anon_val_class.new) }
|
15
|
+
# # Mark and sweep
|
16
|
+
# ObjectSpace.garbage_collect
|
17
|
+
# # Check if any instances were swept
|
18
|
+
# count = 0
|
19
|
+
# ObjectSpace.each_object(anon_key_class) { |x| count += 1 }
|
20
|
+
# count.should eql(100)
|
21
|
+
# ObjectSpace.each_object(anon_val_class) { |x| count += 1 }
|
22
|
+
# count.should eql(200)
|
23
|
+
# end
|
24
|
+
# end
|
25
|
+
# end
|
data/spec/bst_spec.rb
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
# $: << File.join(File.expand_path(File.dirname(__FILE__)), '..', 'lib')
|
2
|
+
# require "algorithms"
|
3
|
+
#
|
4
|
+
# begin
|
5
|
+
# Containers::CBst
|
6
|
+
# describe "binary search tree" do
|
7
|
+
# it "should let user push new elements with key" do
|
8
|
+
# @bst = Containers::CBst.new
|
9
|
+
# 100.times { |x| @bst.push(x, "hello : #{x}") }
|
10
|
+
# @bst.size.should eql(100)
|
11
|
+
# end
|
12
|
+
#
|
13
|
+
# it "should allow users to delete elements" do
|
14
|
+
# @bst = Containers::CBst.new
|
15
|
+
# @bst.push(10, "hello world")
|
16
|
+
# @bst.push(11, "hello world")
|
17
|
+
# @bst.delete(11)
|
18
|
+
# @bst.size.should eql(1)
|
19
|
+
# @bst.delete(10)
|
20
|
+
# @bst.size.should eql(0)
|
21
|
+
# end
|
22
|
+
#
|
23
|
+
# end
|
24
|
+
# rescue Exception
|
25
|
+
# end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 4
|
8
|
-
-
|
9
|
-
version: 0.4.
|
8
|
+
- 1
|
9
|
+
version: 0.4.1
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Kanwei Li
|
@@ -24,6 +24,7 @@ executables: []
|
|
24
24
|
|
25
25
|
extensions:
|
26
26
|
- ext/algorithms/string/extconf.rb
|
27
|
+
- ext/containers/bst/extconf.rb
|
27
28
|
- ext/containers/deque/extconf.rb
|
28
29
|
- ext/containers/rbtree_map/extconf.rb
|
29
30
|
- ext/containers/splaytree_map/extconf.rb
|
@@ -31,6 +32,8 @@ extra_rdoc_files:
|
|
31
32
|
- README.markdown
|
32
33
|
- ext/algorithms/string/extconf.rb
|
33
34
|
- ext/algorithms/string/string.c
|
35
|
+
- ext/containers/bst/bst.c
|
36
|
+
- ext/containers/bst/extconf.rb
|
34
37
|
- ext/containers/deque/deque.c
|
35
38
|
- ext/containers/deque/extconf.rb
|
36
39
|
- ext/containers/rbtree_map/extconf.rb
|
@@ -56,18 +59,22 @@ files:
|
|
56
59
|
- Manifest
|
57
60
|
- README.markdown
|
58
61
|
- Rakefile
|
62
|
+
- VERSION
|
59
63
|
- algorithms.gemspec
|
60
64
|
- benchmarks/deque.rb
|
61
65
|
- benchmarks/sorts.rb
|
62
66
|
- benchmarks/treemaps.rb
|
63
67
|
- ext/algorithms/string/extconf.rb
|
64
68
|
- ext/algorithms/string/string.c
|
69
|
+
- ext/containers/bst/bst.c
|
70
|
+
- ext/containers/bst/extconf.rb
|
65
71
|
- ext/containers/deque/deque.c
|
66
72
|
- ext/containers/deque/extconf.rb
|
67
73
|
- ext/containers/rbtree_map/extconf.rb
|
68
74
|
- ext/containers/rbtree_map/rbtree.c
|
69
75
|
- ext/containers/splaytree_map/extconf.rb
|
70
76
|
- ext/containers/splaytree_map/splaytree.c
|
77
|
+
- grosser-algorithms.gemspec
|
71
78
|
- lib/algorithms.rb
|
72
79
|
- lib/algorithms/search.rb
|
73
80
|
- lib/algorithms/sort.rb
|
@@ -82,6 +89,47 @@ files:
|
|
82
89
|
- lib/containers/stack.rb
|
83
90
|
- lib/containers/suffix_array.rb
|
84
91
|
- lib/containers/trie.rb
|
92
|
+
- rdoc/classes/Algorithms.html
|
93
|
+
- rdoc/classes/Algorithms/Algorithms.html
|
94
|
+
- rdoc/classes/Algorithms/Algorithms/Sort.html
|
95
|
+
- rdoc/classes/Algorithms/Containers.html
|
96
|
+
- rdoc/classes/Algorithms/Containers/Heap.html
|
97
|
+
- rdoc/classes/Algorithms/Containers/KDTree.html
|
98
|
+
- rdoc/classes/Algorithms/Containers/MaxHeap.html
|
99
|
+
- rdoc/classes/Algorithms/Containers/MinHeap.html
|
100
|
+
- rdoc/classes/Algorithms/Containers/PriorityQueue.html
|
101
|
+
- rdoc/classes/Algorithms/Containers/Queue.html
|
102
|
+
- rdoc/classes/Algorithms/Containers/RubyDeque.html
|
103
|
+
- rdoc/classes/Algorithms/Containers/RubyRBTreeMap.html
|
104
|
+
- rdoc/classes/Algorithms/Containers/RubySplayTreeMap.html
|
105
|
+
- rdoc/classes/Algorithms/Containers/Stack.html
|
106
|
+
- rdoc/classes/Algorithms/Containers/SuffixArray.html
|
107
|
+
- rdoc/classes/Algorithms/Containers/Trie.html
|
108
|
+
- rdoc/classes/Algorithms/Search.html
|
109
|
+
- rdoc/created.rid
|
110
|
+
- rdoc/files/History_txt.html
|
111
|
+
- rdoc/files/README_markdown.html
|
112
|
+
- rdoc/files/lib/algorithms/search_rb.html
|
113
|
+
- rdoc/files/lib/algorithms/sort_rb.html
|
114
|
+
- rdoc/files/lib/algorithms/string_rb.html
|
115
|
+
- rdoc/files/lib/algorithms_rb.html
|
116
|
+
- rdoc/files/lib/containers/deque_rb.html
|
117
|
+
- rdoc/files/lib/containers/heap_rb.html
|
118
|
+
- rdoc/files/lib/containers/kd_tree_rb.html
|
119
|
+
- rdoc/files/lib/containers/priority_queue_rb.html
|
120
|
+
- rdoc/files/lib/containers/queue_rb.html
|
121
|
+
- rdoc/files/lib/containers/rb_tree_map_rb.html
|
122
|
+
- rdoc/files/lib/containers/splay_tree_map_rb.html
|
123
|
+
- rdoc/files/lib/containers/stack_rb.html
|
124
|
+
- rdoc/files/lib/containers/suffix_array_rb.html
|
125
|
+
- rdoc/files/lib/containers/trie_rb.html
|
126
|
+
- rdoc/fr_class_index.html
|
127
|
+
- rdoc/fr_file_index.html
|
128
|
+
- rdoc/fr_method_index.html
|
129
|
+
- rdoc/index.html
|
130
|
+
- rdoc/rdoc-style.css
|
131
|
+
- spec/bst_gc_mark_spec.rb
|
132
|
+
- spec/bst_spec.rb
|
85
133
|
- spec/deque_gc_mark_spec.rb
|
86
134
|
- spec/deque_spec.rb
|
87
135
|
- spec/heap_spec.rb
|
@@ -99,7 +147,6 @@ files:
|
|
99
147
|
- spec/string_spec.rb
|
100
148
|
- spec/suffix_array_spec.rb
|
101
149
|
- spec/trie_spec.rb
|
102
|
-
- grosser-algorithms.gemspec
|
103
150
|
has_rdoc: true
|
104
151
|
homepage: http://rubyforge.org/projects/algorithms/
|
105
152
|
licenses: []
|