• 締切済み

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

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

みんなの回答

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.2

>ちなみに原書は 2版が出てるけど日本語の本は初版の訳. 昨年原書の第二版に対応した訳が出ました。ただし3巻は未訳です。 #当面予定はないとか前書きにありました impress Direct アルゴリズム・イントロダクション 改訂2版 第1巻 http://direct.ips.co.jp/book/Template/Goods/go_BookstempKindai.cfm?GM_ID=KD0334&SPM_ID=1115&CM_ID=004300304&PM_No=&PM_Class=&HN_NO=00430 impress Direct アルゴリズム・イントロダクション 改訂2版 第2巻 http://direct.ips.co.jp/book/Template/Goods/go_BookstempKindai.cfm?GM_ID=KD0335&SPM_ID=1115&CM_ID=004300304&PM_No=&PM_Class=&HN_NO=00430 #TAoCPはまだこの分野に到達してないんですよねー。 これはさすがにハードルが高すぎ? アルゴリズムデザイン: Jon Kleinberg, Eva Tardos, 浅野孝夫, 浅野泰仁, 小野孝男, 平田富夫: 本 http://www.amazon.co.jp/dp/4320122178/ #値段も半端じゃないしw

rio_grande
質問者

補足

あいがとうございました。この本、すばらしいと思ったらこの原書を持っておりました。外国人にIntroduction to Algorithm 2nd Editionをもらって勉強を始めたのですが、(英語というよりももっと内容面で)わからなかったので、日本語でかつ初心者向けの理論の本を探し始めたところでした。しかし、私が探した範囲では日本の書籍ではアルゴリズムというと色々なソートを特定の言語でコーディングする、といった趣旨のものが多く、ダイナミックプログラミングやLCS、ナップサック問題を理論として取り扱っている本が見つからなかったので質問させてもらったところでした。説明がたらずすみません。この訳本以外ではやはりもうないでしょうか。。?

全文を見る
すると、全ての回答が全文表示されます。
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

英語の Introduction to Algorithms の訳本で「アルゴリズムイントロダクション」が 3分冊で出ているんですが, これの 2巻とか 3巻あたりにあるんじゃないかなぁ. ちなみに原書は 2版が出てるけど日本語の本は初版の訳. 3冊全部買うとさすがに値が張りますが, 定番の本の 1つだと思います.

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • アルゴリズムについて

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

  • 実践的な遺伝子的アルゴリズムの作成法

    素人ですが、遺伝子的アルゴリズムを考える上で、大きな問題に直面しています。 1)最適化の対象を如何にコーディングするか? 2)交叉点を如何に設けるか? これらは組合せの対象の要素間に何らかの曖昧な複数の相関関係がある場合に難しくなります。 そこで、 1)「遺伝子的アルゴリズム」をタイトルにした一般の技術系の和書に書かれている以外に、実例を調べる手段? 2)社会人が遺伝子的アルゴリズムの開発の実際を学ぶための公共の機関、例えば聴講生として学べる場所? 3)遺伝子的アルゴリズムを組み込んだソフトを作る上で、普段使用しているC++などの汎用プログラム言語と、SchemaやLISPなどの知能プログラミング言語とでは、どちらが便利なのでしょうか? これらの人工知能プログラム言語には、コーディングや交叉のための専用のコマンドが提供されているのでしょうか? 自分は、情報工学の出身ではないため、C++言語と「遺伝子的アルゴリズム」の技術書籍以外には、バックグラウンドがありません。よろしくお願いいたします。

  • 「改訂 C言語によるはじめてのアルゴリズム入門 河西朝雄」を持っているプログラマ

    「改訂 C言語によるはじめてのアルゴリズム入門 河西朝雄」を持っているプログラマの人に聞きたいのですが、このアルゴリズムをマスターしなければ一般的なプログラマになれないのでしょうか?またどれくらい出来ていればいいのでしょうか?

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

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

  • 擬似言語とアルゴリズム

    宜しくお願いします。 基本情報処理技術者試験 午後の擬似言語およびアルゴリズムが不得手なんですが、良い勉強方法及び良い教材はないでしょうか。 大滝みや子さん著の擬似言語とアルゴリズム本は持っておりますので、それ以外でご教示お願い致します。

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

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

  • C言語の勉強法

    VB,C#等の言語ができ、一応プログラミングの基礎を持っていると思っている者です。 仕事上でC言語と縁がありますが、書いた人によっても千差万別で、意味不明な標準関数?だらけで、コンパイラごと文法も異なり、訳の分からないフレームワークも得体しれずにいます。 VBはTips555みたいな小技がたくさん掲載されている本を熟読し、ひたすら真似しているうちに身につきました。C言語はアルゴリズムや入門書は多数見受けられますが、実用的な本はあまり見かけません。みなさんはどうやってC言語を覚えたのでしょうか。 お願いします。

  • 試験でのアルゴリズムの表現について

    現在進学を考えている情報系の大学院の入学試験の問題に、 「・・・のアルゴリズムを設計せよ。」 「・・・のアルゴリズムを設計し、プログラムを書け。」 などといった形式での出題があります。(解答は紙上だと思います。) このような出題文があったとき、どのような言語によってアルゴリズムを表現することが適切または一般的なのでしょうか? 候補としては ・言葉で書く ・既存のプログラミング言語で書く ・擬似言語やフローなどで書く などが考えられますが、どれも試験で書くには一般性が薄いように思われますが、いかがでしょうか。 要は、 ・「このような規約に従って」という注釈を入れなくても一般的に従われる規約があるのか ・そのような規約はどこで定義されているのか この二つが知りたいのです。 ぜひご教授よろしくお願いします。

  • C言語のアルゴリズムについて

    C言語で「標準入力から英語の文章を読み込んで,文字列Ilmorが出現した行をその行番号とともに表示するプログラムを作りなさい.」とプログラムを作りたいのですが、文字列を発見するところまでは分かるのですが、その行どうやって表示すればいいのか分かりません。また、文章を読み込むのもすごくややこしく最後にエンターを二回押すなどの制限があります。(scanf) 参考になるプログラムを書いていただける方いませんか?できればC言語のアルゴリズムについて詳しく書いた本やサイトがあれば教えていただきたいです。 レベルは超入門的な本を2,3冊読んだ程度です。アルゴリズムなどにはまったく触れてなかったし、ライブラリー関数も少ししか載ってなかったので関数の本もあれば教えていただきたいです。

  • Cをマスターしていくためへのアドバイスお願いします

    工学部情報学科1回生の者です。大学の授業で半年間C言語を一通り学んで、初歩的な(簡単な)プログラムならなんとか作れるようになりました。Cをマスターしていくためには、自分でどんどんプログラムを組んで練習する必要があると思うのですが、どういう点を意識しながら(注意しながら)すれば良いかなど、具体的な練習方法のアドバイスがあればお願いします。また、練習用の本で、お勧めのがあれば教えてほしいです。一応、今、手元にあるのは、3冊です。 ・「プログラミング言語C」共立出版(かなり有名な本らしく大学で買わされたのですが、授業ではレジュメが配布されていてあまり使いませんでした。せっかく買ったので、何度も読んだのですが、私自身としては少し難解で、なかなか理解できないです。) ・改訂 新C言語入門ビギナー編 ソフトバンク(ビギナー編ということもあり、大変分かりやすかったです。) ・改訂 新C言語入門シニア編 ソフトバンク(ビギナー編を読んだときに、もう少し知りたい項目があるときに参照した程度なので、まだあまり読んでいません。なかなか重宝しそうな本なのですが、やっぱり読んだだけでは実際に使えないと思って質問しました。)

このQ&Aのポイント
  • 複数の住所録を1つにまとめたいのですが、やり方がわかりません。エクセルに移行して戻す方法以外に方法はありますでしょうか?
  • 複数の住所録を簡単にまとめる方法を教えてください。エクセルを使用しない方法も知りたいです。
  • 住所録を効率的に統合する方法を教えてください。エクセル以外の方法も教えてください。
回答を見る

専門家に質問してみよう