うちの社内ブログでちょっと盛り上がった頭の体操。頭の体操といっても多胡先生的な「とんち」ではなく、きちんとしたアルゴリズムの問題です。さて、あなたは解けますか?
【問題】 単方向リストがある。ノード数を n とするが、n の値は分からない。リスト中にループ(循環参照)が存在するか否かを O(n) で判定するアルゴリズムを示せ。ただし、単純にポインタが指したノード全てにマーキングをしておいて、新しいノードに移るたびにマーキングされているかを調べることで判定することは禁じ手とする。
エンジニアを自認している人は是非チャレンジしてみてください。
エンジニアでない人も下記を読めば問題の意味が理解できると思います。週末の頭の体操にどうぞ。
単方向リストって何?⇒クリック
O(n)って何?⇒クリック
Special
- PR -| MARI | 2006/02/11 20:39 |
|
ごめんなさい、トラックバック2つになってしまいました。。。 | |
| 平野洋一郎 | 2006/03/05 14:13 |
|
MARIさん、紹介ありがとうございます。重複削除しておきました。Computer Science専攻とのこと、面白い問題があったら教えてください。 | |

富士通元社長の山本卓眞氏が残した次代へのメッセージ
Facebook就活はもう古い?
東北をコットンの生産地としてブランディングしたい──リー・ジャパン・細川取締役
東北から始まるイノベーション
貧困国の雇用を創出する印刷屋、丸吉日新堂印刷の挑戦