• ベストアンサー

☆★大学院入試のアルゴリズムに関する科目について★☆

 ご覧頂きありがとうございます、私は大学の機械科に在籍している3年生です。  来年の8月に電気通信大学の大学院(IS)を受験する予定なのですが、入学試験科目の中にデータ構造とアルゴリズムという本格的には勉強したことのない科目があります。  そこでこの科目についてお勧めな参考書、勉強法などがありましたら教えて下さい、私はC言語は使えるのでC言語で説明されている参考書でも構いません、よろしくお願いします。 -----------------------------詳しい範囲-------------------------------    [データ構造とアルゴリズム] 計算機のプログラミングで用いられるアルゴリズムとデータ構造についての理解を問う。具体的には、線形リスト,スタック、キュー、探索、整列、グラフアルゴリズム、アルゴリズム解析などから出題する。基本的なプログラミングの素養を必要とする。

noname#13935
noname#13935

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

  • ベストアンサー
回答No.1

「アルゴリズムとデータ構造」 N.ヴィルト, 近代科学社 ISBN4-7649-0162-5 お約束の名著、ソフト屋がこの本を知らんのはモグリとまで言われます。 が、この本にあるサンプルコードはModula-2です。 # 同様の内容でCを用いたものがあるはず。

参考URL:
http://www.kindaikagaku.co.jp/bookdata/ISBN4-7649-0162-5.htm
noname#13935
質問者

お礼

モグリを脱出させて頂きありがとうございます、こんな本があるなんて知りませんでした、インターネットで検索したところかなりの評判でした、ただModula-2はわからないので本屋さんでCを用いたものを探してみます。

noname#13935
質問者

補足

 もしかしてC言語版はこれですか? http://www.shoko-do.co.jp/infobooks/ISBN4-7856-3117-1.html

その他の回答 (3)

回答No.4

woolongchaさん、今晩は。IDからわかるかもしれませんが、私はグラフ理論を独学しています。 前回の回答では、「データ構造とアルゴリズム」を ほとんど知らないとの想定で回答しましたが 質問文をよく見ると「本格的には」と但し書きがあるので、ある程度は知っているのでより高度化したいということですね。 でしたら、大学での関連する講義内容をきちんと 身につけ、それを自分なりに発展させるのが先決でしょう。 グラフ理論はアルゴリズムの塊で、例えば、言及されたHavel-Hakimiは次数列がグラフ化可能かどうかの判定アルゴリズムですし、ほかにもマッチングアルゴリズム、彩色アルゴリズムなどいろいろあります。そして、それらを考察する上では、グラフの構造の明確化が必要であり、その考察は今後のために大いに役立つと思います。

noname#13935
質問者

お礼

 回答ありがとうございます、グラフ理論については忘れないうちに講義の復習をして、更にさまざまなアルゴリズムを考察したいと思います。

回答No.3

woolongchaさん、今晩は。情報系を御希望のようですね。私も、近いところを趣味で勉強しております。 とりあえず、これまでの回答に補足です。 グラフアルゴリズム  数学の一分野であるグラフ理論の初歩がわかっている必要があるでしょう。 アルゴリズム解析  これは、名前だけではなんともいえないですが、計算量理論の基礎が必要だと思われます。 これらの分野の詳しい内容は、自分で検索願いたく。 勿論、具体的な質問には応じるつもりです。

noname#13935
質問者

お礼

グラフ理論は学校の離散数学の授業の中でやったな~、、Havel-Hakimiとか最短路問題とかネットワークフローなどですよね? これなら結構自信(根拠なし)があります!!  とりあえずアルゴリズム解析とグラフ理論は別の分野として勉強しないといけないということですね。

回答No.2

> もしかしてC言語版はこれですか? > http://www.shoko-do.co.jp/infobooks/ISBN4-7856-3117-1.html 「アルゴリズムとデータ構造」と題された本はいくつかあるのです。 なのでそれがN.Wirthの原著を忠実にCで再実装したものかどうかはわかりません。 が、目次を眺める限り同様の内容が並んでいますから、それでも構わないかと思います。 それに限らず類書が少なからずあるので、実際にページをめくってみるのが一番ですが。

noname#13935
質問者

お礼

 わかりました、本屋さんでこの分野の本の内容を確認して決めてみます。

関連するQ&A

  • 大学院の専門科目(情報学科)のお勧め参考書☆★

     ご覧頂きありがとうございます、私は現在機械科に所属する大学3年生です。  来年に他大学の情報科の院を受験したいのですが、入学試験科目に「データ構造とアルゴリズム」「計算機システム」という今までに勉強したことのない科目が含まれていて、その対策としてとりあえず基本情報技術者試験の勉強をしていますが、対策としては十分でない気がします。  もしご覧になっている皆様の中に上記二つの科目についてお勧めの参考書、又は勉強法をご存知な方は教えてもらえないでしょうか?どうぞよろしくお願い致します。 ------------------詳しい範囲-------------------- [計算機システム] 計算機の物理的、論理的な構造、機能、動作に関する理解を問う。具体的には、計算機アーキテクチャおよびオペレーティングシステムについて、機械語命令、アセンブリ言語、命令実行パイプライン、割込み制御、記憶階層、プロセス管理、記憶管理、同期管理、ファイル管理などから出題する。 [データ構造とアルゴリズム] 計算機のプログラミングで用いられるアルゴリズムとデータ構造についての理解を問う。具体的には、線形リスト,スタック、キュー、探索、整列、グラフアルゴリズム、アルゴリズム解析などから出題する。基本的なプログラミングの素養(私はC言語は使えます)を必要とする。

  • アルゴリズムとは何なのでしょうか?

    学校でアルゴリズムを習っているのですが、 アルゴリズムとは何なのでしょうか? 教科書として、 「新・明解 C言語によるアルゴリズムとデータ構造」という本を買ったのですが、 内容的には以前C言語を勉強するために読んだC言語の勉強本とあまり変わらないような気がします。 スタックやキュー、ソートに検索など確かにC言語を教わる本には書いてないことはありましたが、 要するにC言語の別の面ということだと思いました。 意味的にはアルゴリズムは数学でいう計算方法、 つまり答えを求めるための色々な方法というように考えたのですが、 実際アルゴリズムとはどのようなものと理解すればいいのでしょうか?

  • アルゴリズム系の問題知りませんか?

    再来週大学院試験を控えている者です。 入試の項目に「プログラミング(アルゴリズム)」と書いてあり、ある程度複雑なアルゴリズムを考えるような問題が出る事が予想されます。 きっと二分探索木やクイックソートのような問題が出るように思います。 アルゴリズムを考えるような問題としていい問題ご存じないでしょうか? アルゴリズムを考えるような問題としてはハノイの塔とかよいように思いますが ちょっと入試の問題としては出ないような気がします。 自分では他に線形リストやスタックなども勉強したんですが、 C,JAVA,Pascal,フォートランなどどの言語で回答してもよい事になっているので言語に限定した問題は出ないように思います。 90分で解く3問あるうちのプログラムは1つですから30分以内に解けるような問題のはずです。 (出題される可能性も考えていただければ幸いです)よい問題をご存知でしたら教えてください。 よろしくお願いします。

  • 探索・整列アルゴリズムのメリット・デメリットについ

    「コンピューターはなぜ動くのか?」の第5章の「アルゴリズムと仲良くなる7つのポイント」のところにて、主な定番アルゴリズムとして、 表5.1 主な定番アルゴリズム (1)ユーグリットの互除去 (2)エラトステネスのふるい (3)線型探索 (4)2分探索 (5)ハッシュ法 (6)バブル・ソート (7)クイック・ソート 上記のアルゴリズムがあり、そのアルゴリズムの用途には (1)最大公約数のアルゴリズム (2)素数のアルゴリズム (3)データ探索のアルゴリズム (4)整列のアルゴリズム 上記のアルゴリズムがありますが、(3)~(4)のアルゴリズムの用途においてのメリット・デメリット ・データ探索のアルゴリズム (3)線型探索 (4)2分探索 (5)ハッシュ法 についてのメリット・デメリット ・整列のアルゴリズム (6)バブル・ソート (7)クイック・ソート についてのメリット・デメリット これらを教えて頂けばと思っております。 よろしくお願いたします。

  • データ構造とアルゴリズムの問題が分かりません。

    データ構造とアルゴリズムの問題が分かりません。 以下の問題で悩んでいます。 索引は書籍中の単語が書籍の何ページ目に出現するかを表す。もちろん、索引に含まれるある単語が複数のページに出現する場合や、索引に含まれる複数の単語が同一のページに出現する場合もある。 この索引で対象とする単語は、その書籍の中で重要な意味をもつものとして、また、特定の単語はたかだか数ページにのみ出現すると仮定する。 (1)単方向リストを用いてこのようなデータ構造を実現する場合、C言語ではどのように宣言をすれば適切か、struct宣言を用いて示しなさい。 (2)単方向リストを用いてデータ構造の場合、特定の単語が何ページ目に現れるか探すにはどのようなアルゴリズムを適用すれば適切か、探索に必要な時間計算量とともに示しなさい。 (3)二分探索木を用いてこのようなデータ構造を実現する場合、C言語ではどのように宣言をすれば適切か、struct宣言を用いて示しなさい。 (4)二分探索木を用いたデータ構の場合、特定の単語が何ページ目に現れるか探すにはどのようなアルゴリズムを適用すれば適切か、探索に必要な時間計算量とともに示しなさい。 (5)二分探索木を用いたデータ構の場合、アルファベット順の索引を出力するたねには、どのような整列アルゴリズムを適用すれば適切か、整列に必要な時間計算量とともに示しなさい。 テストに類題を出すと先生はおっしゃってたので、どうしてもすぐに回答が必要です。先生にも質問したのですが、テストに類題を出すから教えられない。自力で頑張れと言われ困っています。 どなたか御助力よろしくお願いいたします。

  • アルゴリズムについて

    今、c言語のアルゴリズムの勉強をしています。 入門書が3、4冊を読みました。c言語によるアルゴリズム辞典っていう本を見たら、ほんの少ししかならないです。 将来、プログラマになりたいです。アルゴリズムがプログラマにとって非常に重要ですので。そこで今プログラムの仕事をしている方に聞きたいです。アルゴリズムってどの程度勉強したらいいですか?入門書の場合は、精精木構造までですね。

  • アルゴリズムについて

    最近プログラミングに興味を持ち出して勉強しているんですが、探索とかでいろんなアルゴリズムが出てきてプログラムで説明がしてあり、あまり理解できません。  図などで分かりやすくアルゴリズムについて説明しているサイトや、お勧めの文献があったら教えてください。お願いします。

  • 動的計画法、ナップサック問題などのアルゴリズム

    を独学で勉強したいのですが、お薦めの教科書はありますでしょうか?C言語やJavaといったプログラミング言語のコーディングの比重が高いものよりはもっと理論に重点をおいた本がよいです。(疑似コードで書かれていてもいいくらいですが、日本の書物でそんなの存在するのでしょうか) いくつか大学の情報系のシラバスを参照したところ、「アルゴリズムとデータ構造 改訂C言語版(電気工学入門シリーズ)」というのを使っているところが2つほどあったので試しにまずはこれを買ってみようと思っていますが、もし他にも理論的な本を知っている人がいたら教えて下さい。

  • 電通大で使っている教材を教えてもらいたい

    修士入試準備のため、 東京都の電通大学の情報工学科が使っている教材を知りたいです。 教えていただけませんか。 特に微積分、線形代数、基礎プログラミング、オペレーティング、 プログラミング言語、アルゴリズムとデータ構造など。

  • アルゴリズムを勉強していたのですが、線形探索をする

    アルゴリズムを勉強していたのですが、線形探索をする時にデータ件数がNの時平均比較回数が(N+1)÷2回となっていたのですが、なぜ+1をしているのでしょうか?普通にN÷2ではダメなんでしょうか 解説お願いします

専門家に質問してみよう