情報構造論の質問の回答
今日は、遠隔授業形式で初めての情報構造論を行った。 ペン書きを交えながらの説明はそれなりにうまくいったかな。 今日は、2重forループの処理時間の分析の説明を行ったけど、最後の説明は次回の授業への橋渡しで(To be c […]
制御構文の理解
コロナ対策で、4年向けの情報構造論も始められないので、自習用資料。 制御構文の理解 基本として、C言語の制御構文の意味をフローチャートで表すと以下のようになる。 条件分岐if 繰り返しwhile, for, do-whi […]
2020年度情報構造論ガイダンス
基本的なガイダンス 情報構造論のシラバスを、ここに示す。プログラムを作成する上で、どのような考え方で作れば処理速度が速いのかを議論する。基本的に、4回のテストのたびに、レポート課題を実施する。各テスト毎の評価は、テスト素 […]
情報構造論2019-講義録
2019年度情報構造論ガイダンス ループ処理時間とオーダー記法と再帰 処理時間のオーダー(回答編) 再帰呼び出しと再帰方程式 ポインタを使った処理 ソートアルゴリズム ポインタの加算と配列アドレス 効率のよいメモリ使用と […]
オブジェクト指向と情報構造論と演習
データ構造を扱うプログラムの書き方を説明してきたので、それらを便利に書くためのオブジェクト指向の入り口を紹介する。 データ指向のプログラム記述 名前と年齢のデータを扱うプログラムを書く時、私なら以下のようなプログラムを作 […]
動的メモリ確保(malloc()とfreelist)
C言語では、動的メモリ領域をどのように管理していくのか解説する。 局所変数とスタック 局所変数は、関数に入った時に作られるメモリ領域であり、関数の処理を抜けると自動的に開放されるデータ領域である。 関数の中で関数が呼び出 […]
文字列のハッシュ値と共有のあるデータの取り扱い
文字列のハッシュ値 ここまでで説明した事例は、電話番号をキーとするものであり、余りを求めるだけといったような簡単な計算で、ハッシュ値が求められた。しかし、一般的には文字列といったような名前から、ハッシュ値が欲しいことが普 […]
ハッシュ法
ここまでの授業では、配列(データ検索は、登録順保存ならO(N)、2分探索ならO(log N)となる)、単純リスト(データ検索(シーケンシャルアクセスしかできないのでO(N)となる)、2分探索木( O(log N) ) と […]
講義録に動くサンプルコードを併記
長男からプログラミングの授業の質問が LINE で流れてきて、大学の先生の資料を覗き見。その大学の課題ではサンプルコードの配布がしっかりしている。私の講義録でもサンプルコードは掲載しているけど、プロジェクタで掲示しながら […]
B木とデータベース
2分探索木の考え方を拡張したもので、B木がある。 B木の構造 2分木では、データの増減で木の組換えの発生頻度が高い。そこで、1つのノード内に複数のデータを一定数覚える方法をとる。B木では、位数=Nに対し、最大2N個のデー […]