• 検索結果がありません。

アルゴリズムとデータ構造

N/A
N/A
Protected

Academic year: 2021

シェア "アルゴリズムとデータ構造"

Copied!
16
0
0

読み込み中.... (全文を見る)

全文

(1)

アルゴリズムとデータ構造

7週 <演習>木の構造、木の走査、二分木、決定木

2014年11月13日 金岡 晃

(2)

授業計画

1 (9/25)

データ構造とアルゴリズムの基

2 (10/2)

アルゴリズムの効率、線型構造、

スタックと待ち行列 3

(10/9)

<演習>アルゴリズムの効率、

線型構造、スタックと待ち行列 4

(10/16)

文字列照合(KMP法、BM法)

+<演習>

5 (10/23)

休講 6

(10/30)

木の構造、木の走査、二分木、

決定木

7 <演習>木の構造、木の走査、

9 (11/27)

休講 10

(12/4)

グラフ構造と最短路問題+

<演習>

11 (12/11)

データ整列:ヒープソート 法、クイックソート法

12 (12/18)

<演習>データ整列:ヒー プソート法、クイックソー ト法

13 (1/8)

データ探索:ハッシュ法、

木構造探索法 14

(1/15)

<演習>データ探索:ハッ シュ法、木構造探索法

(3)

3 回課題の解説

2014/11/13 アルゴリズムとデータ構造

2

(4)

演習(その 6 )

KMP法による文字列照合 KMP法による文字列照合

演習:KMP法によるfailの導出を行うプログラムを作成してみよう 入力:文字列

出力:文字列の長さに応じたfail

(5)

6 週【復習】

文字列照合( BM 法)

木の構造、木の走査、二分木、決定木

アルゴリズムとデータ構造

4 2014/11/13 アルゴリズムとデータ構造

(6)

BM 法

Boyer-Moore法(BM法)

Boyer-Moore法(BM法)

末尾から照合をしていく場合の照合失敗後のシフト量を

あらかじめパターンから計算をしておき、照合を行っていく

アルゴリズムの流れ

パターンpat[1..m]より シフト量を決める量 shift[1..m]を計算

shiftの計算

パターンの末尾から照合して いくが、照合失敗後のシフト 量はshift[1..m]λ[1..Σ]に従う

照合

各文字がpat上で 最も右に現れる 位置λ[1..Σ]の計算

λの計算

(7)

BM 法: λ と shift の利用

2014/11/13 アルゴリズムとデータ構造

6

アルゴリズムの流れ

パターンpat[1..m]より シフト量を決める量 shift[1..m]を計算

shiftの計算

パターンの末尾から照合していくが 照合失敗後のシフト量は

照合を失敗したテキスト場所kの文字text[k]

パターンの場所をiとした場合、

shift[i](i- λ[text[k]) の大きい方の分だけシフトする

照合

各文字がpat上で 最も右に現れる 位置λ[1..Σ]の計算

λの計算

(8)

BM 法: shift の導出

shiftの導出

(アルゴリズム)

shiftの導出

(アルゴリズム)

(9)

7

<演習>文字列照合( BM 法)

木の構造、木の走査、二分木、決定木

アルゴリズムとデータ構造

8 2014/11/13 アルゴリズムとデータ構造

(10)

演習(その 7 )

BM法による文字列照合 BM法による文字列照合

演習:BM法によるλshiftの導出を行うプログラムを作成してみよう

入力:文字列

出力:文字の種類に応じたλ、文字列の長さに応じたshift

前提:アルファベット(文字の種類)は3文字(A、B、C)とする

(11)

演習(その 8 )

2014/11/13 アルゴリズムとデータ構造

10

二分木の走査 二分木の走査

演習:下記の二分木を先順・中順・後順でそれぞれ走査したときの、節の訪問 順序を記載せよ

入力:なし(二分木データはプログラム中に記載してよい)

出力:先順、中順、後順

前提:各順での訪問順序 𝐴𝐴

𝐵

𝐵 𝐶𝐶

𝐷

𝐷 𝐸𝐸 𝐹𝐹 𝐺𝐺 𝐻

𝐻 𝐼𝐼 𝐽𝐽

(12)

演習(その 9 )

偽コインの問題 偽コインの問題

演習:8枚のコインから決定木を用いて偽コインを見つけるプログラムを作成し、

天秤で比較される順序と結果を記載せよ 入力:偽コインの指定(0~7)

出力:3回の天秤の比較において、それぞれに載せられるコインとその結果

(13)

締切と提出方法:演習その 7 ~ 9

締切

– 3週間後(1120日)の16:10まで

提出方法

電子メール

メールアドレス

[email protected]

メールのタイトルに「アルゴリズムとデータ構造第4回課題」と書 いてください

作ったプログラムをメールに添付してください。

注意事項

必ず金岡から受領確認メールを返します。

必ず日本語で受領確認メールを返します

英語のメールはエラーメール(アドレスが間違っている)の可 能性が高いです

メールで提出がされていないものは未提出とみなします

2014/11/13 アルゴリズムとデータ構造

12

(14)

中間試験について

アルゴリズムとデータ構造

(15)

評価方法とオフィスアワー

評価方法

アルゴリズムとデータ構造

• 中間試験 50点

期末試験

50

合計

60

点以上を合格とする

アルゴリズムとデータ構造演習

演習課題

60

中間試験

20

定期試験

20

合計

60

点以上を合格とする

オフィスアワー

オフィスアワーについてはメールで個別に時間を予約するもの とする

連絡先:

[email protected]

2014/11/13 アルゴリズムとデータ構造

14

来週の試験

(16)

中間試験について

筆記試験

持ち込みあり

– PC

、スマートフォン、タブレットの持ち込みも可

ネットワーク接続可

この教室(

III

号館

204

)で実施

• 13:00-14:30

90

試験範囲

今回までの配布資料と教科書内の該当する箇所

参照

関連したドキュメント

しかしながら,式 (8) の Courant 条件による時間増分

我が国では近年,坂下 2) がホームページ上に公表さ れる各航空会社の発着実績データを収集し分析すること

節の構造を取ると主張している。 ( 14b )は T-ing 構文、 ( 14e )は TP 構文である が、 T-en 構文の例はあがっていない。 ( 14a

「文字詞」の定義というわけにはゆかないとこ ろがあるわけである。いま,仮りに上記の如く

うのも、それは現物を直接に示すことによってしか説明できないタイプの概念である上に、その現物というのが、

チューリング機械の原論文 [14]

・「下→上(能動)」とは、荷の位置を現在位置から上方へ移動する動作。

・少なくとも 1 か月間に 1 回以上、1 週間に 1