悪趣味なプログラム
#include <stdio.h> int a[ 3 ] = { 11 , 22 , 33 } ; int main() { for( int i = 0 ; i < 3 ; i++ ) […]
ポインタ処理
ここからは、次のメモリの消費を考慮したプログラムの説明を行うが、ポインタの処理に慣れない人が多いので、ポインタを使ったプログラミングについて説明を行う。 値渡しとポインタ渡し 大きなプログラムを作成する場合、変数名の使い […]
再帰呼び出しと再帰方程式
前回の授業では、簡単な再帰呼び出しのプログラムについて再帰方程式などの説明を行った。今日の授業では、ハノイの塔の処理時間や、マージソートのプログラムの処理時間について検討を行う。 ハノイの塔 ハノイの塔は、3本の塔にN枚 […]
再帰呼び出しの処理時間の見積もり
前回の授業の復習と練習問題 前回の授業では、for ループによる繰り返し処理のプログラムについて、処理時間を T(N) の一般式で表現することを説明し、それを用いたオーダー記法について説明を行った。理解を確認するための練 […]
繰り返し処理と処理時間の見積もり
単純サーチの処理時間 ここで、プログラムの実行時間を細かく分析してみる。 // ((case-1)) // 単純サーチ O(N) #define SIZE 1024 int a[ SIZE ] ; // 配列 int s […]
情報構造論ガイダンス2022
基本的なガイダンス 情報構造論のシラバスを、ここに示す。プログラムを作成する上で、どのような考え方で作れば処理速度が速いのかを議論する。基本的に、4回のテストのたびに、レポート課題を実施する。各テスト毎の評価は、テスト素 […]
2021年度授業アンケート
年度末恒例の授業アンケート結果の総まとめ 情報制御基礎(3年学際科目) 3年の他学科学生も受講する学際科目なので、内容には苦労するけど、ポイントとしては良い値。授業資料をできれば印刷配布してほしいとの意見もあったけど、講 […]
情報構造論2021全講義録
情報構造論2021ガイダンス 繰り返し処理と処理時間の見積もり 再帰呼び出しと再帰方程式 再帰処理時間の見積もりとポインタ操作 ポインタとメモリの使用効率 malloc()とfree() 様々なデータの覚え方のレポート課 […]
情報構造論とオブジェクト指向
データ構造を扱うプログラムの書き方を説明してきたが、その考え方をプログラムにするためには手間もかかる。こういった手間を少しでも減らすために、プログラム言語が支援してくれる。その代表格がオブジェクト指向プログラミング(Ob […]
関数ポインタ
関数ポインタとコールバック関数 JavaScript のプログラムで、以下のようなコーディングがよく使われる。このプログラムでは、3と4を加えた結果が出てくるが、関数の引数の中に関数宣言で使われるfunctionキーワー […]