[ TOPへ戻る ]

#### データ構造とアルゴリズム
自習用デモプログラムおよびソースコード集 (Java)

学習の仕方
このプログラムパッケージは、「データ構造とアルゴリズム」を学ぶための
教材として作成されています。
アルゴリズムを本当に身につけるには、ただ教科書を読んで理解しただけでは不十分で、
実際に自分で動くプログラムを書いてみることが絶対に必要です。
ただ、実際のプログラミング環境では、言語特有のルールを理解したり、
入力データを用意したりといった本質的でない部分に時間をとられてしまうことが多く、
学習の防げとなっています。
そこで、この学習用プログラムパッケージでは、なるべくアルゴリズムの本質的な部分だけに
集中してプログラミングの練習ができるような工夫をしました。
ダウンロードして解凍すると、
まず大きく分けて complete フォルダと exercise フォルダに分かれています。
complete の方には、完全に動作するプログラム例が入っています。
exercise の方には、自分でプログラムを書いてみるための練習用の
テンプレートとして、completeからのアルゴリズム本体部分だけを
取り除いたものが入っています。プログラミングしやすいように、
必要な関数などの使用例をダミーとして入れてありますので、これを参考にして
「正常に動作する」プログラムを書いてみてください。
complete, exercise ともに一つのアルゴリズムにつき一つのフォルダが対応しています。
それぞれのフォルダの中には
* インタフェースを管理する Main
* アルゴリズム本体 (QuickSort など)
が入っています。
学習する際にはMainについてはブラックボックスとして利用し、
アルゴリズム本体部分だけのソースコードだけを参照したり編集したり
すれば十分なように設計してあります。
推奨する学習の仕方は以下の通りです。
1) 教科書を読んでアルゴリズムの考え方、動作を頭で理解する。
2) complete フォルダにある対応するプログラムを動かしてみて、動作を理解する。
3) exercise フォルダにあるテンプレートプログラムを書き直して完全に動くようにする。
4) どうしてもわからなかったら complete フォルダにある正解プログラムを適宜参照する。
(テンプレートプログラムの末尾にもコメントアウトして正解をつけてあります)
これで難しい人は3の前に2のソースコードも一度読んできちんと理解して、
（そのまますぐだと暗記しただけなので一晩くらい置いて）、
その上で3に取りかかるのでもよいと思います。
やってみるとわかると思いますが、おそらく
一回書いてみただけではうまく動かないと思うので、何度も試行錯誤
（デバッグ）することが必要になると思います。
デバッグの際には、Main に用意されているprint命令などをうまく利用してください。
なんどもデバッグ作業の経験をつむことで
実際に抽象的なアルゴリズムを実際のプログラムとして実現する実力をつけることが
できます。すべてのexerciseを終えたころにはかなりの力がついていると
思ってよいと思います。
実行の仕方
コンパイルおよび実行するにはJava の開発環境 (JDK) がインストールされている
必要があります(無料)。指示に従ってインストール作業を行ってください。
インストール後は、jdkをインストールしたフォルダ(例"C:\Program Files\Java\jdk1.6.0_06")の中の
bin/javac.exeを利用してコンパイルすることができ、
run.html を開くとプログラムが実行されます (コンパイルの都度ブラウザの再起動が必要)。
ソースコード(javaファイル)の編集は通常のメモ帳やワードパッドなどで可能です。
ただ、本格的にプログラムを書くには eclipse などの開発環境(IDE)を利用することを
薦めます。

Copyright (c) Takeo Igarashi