アカウント名:
パスワード:
•実装上で不明な点があれば,まずGoogle やman コマンド等を駆使して, 自分で解決することを推奨する.もちろん,適当な書籍を調べるのも構わない. •すなわち,課題を解答するだけでなく,「分からない事を自分で調べながら 解決していく」事も課題の一部とする.
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
海軍に入るくらいなら海賊になった方がいい -- Steven Paul Jobs
自己解決能力 (スコア:3, すばらしい洞察)
自由課題の難しさだけクローズアップされてるけど
”こういうことをちゃんと教えてる”ってのも結構重要な気がする
#とりあえず自分が提出するなら2-A
Re: (スコア:1, 興味深い)
課題を出されたことがあったな。そんなもん、調べても
中々出てないんで参った。考えたアルゴリズムに対して
無い知恵絞って計算量を見積もってレポートしたっけ……
# 疎な非負整数列を仮定して 1を探して、2を探して…… という
# レポートを返却した記憶がある。
Re:自己解決能力 (スコア:2, 参考になる)
与えられた数列(大きさ n)を適当に並べたものを1つの文字列とみなします。
数列の並べ方は n! 通りあるので、全並べ方を考えると n! 個の文字列ができます。
この n! 個の文字列を辞書式順でソート(*)すると、先頭に来た文字列は
元の数列のソートされたものになっているので、これを出力します。
(*)の部分は挿入ソートを使うことにすると、計算時間は O((n!)^2) となります。
さらに(*)の部分にこのソート法を使う(n! 個の文字列を並べたもの1つの文字列とみなして、
(n!)! 通りの並べ方を考える)と、O(((n!)!)^2) になります。
さらに同様のことを繰り返すと、いくらでも遅いアルゴリズムが作れます。