Open hayato0718 opened 4 years ago
せいかい
ク fillcircle(50, 50, 50, 0, 255, 0)
タ fillrect(150, 50, 100, 100, 0, 255, 0)
ウ writeimage('pic.ppm')
イ end
まちがい
オ fillcircle(50, 100, 50, 255, 0, 0)
セ fillrect(50, 50, 100, 100, 0, 255, 0)
ス fillrect(175, 50, 50, 100, 0, 255, 0)
ウ writeimage('pic.ppm')
イ end
せいかい
セ fillrect(50, 50, 100, 100, 0, 255, 0)
カ fillcircle(100, 50, 50, 255, 0, 0)
タ fillrect(150, 50, 100, 100, 0, 255, 0)
ウ writeimage('pic.ppm')
イ end
おれはガムリン
バブルソート
def arrayminrange(a, i, j)
min = i
(i..j).each do |k|
min = k if a[min] > a[k]
end
return min
end
def selectionsort(a)
a.each_index do |i|
min = arrayminrange(a, i, a.size - 1)
swap(a, i, min)
end
return a
end
p arrayminrange([100, 2, 5, 10], 1, 3)
p selectionsort([100, 5, 4, 10, 1])
sortめちゃ楽しい
うーん、ざこですみません。。。。
学籍番号:1920003
氏名:伊東 隼人
ペア学籍番号・氏名(または「個人作業」):
提出日付:2019/12/2
[作成したプログラム]
def swap(a, i, j)
x = a[i]; a[i] = a[j]; a[j] = x
end
def bubblesort(a)
done = false
while !done do
done = true
0.step(a.length-2) do |i|
if a[i] > a[i+1] then swap(a, i, i+1); done = false end
end
end
end
def randarray(n)
return Array.new(n) do rand(10000) end
end
def bench
t1 = Process.times.utime
yield
t2 = Process.times.utime
return t2-t1
end
[簡単な説明]
時間の計測をした。
[複数のサイズでの計測結果]
<pre>=> true
irb(main):011:0> a = randarray(1000); bench do bubblesort(a) end
=> 0.07999999999999999
irb(main):012:0> a = randarray(2000); bench do bubblesort(a) end
=> 0.32000000000000006
irb(main):013:0> a = randarray(3000); bench do bubblesort(a) end
=> 0.69
irb(main):014:0> a = randarray(4000); bench do bubblesort(a) end
=> 1.2400000000000002
みたいな感じになった。
[アンケート]
Q1. 整列アルゴリズムを少なくとも1つは理解しましたか。
わからないで、消化不良でした。
Q2. 時間を計測してみてどう思いましたか。
配列を数える道筋で時間が全然ちがうんだと思いました。
Q3. リフレクション(今回の課題で分かったこと)・感想・要望をどうぞ。
消化不良でした。自宅で環境つくってやってみます。
まちがい