第 11 回放送授業

Preview:

DESCRIPTION

第 11 回放送授業. 「ソフトウェアのしくみ」. 11 リスト構造とデータベース. 11.1 データベースとは. データベース( DB ). キー 原則、重なるキーはない方がよい 値(複数ある場合もある) キーとして配列番号もありうる. 11.2 配列、ハッシュ関数. 配列. キー : 配列番号 値 : 同じサイズに収まるデータ 任意の番号のデータのアドレス = 先頭アドレス + 配列番号 × データサイズ. ポインタ配列. データサイズが不定の場合には ポインタ配列を使う - PowerPoint PPT Presentation

Citation preview

第 11 回放送授業

「ソフトウェアのし「ソフトウェアのしくみ」くみ」

1111 リスト構造とデータリスト構造とデータベースベース

11.1 11.1 データベースとはデータベースとは

データベース( DB )

• キー– 原則、重なるキーはない方がよい

• 値(複数ある場合もある)• キーとして配列番号もありうる

11.2 11.2 配列、ハッシュ関数配列、ハッシュ関数

配列

• キー : 配列番号• 値 : 同じサイズに収まるデータ• 任意の番号のデータのアドレス

= 先頭アドレス+ 配列番号 × データサイズ

ポインタ配列

• データサイズが不定の場合にはポインタ配列を使う

• データは配列とは別のところへ置き、そのデータを指すポインタを配列とする

ハッシュ法

• 広い領域にまばらに存在するキーをまとめる手法– 数字キー– 文字列キー

• 高速で検索できる。

ハッシュ法

• ハッシュ関数• ハッシュ表• ハッシュ値

衝突

• オープンアドレス法• 連鎖法

ハッシュ関数

• 除算法• 中央二乗法• 折り畳み法

11.3 11.3 スタック、キュースタック、キュー

スタック

• 最後に入れたデータのみを見たり消したりできる構造

• 先端• 終端• プッシュ• ポップ• LIFO 、 FILO

線形リスト

• ノード = データ + ポインタ(複数も可)

• 線形リスト = ノード( 1 ポインタ)を直線的に繋いだもの

• 終端のノードのポインタは Null• 先端ノードのアドレスを見張る

先端ポインタが必要

線形リストによるスタック

• プッシュ = ノードの追加• ポップ = ノードの削除• 空リストの検出

キュー

• 待ち行列のように最初に入ったデータのみを見たり消したりできる構造

• 線形リストで実現• 先端のみならず終端を見張る

ポインタも必要

Recommended