【C#プログラミング・中級の良書】「C#で学ぶオブジェクト指向プログラミング・図解でおぼえるデータ構造とアルゴリズム」(翔泳社)

C#で学ぶオブジェクト指向プログラミング・図解でおぼえるデータ構造とアルゴリズム」(翔泳社

2002年刊だが,C#での中級プログラミングの良書。

データ構造とアルゴリズムに加え,リファクタリングのことも書いてある。


まえがきより:

  • .NET Frameworkには,.NET Frameworkに対応したプログラミング言語から利用できるクラスライブラリが用意されているため,C/C++などでシステム開発に必要とされている機能のほとんどがライブラリ化されています。そのため,システムやプログラムの開発者が自分でライブラリを記述しなくても,一般的なプログラムを記述するために必要な機能はそろっています。
  • しかし,クラスライブラリを利用することが可能になったとしても,その概念を理解していなかったり,標準的なライブラリでは対応していない特殊な機能のライブラリ化が必要となることもあります。そのようなときに,クラスライブラリにどのような機能を実装すればいいのか,どのようにしてクラスライブラリにアルゴリズムを実装すればいいのか,戸惑うこともあると思います。
  • 本書では,Visual C#.NET,Visual Studio .NETおよび.NET Frameworkで提供されるプログラミング言語C#を使い,スタック,キュー,リスト,ツリーなどのデータ構造をどのようにしてクラス化していくのか,さらにC#の持つ構文を十分に活用し,どのようにしてデータ構造のアルゴリズムを実装するのかを解説します。

内容の目次:

1章 クラスとオブジェクト

1-1 オブジェクト指向プログラミングとは
1-2 プロジェクトの作成から実行まで
1-3 スタック(Stack)
1-4 キュー(Queue)


2章 線形リスト(1)

2-1 線形リスト
2-2 重連結リスト(DoublyLinkedList)


3章 線形リスト(2)

3-1 ソート済み重連結リスト
3-2 リストからノードをサーチする
3-3 リスト間に新規ノードを追加する
3-4 ノード間のノードを削除する


4章 リストの継承と多態性

4-1 Listクラスのサブクラス化
4-2 Add()メソッド
4-3 Updateメソッド
4-4 Remove()メソッド


5章 クラスに列挙子を追加する

5-1 クラスライブラリプロジェクトの作成
5-2 コレクションクラスには列挙子を実装する
5-3 ジェネリックコレクションを作成する
5-4 Visual Basic.NETからListLibraryライブラリを利用する
5-5 C#からListLibraryクラスライブラリを利用する


6章 木構造データをクラス化する

6-1 ツリー
6-2 バイナリサーチツリークラスの作成


7章 リファクタリングとテスティング

7-1 リファクタリングとは
7-2 DeleteNode()メソッドリファクタリングをおこなう
7-3 テストファースト
7-4 テストクラス


8章 XMLとシリアル化

8-1 XMLドキュメントを扱うための新規プロジェクトを作成する
8-2 XMLスキーマの作成
8-3 XMLドキュメントオブジェクトモデル(XML Document Object Model
8-4 XmlTextReaderでXMLドキュメントを読み込む
8-5 XMLシリアル化クラスでXMLドキュメントにアクセスする
8-6 DateSetクラスでXMLドキュメントにアクセスする


9章 情報を格納する多分木

9-1 多分木とは
9-2 多分木のノードを追加する操作
9-3 多分木のすべてのノードを縦断するための操作
9-4 InfoTreeオブジェクトのシリアル化

この本について:

Amazon.co.jpC#で学ぶオブジェクト指向プログラミング―図解でおぼえるデータ構造とアルゴリズム (.net press): 田中 正造: 本
http://www.amazon.co.jp/%E3%81%A7%E5%AD%A6%E3%81%B6%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E2%80%95%E5%9B%B3%E8%A7%A3%E3%81%A7%E3%81%8A%E3%81%BC%E3%81%88%E3%82%8B%E3%83%87%E3%83%BC%E3%82%BF%E6%A7%8B%E9%80%A0%E3%81%A8%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0-net-press-%E7%94%B0%E4%B8%AD-%E6%AD%A3%E9%80%A0/dp/4798102172

  • この本は初心者向けではありませんが、プログラミングをする上でどうしても習得しておかなければならない「データ構造」をC#で学びたい人、また、C#でどう書けばいいのかを知りたい人には参考の一冊


C#で学ぶオブジェクト指向プログラミング(田中正造 ) | 翔泳社の本
http://www.shoeisha.co.jp/book/detail/9784798102177

  • 本書では、データ構造の基本とも言うべき存在であるスタック、キューを手始めとして、多様なリンクを線形に応用したリスト、階層的なデータ構造である2分木やそれを探索に応用した2分探索木、そして節から多くの枝を分岐させて多くのデータを格納する多分木をリストによって作成する方法など、アルゴリズムとその実装を、細かく説明しています。
  • 最低限のC#のプログラミングができる方、ビジネスに21世紀のインターネットを活用したアプリケーションを開発されようと考えている方、プログラミングの学習や研究にオブジェクト指向を取り入れたデータ構造を記述しようと考えている方などには、本書を順番に読み進めながら、プログラムやアルゴリズムやその実装を体験することで、オブジェクト指向とデータ構造(アルゴリズム)、さらにC#のプログラミングを習得できると思います。