データ構造とアルゴリズム 第6回の2 木 ~ データ構造(3)~.

Slides:



Advertisements
Similar presentations
組合せ最適化輪講 2.3 連結性 川原 純. 2.3 連結性 内容 – グラフ上の節点をすべてたどるアルゴリズム 計算機上でのグラフの表現 – 強連結成分を求めるアルゴリズム トポロジカル順序を求める方法も – k- 連結、 k- 辺連結について – 2- 連結グラフの耳分解について.
Advertisements

有限幾何学 第 2 回. 有限幾何学 第 2 回 1. 様々なグラフの例 2. 道と最短経路問題 1. 用語の説明 2. 最短経路問題 3. ダイキストラのアルゴリズム.
A Simple Constant Time Enumeration Algorithm for Free Trees 中野 眞一 宇野 毅明 群馬大学 情報学研究所 2003 年 9 月 19 日 アルゴリズム研究会.
データ構造とプログラミング技 法 (第3回) ー木構造ー. 木構造 (1) 根( root )と呼ばれる節 R が、 1 つだけ含まれ る。 R … TmTm T1T1 木構造: 1 個以上の節の有限集合 T であり、 次の二つの条件を満足するもの (2) 根以外の節は、 m (≧ 0 )個の互いに素な部.
区間グラフにおける区間表現からMPQ-treeを効率よく構成するアルゴリズム
アルゴリズムとデータ構造 2011年7月7日
基本情報技術概論 I 演習(第5回) 埼玉大学 理工学研究科 堀山 貴史
正規表現からのDFA直接構成.
計算の理論 I 文脈自由文法 月曜3校時 大月 美佳 平成15年6月30日 佐賀大学知能情報システム学科.
2009/12/4 グラフ (2) 第10講: 平成21年12月4日 (金) 4限 E252教室 コンピュータアルゴリズム.
情報生命科学特別講義III (8)木構造の比較: 順序木
    有限幾何学        第8回.
On the Enumeration of Colored Trees
An Algorithm for Enumerating Maximal Matchings of a Graph
Permutationグラフと Distance-Hereditaryグラフの 再構築アルゴリズム
    有限幾何学        第5回.
集中講義(九州大学数理学研究院) バイオ構造データに対する数理モデルと アルゴリズム(3) + 数理談話会 木構造および画像データの文法圧縮
アルゴリズムとデータ構造 補足資料13-4 「2分探索木の追加・削除(ダイジェスト)」
計算の理論 I -数学的概念と記法- 月曜3校時 大月 美佳.
JAG Regional Practice Contest 2012 問題C: Median Tree
データ構造とアルゴリズム 第7回 木 ~ データ構造(3)~.
宇野 毅明 国立情報学研究所 2002年3月 東北大大学院 情報科学研究科ワークショップ
第11講: 平成18年12月 8日 (金) 4限 E352教室 グラフ (1).
第4章 空間解析 2.ネットワーク分析 (3) ネットワーク構造分析
s a b f c e d 2016年度 有限幾何学 期末試験 問1:15点
大岩 元 慶応大学環境情報学部 二分木 データ構造とプログラミング(10) 大岩 元 慶応大学環境情報学部
5.5 The Linear Arboricity of Graphs (グラフの線形樹化数)
情報生命科学特別講義III (7)進化系統樹推定
A First Course in Combinatorial Optimization Chapter 3(前半)
アルゴリズムとデータ構造 2012年7月12日
二分探索木によるサーチ.
2009/10/16 いろいろなデータ構造 第3講: 平成21年10月16日 (金) 4限 E252教室 コンピュータアルゴリズム.
アルゴリズムとデータ構造 2011年7月4日
第25章 単一始点最短路 3節 Bellman-Fordのアルゴリズム
離散数学 08. グラフの探索 五島.
データ構造とアルゴリズム (第3回) ー木構造ー.
第9回 優先度つき待ち行列,ヒープ,二分探索木
b f c a d e g h a b c d e f g 図1 図2 2012年度 有限幾何学 期末試験
モバイルエージェントネットワークの拡張とシミュレーション
データ構造と アルゴリズム 第七回 知能情報学部 新田直也.
データ構造と アルゴリズム 第六回 知能情報学部 新田直也.
A Simple Algorithm for Generating Unordered Rooted Trees
離散数学 07. 木 五島.
基本情報技術概論(第6回) 埼玉大学 理工学研究科 堀山 貴史
Cプログラミング演習 第10回 二分探索木.
データ構造とアルゴリズム論 第9章 木構造 平成29年12月20日 森田 彦.
データ構造とアルゴリズム論 第9章 木構造 平成30年6月27日 森田 彦.
計算の理論 II -講義内容説明と 基本事項確認ー
プログラミング 4 木構造とヒープ.
第4章 データ構造 p.82 [誤] ハミルトニアン経路問題  [正] ハミルトン閉路問題 p.82,83 [誤] セールスパーソン問題
15.cons と種々のデータ構造.
アルゴリズムとデータ構造 第3章 ヒープ 5月31日分
アルゴリズムとデータ構造 第3章 ヒープ 5月31日分の復習
第9回 優先度つき待ち行列,ヒープ,二分探索木
    有限幾何学        第5回.
離散数学 06. グラフ 序論 五島.
アルゴリズムとデータ構造 2011年6月16日
基本情報技術概論(第6回) 埼玉大学 理工学研究科 堀山 貴史
情報工学概論 (アルゴリズムとデータ構造)
アルゴリズムとデータ構造 2013年7月8日
2009/11/27 グラフ (1) 第9講: 平成21年11月27日 (金) 4限 E252教室 コンピュータアルゴリズム.
アルゴリズムとデータ構造 第2章 リスト構造 5月24日分
d b c e a f 年度 有限幾何学 中間試験 問1 次の用語の定義をそれぞれ述べよ.
情報生命科学特別講義III (14) グラフの比較と列挙
計算の理論 I 文脈自由文法 月曜3校時 大月美佳.
ヒープソート.
アルゴリズムとデータ構造 2013年6月20日
グラフの列挙 中野 眞一    (群馬大学) 2019/9/14 列挙学校.
7.木構造 7-1.データ構造としての木 7-2.2分探索木 7-3.高度な木.
アルゴリズムとデータ構造 2012年7月9日
Presentation transcript:

データ構造とアルゴリズム 第6回の2 木 ~ データ構造(3)~

木構造 (tree)

内容 グラフ 木構造 木の定義と用語 根,節点,葉 親子,兄弟,先祖,子孫 経路と経路の長さ 深さと高さ 木の走査 代表的な木構造

v1 v2 グラフ(graph) 節点 辺 (枝) e = (v1, v2) 有限個の節点(node, 頂点, vertex)と,エッジ(edge, 辺, 枝)の集合で構成される V : 節点の集合 E : 辺の集合 G : グラフ v1 節点 辺 (枝) e = (v1, v2) v2

v2 v1 v2 v2 v1 v1 無向グラフと有向グラフ 無向グラフ (undirected graph) 枝に方向を考えないグラフ 無向グラフと有向グラフ   無向グラフ (undirected graph) 枝に方向を考えないグラフ (v1, v2) = (v2, v1) 有向グラフ (directed graph, digraph) 枝の方向を考えるグラフ (v1, v2) ≠ (v2, v1) v2 v1 v2 v2 v1 v1 アーク

完全グラフ(complete graph) すべての節点対の間に枝をもつ無向グラフ

部分グラフ(subgraph)    グラフG = (V, E)に対し,V’⊆V, E’⊆Eの作るG’=(V’, E’)がグラフであるとき,G’はGの部分グラフであるという

v4 v2 v6 v1 v3 v7 v5 経路(path) v1から v3への経路は存在する P: v1, v2,v3 経路P: v1, v2,v3,v1は始点と終点が等しく、その他の節点はすべて異なる⇒単純閉路 v1 v2 v3 v4 v5 v6 v7

ケーニヒスベルグの橋 陸地が4つ 橋が7本 同じ橋を2度渡らずに すべての橋を通って もとの場所に戻れるか 節点が4つ 辺が7本 同じ辺を2度通らずに すべての辺を通って もとの節点に戻る経路はあるか

連結グラフ(connected graph) 連結グラフ:任意の2つの節点間に経路が存在する無向グラフ 無向木:閉路を持たない連結無向グラフ

根つき木(rooted tree)  根とよばれる1つの節点があり、そこから他の任意の節点への経路が存在するとき、 根つき木 (rooted tree)または単に 木 (tree)と呼ぶ

木(Tree) 葉 leaf 根 root

情報科学における木 根(root) 枝(branch) 節点(node) 葉(leaf)

階層構造(hierarchical structure) 木構造は,階層的な関係を表現するのに適している A大学 B学部 C学部 D学科 E学科 F学科 G学科 H学科 Iコース

階層構造の例 (p.39 図2.16) 組織図 系図 階層ディレクトリ etc...

木の再帰的定義 (p.42) 新しい木ができる (1) 単一の節点は,それ自身で一つの木 (1)’ 空集合でも木(空の木(null tree)Λ) (2) (3) すべての木は,(1)をもとに(2)を有限回適用して得られる Ti : 木 ni : 木Tiの根 n : すべてのniの親 新しい木ができる Tiは新しい木の部分木 nは新しい木の根 n T1 n1 T2 n2 Tk nk

問題 a 右図は木といえるか? ⇒いえない. (木の定義をもとに,各自理由を考えてみること) 右図のような構造をグラフ(graph)という  (木の定義をもとに,各自理由を考えてみること) 右図のような構造をグラフ(graph)という b c d e f g h

親子関係 a, b, …は各々のnodeの名前 親子関係: a は b, f の親(parent) b, f は a の子(child) a 部分木 (subtree) b f c d e g i h

兄弟 a 同じ親を持つ節点を兄弟(sibling)という b と f は兄弟 c と d と e は兄弟 g と i は兄弟 b f c d h

経路と経路の長さ n1,n2,・・・,nk が木の中の節点の列であって,1≦i<kに対してni がni+1の親になっているとき,この列のことを「節点n1から節点nk への経路(path)」という. このとき,経路の長さは k -1 節点自身への経路の長さは0 n1 n2 n3

先祖と子孫 節点aから節点bへの経路があるとき,aはbの先祖(ancestor),bはaの子孫(descendant)であるという どの節点も自分自身の先祖であり子孫である 自分自身以外の先祖や子孫を真の先祖,真の子孫という

例1 経路と子孫 a aからhへの経路: a, f, g, h その経路の長さ: 3 fの子孫: f, g, h, i fの真の子孫: 例1 経路と子孫 a aからhへの経路: a, f, g, h その経路の長さ: 3 fの子孫: f, g, h, i fの真の子孫: g, h, i b f c d e g i h

例2 先祖 a cの先祖 a, b, c cの真の先祖 a, b 根(root) ⇒真の先祖を持たない唯一の節点 葉(leaf) 例2 先祖 a cの先祖   a, b, c cの真の先祖 a, b 根(root)  ⇒真の先祖を持たない唯一の節点 葉(leaf)  ⇒真の子孫を持たない節点 b f c d e g i h

深さと高さ 節点の高さ(height) ある節点から葉への最長経路長 木の高さ 木の根の高さ 節点の深さ(level, depth)   ある節点から葉への最長経路長 木の高さ   木の根の高さ 節点の深さ(level, depth)   根からある節点までの経路の長さ

例3 深さと高さ a 深さ(レベル)0 節点b   高さ1,深さ1 節点g   高さ1,深さ2 木の高さ   3 b f c d e g i h

順序木と無順序木 順序木(ordered tree):兄弟間で順序づけを行った木 無順序木(unordered tree):子の順序を無視した木 a b c 無順序木としてみれば,同じ木 a c b 順序木としてみると,異なる木 左: bが兄,cが弟 右: cが兄,bが弟

本日の問題 (問1)スタックSとキューQがあるとする。次の手順で操作を行うとき,スタックS及びキューQの中身はどのように変化するか、図を用いて説明せよ. また,xに何が代入されるか? Push(C, S)⇒Push(A, S)⇒Enq (Pop(S), Q)⇒Enq (E,Q)⇒ Push(Deq (Q),S)⇒Enq (D ,Q) ⇒ x ← Deq (Q) (問2)以下の3つの式を,ポーランド記法および逆ポーランド記法で表現せよ. ポーランド記法 A*B-C÷D+E A*B-C A+B+C 式 逆ポーランド記法 ポーランドの首都は?