• ベストアンサー

アルゴリズム

アルゴリズムの勉強をしようと思い、パソコンで第2種の過去問を見つけ解いてみようとしたのですが、設問1からつまずいてしまいました。「最初に英単語がどのように並んでいたのか分からないのに、なぜ正しく処理された配列を選ぶことができるのか?」といった具合で、多分全く理解できていないのだと思います。 その過去問が載っているサイトのアドレスは、  http://www.mirai.ne.jp/~suehiro/pm/fe/2-h1204pm04.htm                           です。 どなたか、回答解説お願いいたします。   

質問者が選んだベストアンサー

  • ベストアンサー
  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.4

>設問1の答えは(ア)で合っていますでしょうか? 同サイトの「5号解説」を参照。 http://www.mirai.ne.jp/~suehiro/pm/fe/2000aki-index.htm

puru777
質問者

お礼

jjon-comさん!!本当にありがとうございました。これからは人に教えられるぐらいの人になれるよう頑張ります!

その他の回答 (3)

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.3

>この「直後の」というのは具体的にどこを指すのか分かりません。 処理部の1行目「・ファイル入力(file-A, eitan, yaku, n)」の実行を終えた直後,です。 処理部の2行目「・データ入力(E, J)」の実行が始まる直前,と言っても同じです。 問題文の(1)(2)に対応します。 ファイルから初期データが配列に読み込まれただけの時点(英単語-訳語の書き換えや追加の処理はまだいっさい行われていない時点)ということです。

puru777
質問者

お礼

またまたありがとうございます!!本当に感謝しています。本も早速買いに走りました(笑)また、この本から疑問がでるかも…いや絶対出るので、その時は何とぞよろしくお願いいたします。 それでは、これまで教えていただいたことをまとめると、           ●「2分探索法を用いて検索」という記述より,配列が整列済み, ●プログラム中の「処理部」の文字がある付近の記述より,整列順は昇順であること, ●処理部の1行目「・ファイル入力(file-A, eitan, yaku, n)」の実行を終えた直後,ということはfile-Aは上の●より整列済みということが分かり、更に直後ということでfile-Aは配列にそのまま読み込まれただけ, ということで、      設問1の答えは(ア)で合っていますでしょうか?

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.2

>最初に英単語がどのように並んでいたのか分からないのに 問題文中の「2分探索法を用いて検索」という記述より,配列が整列済であること, および, プログラム中の「処理部」の文字がある付近の記述より,整列順は昇順であること, が分かるので。 ご自身がおっしゃっているとおり,まったく理解できていないと思います。 本当にアルゴリズムの勉強をしたいとお考えなら,書籍代くらい出し惜しみしていてはダメだと思いますけれど。 「配列って何?」という初心者でも分かるような易しい問題から,徐々に難しいものへと,定評のある指導者が図も交えて解説してくれています。試験問題やWeb検索でヒットしたページなど,難易がバラバラの問題に場当たり的に挑むより,ずっと効率的に勉強できるはずですよ。 http://www.amazon.co.jp/dp/4897976057/ No.1のURLで紹介されている 栢木(かやのき)氏の著作も定評がありますね。 http://www.nikkeibook.com/writer/405/ http://www.jtw.zaq.ne.jp/kayakaya/profile.htm

puru777
質問者

お礼

とても詳しく書いてくださりありがとうございます!本もどのようなものを買えばいいのか分からなかったので、本当に助かります。また質問するかもしれないので、その時はよろしくお願いいたします。

puru777
質問者

補足

プログラム中の「処理部」の文字がある付近の記述は、配列の中央を決定するためのものですよね?E<eitan[k]の時、右端を中央の添え字から1をひいてるので、探索範囲を配列の前半部分に絞った。つまり、昇順ということですよね? そして設問1で、「ファイル入力処理を実行した直後の」とありますが、これはファイル入力が終わって処理されたものとはちがいますよね?ですが、この「直後の」というのは具体的にどこを指すのか分かりません。 何度も質問して、jjon-comさんに失礼かとは思ったのですが、できれば教えてください。お願いいたします。

  • buriburi3
  • ベストアンサー率44% (353/792)
回答No.1

(3) ~ を 2 分探索法を用いて検索する。 2分検索法が何なのか知っていれば分かる。 つ【2 分探索法】 http://www.jtw.zaq.ne.jp/kayakaya/new/kihon/text/binary_search.htm

puru777
質問者

お礼

回答ありがとうございます!紹介していただいたサイトで理解を深めたいと思います。