Upload
clinton-pierce
View
30
Download
0
Embed Size (px)
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• 先端ノードのアドレスを見張る
先端ポインタが必要
線形リストによるスタック
• プッシュ = ノードの追加• ポップ = ノードの削除• 空リストの検出
キュー
• 待ち行列のように最初に入ったデータのみを見たり消したりできる構造
• 線形リストで実現• 先端のみならず終端を見張る
ポインタも必要