スタックと待ち行列
前回の授業では、リストの先頭にデータを挿入する処理と、末尾に追加する処理について説明したが、この応用について説明する。 計算処理中に一時的なデータの保存として、スタック(stack)と待ち行列・キュー(queue)がよく […]
リスト処理のレポート課題(前期期末)
プログラムは書いて・動かして・間違って・直す が重要ということで、以下に前期期末試験前までに取り組むレポート課題をしめす。 レポート課題(プログラム例) Java を用いて、後に示すデータ処理をするためのリスト構造を定義 […]
Javaでリスト構造
テスト前のリスト導入の復習 前回のリスト構造の導入では、配列のデータに次のデータの入っている番号を添えることで途中にデータを挿入できるデータ構造の説明をした。 また、それをクラスを用いたプログラムを示した。 ヒープメモリ […]
テスト返却と追加説明
前期中間試験の返却に伴い、補足説明。 C言語,Javaにおける文の定義 テストの時に、下記のようなプログラムで piyo() は、for の範囲?みたいな質問があったので、補足説明 for( ... ; ... ; .. […]
配列に要素を追加
データが登録済みかどうかを判定する処理を作るために、登録された値を配列に次々と値を追加保存する場合、どのようにプログラムを記述するだろうか? 配列にデータを追加 次々と与えられた値を保存していくのであれば、Java であ […]
Javaのオブジェクト指向の基礎
前期中間前レポート課題(選択2) 4年の情報構造論で、リスト構造などの内容を進める前に、3年プログラミング応用でクラスなどに自信がない人向けの簡単レクチャ。 クラスは、データ構造と手続き 例えば、名前と年齢のデータをクラ […]
処理速度を計測
前期中間前レポート課題(選択1) 例年であれば、プログラム作成中心のレポート課題をやってもらっているけど、前期中間試験は今回早めに行われるので、プログラム作成か、処理速度のオーダを実際に計測実験のいずれかとする。 現在時 […]
クイックソートと選択ソート
データ数 N = 10 件でソート処理の時間を計測したら、選択ソートで 10msec 、クイックソートで 20msec であった。 データ件数 N= 100 件では、選択法,クイックソートは、それぞれどの程度の時間がかか […]
ハノイの塔と再帰を使った並び替え
ハノイの塔 ここまでは、簡単な再帰呼び出しのプログラムを例にして再帰方程式などの説明を行った。次に「ハノイの塔」の処理時間を例題に、プログラムの処理時間について分析を行う。 ハノイの塔は、3本の塔にN枚のディスクを積み、 […]
再帰呼び出しと処理時間の見積もり
再帰呼び出しの基本 次に、再帰呼び出しを含むような処理の処理時間見積もりについて解説をおこなう。そのまえに、再帰呼出しと簡単な処理の例を説明する。 再帰関数は、自分自身の処理の中に「問題を小さくした」自分自身の呼び出しを […]