珠玉のプログラミング の商品レビュー
前職の同期、アッサムの人にオススメされて読み始め。 この本は自宅で、週末ごとにちまちまと読んでいった。考えながら読むタイプの本で、非常に時間がかかった。 私の専門は生態学だったので、コンピュータサイエンスを専門に学んでいないせいもあるかもしれない。 今のプロジェクトで作ってい...
前職の同期、アッサムの人にオススメされて読み始め。 この本は自宅で、週末ごとにちまちまと読んでいった。考えながら読むタイプの本で、非常に時間がかかった。 私の専門は生態学だったので、コンピュータサイエンスを専門に学んでいないせいもあるかもしれない。 今のプロジェクトで作っているプロダクトは動作の「サクサク感」が要求されるもので、この本で重点的にかかれているパフォーマンスの話は興味深かった。と同時に耳が痛い部分もあり、アッサムの人がすすめてくれたのはありがたい。
Posted by
【要約】 ・ 【ノート】 ・はてなブックマークの「プログラミングコンテストチャレンジブック」からamazonの関連本で知った。
Posted by
本書は、C/C++によるアルゴリズムの解説本である。第1部では・問題定義の方法により、問題自体がどれだけ単純化できるかなど・昔から解説されているようなアルゴリズムやデータ構造・プログラムの検証とテストの解説。 第2部には、効率に関するイロイロな話題。たとえばプログラムの使用メモリ...
本書は、C/C++によるアルゴリズムの解説本である。第1部では・問題定義の方法により、問題自体がどれだけ単純化できるかなど・昔から解説されているようなアルゴリズムやデータ構造・プログラムの検証とテストの解説。 第2部には、効率に関するイロイロな話題。たとえばプログラムの使用メモリサイズを小さくすることで、ページ・イン、アウトが少なくなったり、キャッシュヒット率が上がったりして、プログラムが速くなったりするようなこと。 第3部は、1,2部で紹介されたテクニックをソート、探索、文字列などの重要な問題(やり方によっても非常に時間がかかってしまう)に対して適用し、実測値などを示す。 例題に使われているソースコードはレベルが低いが、それを指導する本ではないのでしょうがない。アルゴリズムを正確に記述するための手段だと思って、このことは切り捨て批評すると、非常にレベルが高いといえる。アルゴリズムに詳しくない人にはもちろんのこと、アルゴリズムに詳しいと自認しているプログラマーも、これまでの経験の総括と言う意味で非常に有用だろう。
Posted by
問題を解決するために、アルゴリズムとデータ構造を活用する能力を養う本です。 以前は別の出版社から発刊されていましたが、技術書の取り扱いを終了した後、新たな出版社に引き継がれました。 そのため、出版年は新しめに見えますが、実際には 2000年に出版された割と古い本です。 限られ...
問題を解決するために、アルゴリズムとデータ構造を活用する能力を養う本です。 以前は別の出版社から発刊されていましたが、技術書の取り扱いを終了した後、新たな出版社に引き継がれました。 そのため、出版年は新しめに見えますが、実際には 2000年に出版された割と古い本です。 限られたメモリで問題を解く方法や、十分な実行速度を得る方法についての話題が豊富にあります。 扱っているアルゴリズムとデータ構造は、他の入門書でも取り上げられているようなものが多いですが、 大抵のアルゴリズムとデータ構造の本とは逆で、 まず現実の問題があって、そこにどんなアルゴリズムやデータ構造を適用していくか検討するという順序になっています。 そのため、より現実に近い形で、問題解決の考え方を学ぶことができます。 どんどん読み進めて思考の過程を楽しむのも良いですし、立ち止まって自分なりに考えを巡らしてみるのも良いでしょう。 各章の終わりに豊富な練習問題があります。 現実の問題を解決に導く方法をあれこれと考えさせられるような良問が多いですが、 解答例があったりなかったりするのが、ちょっと残念なところです。 「考えること自体が大事」といったところでしょうか。 最近では、メモリも速度も十分なことが多く、この手の話題を気にすること自体が少ないかも知れません。 本書の内容を実際のプログラムに無理に適応しようとするのではなく、 考え方・思考の過程を学ぶことが重要だと思います。
Posted by
小難しくて頭にあまり入ってこなかった。内容を把握するには、数学の知識は必要かも。なので、さらっと読む感じの本ではない。 書いてあることは、達人プログラマー的な内容かなと思う。問題に取り組む姿勢とか、それを解決するために考慮すべきこととか、そういった普段の心構え的な話+アルゴリズ...
小難しくて頭にあまり入ってこなかった。内容を把握するには、数学の知識は必要かも。なので、さらっと読む感じの本ではない。 書いてあることは、達人プログラマー的な内容かなと思う。問題に取り組む姿勢とか、それを解決するために考慮すべきこととか、そういった普段の心構え的な話+アルゴリズムみたいな。 興味があれば読むといいけど、特にお勧めはしない。
Posted by
似非プログラマーにとって、プログラミングに真剣に向き合うとはこういうことかとうならされる一冊。 はっきり言って、ここまでシビアなプログラミングはしたことがない。 ある問題に対して、一般的な問題解決方法は割とすぐに見つかる。でもよく問題を精査するとアルゴリズムやデータ構造、コード...
似非プログラマーにとって、プログラミングに真剣に向き合うとはこういうことかとうならされる一冊。 はっきり言って、ここまでシビアなプログラミングはしたことがない。 ある問題に対して、一般的な問題解決方法は割とすぐに見つかる。でもよく問題を精査するとアルゴリズムやデータ構造、コードチューニングでもっと効率よく、もっとエレガントに解決できるということを教えてくれる。 初学者としてはアルゴリズムとコードチューニングという別の方法が名づけられているロジック的な解決手段の線引きがよくわからなかった。 何となく、コンピュータの挙動に依存する箇所で実行時間を短くするのがコードチューニングという印象を受けたが、それってアルゴリズムの変更ではないんですかと思う箇所もあり、まだまだ勉強不足。 少なくとも一回では内容をとても理解できない(良い意味で)。ポイントとなる箇所を何度も読み返して吸収していくことの沢山詰まった良書である。
Posted by
ソフトウェアをただ動くものとして書くのではなく、パフォーマンス、効率や生産性などについて一歩踏み込んだ見識を養うことができたと思う。 各考察は実例そのままというより、取り出したエキスを解説してあることが多く、その分本の厚みの割に内容が濃い。懇切丁寧ではないので、書いてあることを...
ソフトウェアをただ動くものとして書くのではなく、パフォーマンス、効率や生産性などについて一歩踏み込んだ見識を養うことができたと思う。 各考察は実例そのままというより、取り出したエキスを解説してあることが多く、その分本の厚みの割に内容が濃い。懇切丁寧ではないので、書いてあることを自分の中でゆっくり咀嚼しながら読み進める本だと思った。 ソフトウェアエンジニアリングで大事なステップ(問題の理解、抽象化、デザイン空間に落とし、コードにして、考え直す)のような事を改めて考えてみたりすることで、今後のエンジニアリングが少なからず洗練されたと思うし、「プログラマへの10の提案」は示唆に富み、今後原則としていきたいと思う。 実利としてはヒープがすごく使いやすいアルゴリズムだと気づいて、すぐにコードで役立ちそう。 スルメ本です。
Posted by
問題のポイントを捉え適したデータの構造化を行う事の大切さと具体例が説明されている。扱っている問題に時代を感じるものが多いが、知らないとハマる事項が多い。最後にソート、サンプリング、探索、ヒープ構造、テキスト列の扱いをみながら基礎事項を確認する。
Posted by
できると思わなかったことを目の前で見せてくれる、目から鱗が落ちる本。 有名なアルゴリズムを羅列しているというよりは、いくつかの問題対するアプローチと実装の例をいくつか挙げている本という感じ。
Posted by
具体的な問題に対して、どのように考えアルゴリズムを適用していくかが書かれている。また、各章に10問以上の問題が提示されているため全て解こうとすればかなり長く楽しめる。 説明がわかりやすいのでしっかり読めば得るものが大きいと感じた。いままでしっかり理解していなかったヒープソートが...
具体的な問題に対して、どのように考えアルゴリズムを適用していくかが書かれている。また、各章に10問以上の問題が提示されているため全て解こうとすればかなり長く楽しめる。 説明がわかりやすいのでしっかり読めば得るものが大きいと感じた。いままでしっかり理解していなかったヒープソートが自分のものになった感じ。 原著の出版から10年以上(初版からだと20年以上)経過しているが、愛用は現在でも通用する。 序文にコードのダウンロードサイトが書かれているが、現在は http://www.cs.bell-labs.com/cm/cs/pearls/ に変わっている。 プログラミングによって問題を解決する必要がある人は、一度と言わずなんども読み返すべき一冊。
Posted by
- 1
- 2