樹狀結構 trees

20
1 1 國國國國國國 國國國國 國國國國國 國國國國 國國國國 Trees Trees

Upload: dinesh

Post on 25-Jan-2016

113 views

Category:

Documents


5 download

DESCRIPTION

樹狀結構 Trees. 樹狀結構之術語 (Terminology). 樹狀結構之定義 (Definition). A tree consists of a node, called its root, and zero or more subtrees, each of which is itself a tree. 樹狀結構之處置程序 ( Traversal ). 前序處置程序 (Preorder traversal) 後序處置程序 (Postorder traversal) 中序處置程序 (Inorder traversal). 先處置樹根 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 樹狀結構  Trees

11國立交通大學 運科管系 計算機概論

樹狀結構 樹狀結構 TreesTrees

Page 2: 樹狀結構  Trees

22國立交通大學 運科管系 計算機概論

樹狀結構之術語樹狀結構之術語 (Terminology)(Terminology)

A

CB D

E F G H I J K

根 (root)

樹 枝 (branch)

節 點 (node)

第一

(L ev e l 1 )

第二

(L ev e l 2 )

第三

(L ev e l 3 )

樹 葉 (leaf)

Page 3: 樹狀結構  Trees

33國立交通大學 運科管系 計算機概論

樹狀結構之定義樹狀結構之定義 (Definition)(Definition)

A A treetree consists of a node, calle consists of a node, called its root, and zero or more subd its root, and zero or more subtrees, each of which is itself a trees, each of which is itself a ttreeree..

Page 4: 樹狀結構  Trees

44國立交通大學 運科管系 計算機概論

樹狀結構之處置程序 樹狀結構之處置程序 ((TraversalTraversal))

前序處置程序前序處置程序 (Preorder traversal)(Preorder traversal) 後序處置程序後序處置程序 (Postorder traversal)(Postorder traversal) 中序處置程序中序處置程序 (Inorder traversal)(Inorder traversal)

Page 5: 樹狀結構  Trees

55國立交通大學 運科管系 計算機概論

前序處置程序前序處置程序 (Preorder traversal)(Preorder traversal)

先處置樹根由左而右以前序處置程序前序處置程序處置樹根之下 的各個子樹

A

CB D

E F G H I J K

Page 6: 樹狀結構  Trees

66國立交通大學 運科管系 計算機概論

後序處置程序後序處置程序 (Postorder traversal)(Postorder traversal)由左而右以後序處置程序後序處置程序處置樹根之下 的各個子樹處置樹根

A

CB D

E F G H I J K

Page 7: 樹狀結構  Trees

77國立交通大學 運科管系 計算機概論

中序處置程序中序處置程序 (Ineorder traversal)(Ineorder traversal) ── 只適用於二元樹只適用於二元樹 (Binary tree)(Binary tree)以中序處置程序中序處置程序先處置樹根之下的左子樹再處置樹根以中序處置程序中序處置程序處置樹根之下的右子樹

A

CB

D

E F G

Page 8: 樹狀結構  Trees

88國立交通大學 運科管系 計算機概論

二元樹二元樹 (Binary tree)(Binary tree) 之定義之定義

A binary tree is a tree in which A binary tree is a tree in which each node has at most two each node has at most two children.children.

A

CB

D

E F G

Page 9: 樹狀結構  Trees

99國立交通大學 運科管系 計算機概論

樹狀結構之線性表示法樹狀結構之線性表示法((Linear representationsLinear representations))

括號表示法括號表示法 (parenthesis notation):(parenthesis notation):

A

CB D

E F G H I J K

A ( B ( E F ) C ( G H I ) D ( J K ))A ( B ( E F ) C ( G H I ) D ( J K ))

Page 10: 樹狀結構  Trees

1010國立交通大學 運科管系 計算機概論

樹狀結構之線性表示法樹狀結構之線性表示法((Linear representationsLinear representations))

層級表示法層級表示法 (level number notation):(level number notation):

A

CB D

E F G H I J K

A1 B2 E3 F3 C2 G3 H3 I3 D2 J3 K3A1 B2 E3 F3 C2 G3 H3 I3 D2 J3 K3

Page 11: 樹狀結構  Trees

1111國立交通大學 運科管系 計算機概論

樹狀結構之線性表示法樹狀結構之線性表示法((Linear representationsLinear representations))

子數表示法子數表示法 (children number notation):(children number notation):

A

CB D

E F G H I J K

AA33 B B22 E E00 F F00 C C33 G G00 H H00 I I00 D D22 J J00 K K00

Page 12: 樹狀結構  Trees

1212國立交通大學 運科管系 計算機概論

前序處置程序前序處置程序 (Preorder traversal)(Preorder traversal)

先處置樹根由左而右以前序處置程序處置樹根之下 的各個子樹

A

CB

D

E F GA B E C F G DA B E C F G D

Page 13: 樹狀結構  Trees

1313國立交通大學 運科管系 計算機概論

後序處置程序後序處置程序 (Postorder traversal)(Postorder traversal)由左而右以後序處置程序處置樹根之下 的各個子樹處置樹根

A

CB

D

E F GE B F D G C AE B F D G C A

Page 14: 樹狀結構  Trees

1414國立交通大學 運科管系 計算機概論

中序處置程序中序處置程序 (Ineorder traversal)(Ineorder traversal) ── 只適用於二元樹只適用於二元樹 (Binary tree)(Binary tree)以中序處置程序先處置樹根之下的左子樹再處置樹根以中序處置程序處置樹根之下的右子樹

A

CB

D

E F GE B A F C G DE B A F C G D

Page 15: 樹狀結構  Trees

1515國立交通大學 運科管系 計算機概論

由處置程序推導二元樹由處置程序推導二元樹

已知二元樹之已知二元樹之前序處置程序前序處置程序與與後序處置後序處置程序程序能否推導?其解是否唯一?能否推導?其解是否唯一?

已知二元樹之已知二元樹之前序處置程序前序處置程序與與中序處置中序處置程序程序能否推導?其解是否唯一?能否推導?其解是否唯一?

已知二元樹之已知二元樹之後序處置程序後序處置程序與與中序處置中序處置程序程序能否推導?其解是否唯一?能否推導?其解是否唯一?

Page 16: 樹狀結構  Trees

1616國立交通大學 運科管系 計算機概論

已知二元樹之已知二元樹之前序處置程序前序處置程序與與中序處置中序處置程序程序能否推導?其解是否唯一?能否推導?其解是否唯一?

前序處置程序前序處置程序 A B E C F G DA B E C F G D 中序處置程序中序處置程序 E B A F C G DE B A F C G D

A

CB

D

E F G 前序:前序: AA ( B E C F G D ) ( B E C F G D )

中序:中序: ( E B ) ( E B ) AA ( F C G D ) ( F C G D )

前序:前序: AA ( ( BB ( E ) ( E ) CC ( F G D ) ) ( F G D ) )

中序:中序: ( ( E ) ( ( E ) BB ) ) AA ( ( F ) ( ( F ) CC ( G D ) ) ( G D ) )

前序:前序: A ( B ( E ) CA ( B ( E ) C ( F( F GG ( D ) ( D ) ) )) )

中序:中序: ( ( E ) B )( ( E ) B ) A ( ( F )A ( ( F ) CC (( GG ( D ) ( D ) )) ))

Page 17: 樹狀結構  Trees

1717國立交通大學 運科管系 計算機概論

已知二元樹之已知二元樹之後序處置程序後序處置程序與與中序處置中序處置程序程序能否推導?其解是否唯一?能否推導?其解是否唯一?

後序處置程序後序處置程序 E B F D G C AE B F D G C A 中序處置程序中序處置程序 E B A F C G DE B A F C G D

A

CB

D

E F G 後序:後序: ( E B F D G C ) ( E B F D G C ) AA

中序:中序: ( E B ) ( E B ) AA ( F C G D ) ( F C G D )

後序:後序: (( ( E ) ( E ) BB ( F D G ) ( F D G ) CC ) A) A

中序:中序: (( ( E ) ( E ) BB ) A () A ( ( F ) ( F ) CC ( G D ) ( G D ) ))

後序:後序: ( ( E ) B ( F( ( E ) B ( F ( D ) ( D ) GG ) C ) A) C ) A

中序:中序: ( ( E ) B ) A ( ( F ) C (( ( E ) B ) A ( ( F ) C ( GG ( D ) ( D ) ) )) )

Page 18: 樹狀結構  Trees

1818國立交通大學 運科管系 計算機概論

已知二元樹之已知二元樹之前序處置程序前序處置程序與與後序處置後序處置程序程序能否推導?其解是否唯一?能否推導?其解是否唯一?

前序處置程序前序處置程序 A B E C F G DA B E C F G D 後序處置程序後序處置程序 E B F D G C AE B F D G C A

前序:前序: A ( B E C F G D )A ( B E C F G D )

後序:後序: ( E B F D G C ) A( E B F D G C ) A

前序:前序: A ( B ( E ) C ( F G D ) )A ( B ( E ) C ( F G D ) )

後序:後序: ( ( E ) B ( F D G ) C ) A( ( E ) B ( F D G ) C ) A

前序:前序: A ( B ( E ) C ( F G ( D ) ) )A ( B ( E ) C ( F G ( D ) ) )

後序:後序: ( ( E ) B ( F ( D ) G ) C ) A( ( E ) B ( F ( D ) G ) C ) A

A

CB

D

E F G

A

CB

D

E F G

A

CB

D

E F G

A

CB

D

E F G

Page 19: 樹狀結構  Trees

1919國立交通大學 運科管系 計算機概論

樹狀結構之應用樹狀結構之應用 資料搜尋資料搜尋 資料排序資料排序 資料庫索引資料庫索引 家譜家譜 組織階層架構組織階層架構 迷宮迷宮

Page 20: 樹狀結構  Trees

2020國立交通大學 運科管系 計算機概論

樹狀結構之應用樹狀結構之應用 組織階層架構組織階層架構

總經理

業務部經理 廣告部經理 財務部經理

專員 專員 專員業務員 業務員 業務員 業務員