研究日誌。

大規模なグラフ処理に対してメモリ階層構造を考慮した高性能なソフトウェアを開発。

Random4-{n, C}.xx.xx.gr 生成プログラムの Ruby 化

2010-05-15 14:37:27 | Weblog
Goldberg の生成プログラムを Ruby 化してみた。第二弾。
puts "p sp #{n} #{m}"
ids = 1.upto(n).sort_by { |item| rand }
ids.unshift(0)
1.upto(n-1) do |i|
  puts "a #{ids[i]} #{ids[i+1]} #{rand(hi+1).to_i + lo}"
end
puts "a #{ids[n]} #{ids[1]} #{rand(hi+1).to_i + lo}"
(n+1).upto(m) do |i|
  while true
    v = rand(n).to_i + 1
    w = rand(n).to_i + 1
    break if v != w
  end
  puts "a #{ids[v]} #{ids[w]} #{rand(hi+1).to_i + lo}"
end


最新の画像もっと見る

コメントを投稿