OCaml習作: マージソート

できた。

arrayでデータを受け取ってlistで返すという謎仕様なのは、データの列を分割するのはarrayのほうが簡単で、分割してソートした結果を組み立てていくのはlistのほうが簡単だったから。

open Array
open List

let rec mysort comp arr =
  match arr with
      [||] -> []
    | [|x|] -> [x]
    | [|x; y|] -> if (comp x y) then [x; y] else [y; x]
    | arr -> 
	let len = Array.length arr in
	let head = mysort comp (sub arr 0 (len / 2)) in
	let tail = mysort comp (sub arr (len / 2) (len - (len / 2))) in
	let rec merge_result ret ls1 ls2 =
	  match ls1, ls2 with
	      [], ls2 -> append (rev ret) ls2
	    | ls1, [] -> append (rev ret) ls1
	    | e1 :: es1, e2 :: es2 ->
		if (comp e1 e2) then
		  merge_result (e1 :: ret) es1 ls2
		else
		  merge_result (e2 :: ret) ls1 es2
	in
	  merge_result [] head tail;;

新宿にて

明治に通っているJSEC同期生と一緒に飯食ってきた。久々に会ったので、色々と話しこんでいるうちに閉店時間になっちゃったよ。法学部で文系の人だけど、ふつうに理系な話もできる人なので話しやすい。パソコンの話になったときに、Linux見たことないらしいのでその場でノートPC起動&Beryl実演。やはりBerylは一般人受けがいい。レストランでUbuntuとかどう見てもキモヲタです。本当に(ry

その他外山恒一の話から、Lispの布教活動が難航している件、コミュニケーション能力の件、女子コミュニティの恐怖など雑多な話をしてた。

ヒステリーとは違うのだよ、ヒステリーとは

変圧器のヒステリシスで歪むのは波形だけではなく、学生の心まで歪めてしまうらしい。

昨日の実験で、誘導電動機の負荷測定をやったら、実験方法が間違っていると実験の教官に指摘され、今日はそのデータの取り直しをしたら、そのやり方は間違っていると別の教官にいわれた。結局昨日の方法が合っているらしい。おかげさまで今日取ったデータは全部意味の無いデータです。本当にありがとうございました。

病気でも無理してがんばる人とかいますけど

迷 惑 だ か ら 家 で 寝 て ろ

と言ってあげるのが優しさです。

某両生類から聞いた話によると、今日咳をしまくってる人が授業を受けていたとのこと。この麻疹で騒がしい時期に。空気嫁。迷惑極まりない。空気読むどころか、そこらじゅうに「大学来るな。家で寝てろ」って張り紙があるの知らないのかな。

褒められることについて

自分が満足できていないことや、表面上だけのことで褒められるのは嫌い。

自分がある程度満足していることや、頑張った成果で褒めてほしいと思っていることを褒められるのは好き。

であるのだろうということに今日気がついた。要は、他人の評価が(自分で思っている)等身大であるとほっとして、それより悪いとむっとして、過大評価されるとぞっとする。

たまに人の成果をさも自分の成果のように話す人がいるけど、よくそんな事ができるな、と思う。自分だったら、過大評価されるのが怖くて必死になって他人の成果は他人の成果であると訴えるだろう。必死になって、引用は引用であると主張するだろう。ブログのネタでさえ、引用元を書かないことに恐怖を感じるくらいだから。

五月祭間違いさがし

間違いを探せ!

ボクの担当は10時から14時までの4時間だったのだが,結局のところ,この4時間の間に展示内容を見に来た人は4〜5人しかいなかった(その他の鉄道議論&算数議論の参加者は十数名).土曜担当の人からは,人がたくさん来ると言われていたし,隣のグループのところにはかなり人がいたのだが・・・.

http://haraken.aprk.net/cgi/blog/blog.cgi??year=2007&month=5&date=28&show=onlyone&onlyonefile=20070528045120_15673

答え:客は来るものではなく呼びこむものである

五月祭のうちの学科の展示をやりながら、隣とかの展示の様子も眺めていて思ったのは、趣旨をわかってない or やる気のない人多すぎ*1。パソコンとか基盤とか並べて男数名が待機してるところに好きこのんで話しかける奴なんてなかなかいねーよ。営業スマイルなんかできなくてもいいから、前を通りかかった人に声をかけて企画の紹介くらいしろよ。レポート書いてたり内輪で盛り上ってたら客のほうも聞きたくても聞けねーよ。

いわゆるコミュニケーションですよ。俺は自分にコミュニケーション能力がないのがわかってるから、いい練習の場だと思って引きつったキモ営業スマイルでドモったりテンパって変なこと言ったりしながら企画の説明とかしてたわけですよ。おじいちゃんマイクは耳にあてるもんじゃないよとか思いながら結構がんばって説明してたわけですよ。日曜は飲酒+寝不足でへたって休み休みやってたけど。

別に義務でもなんでもないからやらなくてもいいんだけどさ。別にベイズの定理つかって音声認識する原理なんて説明する必要もないし、客にM教授の顔したコンピュータと話してもらう必要もないけどさ。研究室のツン度合いが異常だからやる気が削がれたのもわかるけどさ。大学に引きこもって一生アルゴリズムを考えるのも楽しいだろうけどさ。それでいい人はそれでいいんだろうけどさ。俺はよくない。

つまりはそういうことだ。行間読め。

*1:もちろんがんばってる人もいた