2011-11-01から1ヶ月間の記事一覧
そういえば、同じ値がたくさん入っている列をソートするときに、先日の partition をつかった実装だと、再帰呼び出しのなかで再度おなじ値の比較が走ることになって比較コストがばかにならないなあ… とおもった。 strcmp のように、一回の比較で同じか、小さ…
∧ を再定義する演習に取り組んでいるときに、検算を map で実行しようと考えた。 ∧ を and という名前の関数で定義したとして、これは二引数の(見かけをもったカリー化された、 Bool → Bool → Bool の型を持つ)関数になる。一方、ふたつの Bool 変数の全組…
大枝は木の枝である。 この大枝から、ぼくらはメイ氏の寝室をのぞく。 この大枝から、ぼくらは手錠、皮の拘束具、そして泣き叫ぶ小さな男の子を見る。 A bough is a branch of a tree. From this bough, we can see Mr May's bedroom. From this bough, we c…
「プログラミング Haskell」の第1章に、次の定義のクイックソートが出てくる。 qsort [] = [] qsort (x:xs) = qsort smaller ++ [x] ++ qsort larger where smaller = [a | a ← xs, a ≦ x] larger = [b | b ← xs, b > x]この章の例題を解いていて気が付い…
static int N = 256; extern int N; と書くのは合法 (そして N は static)。 妙だ。 非常にむずがゆい。逆はダメ。 つまり extern int N; static int N = 256; と書くとエラー。