Sha256: eb98903cc17d8ea938c3b5898e2425f312306d95df6d622f0b39ab436e6081d8
Contents?: true
Size: 1.15 KB
Versions: 2
Compression:
Stored size: 1.15 KB
Contents
require 'compsci/node' require 'compsci/tree' require 'compsci/timer' include CompSci puts <<EOF # # 3 seconds worth of pushes # EOF count = 0 start = Timer.now start_1k = Timer.now tree = BinaryTree.new ChildFlexNode, rand(99) loop { count += 1 if count % 100 == 0 _ans, push_elapsed = Timer.elapsed { tree.push rand 99 } puts "%ith push: %0.8f s" % [count, push_elapsed] if count % 1000 == 0 push_1k_elapsed = Timer.since start_1k puts "-----------" puts " 1k push: %0.4f s (%i push / s)" % [push_1k_elapsed, 1000.to_f / push_1k_elapsed] puts start_1k = Timer.now end else tree.push rand 99 end break if Timer.since(start) > 3 } puts "pushed %i items in %0.1f s" % [count, Timer.since(start)] puts puts <<EOF # # 30 inserts, puts, df_search # EOF vals = Array.new(30) { rand 99 } p vals tree = BinaryTree.new ChildFlexNode, vals.shift tree.push vals.shift until vals.empty? puts tree p tree puts tree.df_search { |n| puts "visited #{n}" false # or n.value > 90 } puts vals = Array.new(30) { rand 99 } puts "push: #{vals.inspect}" tree.push vals.shift until vals.empty? puts tree puts
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
compsci-0.3.0.1 | examples/tree_push.rb |
compsci-0.2.0.1 | examples/tree_push.rb |