なんか、どうも学生のプログラムがO(n)で、どうしてもなおらないらしい。で、functional java がだめだってことになったんですが、ライブラリを疑うなら、
https://twitter.com/shinji_kono/status/537848011229896705
他人の作ったライブラリにバグがないとは言わないが、バージョンが最新かどうかをチェックして、実証コードぐらいは書こう。
っことなわけですが、どうも、
* ライブラリのバグで、github上の最新なら直っている
というパターンだったらしいです。測定してもらったら、ちゃんとO(log n)だった。M2の学生が見つけたらしい。偉い。
まぁ、いろいろあるなぁ。functional java のコード読んで、特におかしなところはなかったんだが、「既に直っているコード」ならば、それは正しそうには見えるよね。
コードを見て、それがO(log n)かO(n)かO(n^2)かは理解して欲しいところだが、あまり自明でない場合も。特に、Java 8のstreamとか、Haskell とかは見えないですね。なので、実測する方が簡単だと思う。
実際、測定しない最適化は意味ない(プログラミング作法)だから、実証コードをグラフかする手順くらいは持っていた方が良いね。というか授業でやってるはずだし...
ちょっと時間かかったのは残念だったが、まぁ、これで少しは先に進んでくれるのかな。
No comments:
Post a Comment