ガベージコレクタと演習(ハッシュ法)
ハッシュ法について演習ができていなかったので、前半座学(ガベージコレクタ)と後半演習(ハッシュ法) ガベージコレクタ 前回、malloc などで使用を終えたデータを free で開放する際に発生する問題について説明し、そ […]
文字をキーとするハッシュ値
前回のハッシュ法では、数値(電話番号)をキーとする検索であった。 このためハッシュ関数は、数値の不規則性の部分を取り出すだけでよかった。 それでは、文字をキーとしてデータを探す場合はどのようにすればよいか? 文字列をキー […]
ハッシュ法
2分木なども終わって、検索処理のさらなる高速化として、 ハッシュ法を説明する。 オープンアドレス法 電話番号が記録されているのかどうかを探す処理を考えると、 最も単純な方法は、電話番号を配列の添字にする方法となる。 in […]
情報構造論はテスト返却
情報構造論は、来週不在となるので、授業時間を振り替えてテスト返却を行った。
B木の構造とデータベース
2分探索木の考え方を拡張したもので、B木がある。 B木の構造 B木では、データの増減で木の組換えの発生頻度が高い。そこで、1つのノード内に複数のデータを一定数覚える方法をとる。B木では、位数=Nに対し、最大2N個のデータ […]
式の構文木と評価
2分木の応用ということで、2項演算子の構文木と、意思決定木の説明を行う。また、これらを用いてコンパイラを作るための知識を解説する。 2項演算と構文木 演算子を含む式が与えられたとして、それを保存する場合、演算式の2分木で […]
意志決定木と式を表す木
意志決定木 2分木の応用で最も単純な物として、意志決定木がある。 yes/no の答えを回答すると、最終的に「あなたの性格は✕✕です」と表示するようなヤツ。 struct Tree { char* q_a ; struc […]
2分探索木の演習
先週までで、2分探索木の説明を終えたので、今日は演習を行う。 課題テーマ(基本) 2分探索木を使ったプログラムの作成。データ構造は、以下の中から出席番号にて選ぶ。(出席番号%3) 名前と生年月日(年月日は別要素が望ましい […]
2分探索木への追加
2分木へのデータの追記 前回の授業で、2分探索木のデータに対する処理を説明したので、今回は木にデータを追加する処理。 struct Tree { int data ; struct Tree* left ; struct […]
2分探索木
2分木(2分探索木) struct Tree { int data ; struct Tree* left ; struct Tree* right ; } ; struct Tree* tcons( int x, st […]