SlideShare a Scribd company logo
1 of 36
1
ทรีทรี--ต้นไม้ต้นไม้((TreesTrees))
2
วัตถุประสงค์
•เพื่อศึกษาหลักการเบื้องต้นเกี่ยวกับ
ทรี(tree)หรือต้นไม้ในทางคอมพิวเตอร์
•ประยุกต์ความสัมพันธ์ของข้อมูลในรูปทรี
สำาหรับกระบวนการทางคอมพิวเตอร์
3
Outline
• Terminology:
• Tree application:
– Binary search tree(BST)
• Tree spanning:
– Minimum spanning tree by Prim’s algorithm
• Traversal:
– Pre-order, In-order and Post-order
4
คำาศัพท์เกี่ยวข้อง
(Terminologies)
• โครงสร้างของทรี (structural)
– ราก(root), ใบ(leaf) , โหนดภายใน(internal node),
กิ่ง(branch), ต้นไม้ย่อย(subtree),
• ความสัมพันธ์(Relationship)
– พ่อไม้:parent( predecessor ), ลูก:child( successor ), พี่
น้อง:sibling
• ชนิดของทรี(Types)
– n-ary tree, binary tree
• คุณสมบัติ(Properties)
– ระดับ(level) และความสูง(height)ของทรี
5
ทรี(Trees)
• ทรี กล่าวได้ว่าเป็น กราฟเชื่อมโยงแบบไม่ระบุ
ทิศทาง (connected undirected graph) ซึ่งจะต้องไม่มี
วงจรเกิดขึ้น (circuit)
• ทรีหลายทรีอยู่ที่เดียวกันเรียกว่า ป่า(forest)
• โครงสร้างของ ทรีประกอบไปด้วย เซตของ
โหนด(เทียบแล้วคือจุด บนกราฟ) กับเซตของเส้น
เชื่อมโยงระหว่างโหนด(เทียบแล้วคือ เส้น บน
กราฟ)
• มีการกำาหนดโหนดพิเศษที่เกิดเป็นโหนดแรกบนทรี
ถูก เรียกว่าโหนดราก (root node)
6
A
B DC
E F G H I
J K L M
โครงสร้างและองค์ประกอบของ
ทรี
Tree
A
B DC
E F G H I
J K L M
Graph
ทรี ต่างกับกราฟ
อย่างไร ?
7
ตัวอย่างทรี และ ป่า
(Tree and Forest Examples)
• A Tree: • A Forest:
Leaves in green, internal nodes in brown.
8
โครงสร้างและองค์ประกอบของ
ทรี
T1
T2
T3
Forest F ={T1, T2, T3}
F
ฐานข้อมูล
นักศึกษา
CS
ฐานข้อมูล
นักศึกษา
CPE
ฐานข้อมูล
นักศึกษา
ICT
9
A
B DC
E F G H I
J K L M
root
sibling
Height
1
2
3
4
leaf
Leaf of T = {E,J,K,G,H,L,M}
T:
A เป็น โหนดพ่อแม่ ของ B,Cและ D
โครงสร้างและองค์ประกอบของ
ทรี
B, C, D เป็น โหนดพี่น้อง ที่มี โหนด A เป็นโหนด
พ่อแม่
10
ต้นไม้ย่อย หรือ สับทรี (subtree)
A
B DC
E F G H I
J K L M
A
B DC
E F G H I
J K L M
T:
ต้นไม้ T ประกอบด้วย ต้นไม้ย่อย T1, T2, T3
• ต้นไม้ย่อย T1 มีโหนด B เป็น root
• ต้นไม้ย่อย T2 มีโหนด C เป็น root
• ต้นไม้ย่อย T3 มีโหนด D เป็น root
T1 T2 T3
11
n-ary trees
• แต่ละโหนดบนทรี(ยกเว้นโหนดใบ) จะมีจำำนวน
โหนดลูกไม่เกิน n โหนด
• ถ้ำ n ของ n-ary tree มีค่ำ n= 2 จะเรียน 2-ary
tree ซึ่งหมำยถึง ไบนำรีทรี (binary tree)
12
B
A
DC E
F G H H I
T1
4-ary tree
K A
B C
D E F G
binary
tree
T2
n-ary tree & binary tree
level-0
level-1
level-2
height
1
2
3
ไบนำรีทรี (ต้นไม้ทวิภำค)
A
B C
D E F G
Binary tree
T
N = 2h
-1
เมื่อ N แทนจำำนวนโหนด
ทั้งหมดของ
ไบนำรีทรี ที่มีควำมสูง h
เช่น ไบนำรีทรีที่มีควำมสูง
เท่ำกับ 3 จะมีจำำนวนโหนด
มำกที่สุดบนไบนำรีทรีเท่ำกับ
14
กำรประยุกต์ใช้ทรี กับกำร
ค้นหำ
(Binary Search Tree :BST)
T จะเป็น BST ถ้ำ
(1) T ต้องเป็น ไบนำรีทรี
(2) และทุกโหนดในต้นไม้ย่อยทำงซ้ำย
มีค่ำน้อยกว่ำทุกโหนดที่เป็นโหนดรำก
ของต้นไม้ย่อยและทุกโหนดใน
ต้นไม้ย่อยทำงขวำ
7
3 12
1 5 9 15
0 2 8 11
T:
15
Recursive Binary Tree Insert
procedure insert(T: binary tree, x: item)
v := root[T]
if v = null then begin
root[T] := x; return “Done” end
else if v = x return “Already present”
else if x < v then
return insert(leftSubtree[T], x)
else {must be x > v}
return insert(rightSubtree[T], x)
• ตัวอย่ำง เมื่อกำำหนดข้องมูล(ที่นำำไปสร้ำง
BST)โดยมีลำำดับกำรเข้ำข้อมูลของต้นไม้ BST
ดังนี้ {7,3,12,1,5, 9,15,0,2,8,11 }
กำรสร้ำง BST
7
3 12
1 5
7 7
3
7
3 12
7
3 12
1
นักศึกษำสร้ำงต่อให้เสร็จ ?
17
กำรสร้ำง BST
7
3 12
1 5 9 15
7
3 12
1 5
{7,3,12,1,5,9,15,0,2,8,11 }
7
3 12
1 5 9
18
กำรสร้ำง BST
{7,3,12,1,5,9,15,0,2,8,11 }
7
3 12
1 5 9 15
0
7
3 12
1 5 9 15
0 2
7
3 12
1 5 9 15
20 8
7
3 12
1 5 9 15
20 8 11
19
A B
C D E
F G
G:
2
3
4
5
1
2
3
1
62
Minimum Spanning Tree (MST)
by Prim’s Algorithm
• MST เป็นการการเยี่ยมเดินไป
ให้ทั่วบนกราฟอย่างไม่ซำ้ากัน
โดยมีค่าผลรวมของ weight(ค่า
กำากับเส้นทาง) ที่น้อยที่สุด
• Prim’s algorithm ใช้หลักการ
– (1) พิจารณาโหนดในกราฟที่มี
ค่ากำากับเส้นทางที่น้อยที่สุด ณ
ขณะนั้นเข้าไปเป็นโหนดในทรี
โดยที่โหนดนั้นจะต้องไม่ทำาให้
เกิดวงจรบนทรี
20
A B
C D E
F G
G:
2
3
4
5
1
2
3
1
62
Minimum Spanning Tree (MST)
by Prim’s Algorithm
สมมุติว่าเลือกโหนด
D เป็นโหนดเริ่มต้น
ของการทำา MST
D
5
1
3
2 1
D
F
21
A B
C D E
F G
G:
2
3
4
5
1
2
3
1
62
Minimum Spanning Tree (MST)
by Prim’s Algorithm
สมมุติว่าเลือกโหนด
D เป็นโหนดเริ่มต้น
ของการทำา MST
D
5
3
2 1
D
F
4
1F 1 G
22
A B
C D E
F G
G:
2
3
4
5
1
2
3
1
62
Minimum Spanning Tree (MST)
by Prim’s Algorithm
สมมุติว่าเลือกโหนด
D เป็นโหนดเริ่มต้น
ของการทำา MST
D
5
3
1
D
F
4
F 1 G
G
6
3 E
23
A B
C D E
F G
G:
2
3
4
5
1
2
3
1
62
Minimum Spanning Tree (MST)
by Prim’s Algorithm
สมมุติว่าเลือกโหนด
D เป็นโหนดเริ่มต้น
ของการทำา MST
D
5
1
D
F
4
F 1 G
G
6
3 E
2
E
B
2
24
A B
C D E
F G
G:
2
3
4
5
1
2
3
1
62
Minimum Spanning Tree (MST)
by Prim’s Algorithm
สมมุติว่าเลือกโหนด
D เป็นโหนดเริ่มต้น
ของการทำา MST
D
5
1
D
F
4
F 1 G
G
6
3 EE
B
2
B
3 3A
25
A B
C D E
F G
G:
2
3
4
5
1
2
3
1
62
Minimum Spanning Tree (MST)
by Prim’s Algorithm
สมมุติว่าเลือกโหนด
D เป็นโหนดเริ่มต้น
ของการทำา MST
D
1
D
F
4
F 1 G
G
6
3 EE
B
2
B 3AA
2 2
C
26
A B
C D E
F G
G:
2
3
4
5
1
2
3
1
62
Minimum Spanning Tree (MST)
by Prim’s Algorithm
D
F E
1 3
G
1
B
2
A
3
T:
ค่าผลรวมของค่ากำากับเส้นทางน้อยที่สุด = 1+1+3+2+3+2
1
D
F 1 G
3 E
B
2
3A
2
C
C
2
• Tree traversal หมายถึงการเดิมเยี่ยมโหนดทุกโหนดบนทรี ให้
ทั่ว อย่างไม่ซำ้ากัน
• สามารถทำาได้ 3 วิธี คือ : NLR(Pre-order), LNR(In-order)
และ LRN(Post-order)
• โดยพิจารณาโครงสร้างของทรี ดังนี้
27
Tree Traversal
(การเดินท่องไปให้ทั่วบนทรี)
R
N
L
N:แทนโหนดรากของทรี หรือ สับทรี
(subtree)L:แทนโหนดลูกทางซ้ายของทรี หรือ สับทรี
R:แทนโหนดลูกทางขวาของทรี หรือ สับทรี
28
Tree Traversal: NLR (Pre-order)
1
2 3
4 5 6 7
T:
8 9
NLR: ให้เดิน root ของ
แต่ subtree ก่อนแล้วจึง
เดิน
left subtree แล้วตามด้วย
right subtreeผลลัพธ์การเดิน:
1,2,4,5,8,9,3,6,7
29
Tree Traversal: LNR(In-order)
1
2 3
4 5 6 7
T:
8 9
LNR: ให้เดิน left
subtree ก่อนแล้วจึงเดิน
กลับไปที่
rootของ subtree แล้ว
ตามด้วย right subtree
ผลลัพธ์การเดิน:
4,2,8,5,9,1,6,3,7
30
Tree Traversal: LRN(Post-order)
1
2 3
4 5 6 7
T:
8 9
LRN: ให้เดิน left
subtree ก่อนแล้วจึงเดิน
right subtree แล้วตาม
ด้วย root ของ subtree
ผลลัพธ์การเดิน:
4,8,9,5,2,6,7,3,1
31
1.กำาหนดทรีทั่วไปมาหนึ่งต้น ให้แสดงการทำา
tree traversalทั้งสามแบบ (NLR, LNR และ
LRN)
2.กำาหนดชุดข้อมูลให้จำานวนหนึ่ง ให้แสดงการนำา
ชุดข้อมูลนี้ไปสร้าง BST
(20 นาที)
Quiz -VI
(1) กำาหนดกราฟ Gให้ดังรูป จงใช้ prim’s algorithm เพื่อหาผล
รวมของค่ากำากับเส้นทางที่น้อยที่สุดของต้นไม้กระจายทั่ว
ถึง(spanning tree)
32
คำาถามท้ายบท
A B
C D E
F G
G:
2
3
5
4
1
2
3
3
69
2
(2) เมื่อกำาหนดทรี Tให้ดังรูป จงหาผลลัพธ์การเดินเยี่ยมให้ทั่วบน
ทรี(tree traversal) ในแบบ NLR, LNR และ LRN
33
คำาถามท้ายบท
1
2 3
4 5 6 7
T:
8 9 10 11
(3) เมื่อกำาหนดทรี Tให้ดังรูป จงหาผลลัพธ์ของคำาถามต่อไปนี้
34
คำาถามท้ายบท
1
2 3
4 5 6 7
T:
8 9 10 11
3.1 ถ้าให้ T เป็นไบนารีทรี ทรีต้นนี้
มีความสูงเท่าใด
3.2 ทรี T จะมีจำานวนโหนดมาก
ที่สุดเท่าใด ถ้าความสูงของทรี T มี
ค่าเป็น 7
(4) จงใช้ข้อมูลที่กำาหนดให้ต่อไปนี้ นำาไปสร้าง BST: T2
ข้อมูล = {25,30,73,12,9,84,49,11,98,77,33,130}
35
คำาถามท้ายบท
(5) จาก BST ในข้อ 4 ถ้าต้องการทราบว่ามีข้อมูล 53 อยู่ใน T2
หรือไม่ จะต้องทำาการเปรียบเทียบทั้งหมดกี่ครั้งถึงจะทราบคำา
ตอบ
(6) จาก BST ในข้อ 4 จะสามารถสร้างทรีที่มีความสูงน้อยที่สุด
ด้วยค่าความสูงเท่าใด
Final Exam 1/53
• 1.(10) ตรวจสอบสมบัติความสัมพันธ์
• 2.(10) การแทนกราฟ
• 3.(10) isomorphic
• 4.(10) graph connectivity
• 5.(15) Dijkstra’s algorithm
• 6.(10) Prim’s algorithm
• 7.(5) วงจรตรรกเชิงผสม
• 8.(10) วงจรตรรกเชิงผสม
36

More Related Content

What's hot

ค่ารากที่ N ของจำนวนจริง
ค่ารากที่ N ของจำนวนจริงค่ารากที่ N ของจำนวนจริง
ค่ารากที่ N ของจำนวนจริงkroojaja
 
สิ่งพิมพ์ เรขาคณิต
สิ่งพิมพ์ เรขาคณิตสิ่งพิมพ์ เรขาคณิต
สิ่งพิมพ์ เรขาคณิตsinarack
 
เลขยกกำลังม.4
เลขยกกำลังม.4เลขยกกำลังม.4
เลขยกกำลังม.4KruGift Girlz
 
แบบทดสอบก่อนเรียนเลขยกกำลัง
แบบทดสอบก่อนเรียนเลขยกกำลังแบบทดสอบก่อนเรียนเลขยกกำลัง
แบบทดสอบก่อนเรียนเลขยกกำลังทับทิม เจริญตา
 
ชุดกิจกรรมการเรียนรู้แบบเพื่อนคู่คิด เล่มที่ 9 การคูณเศษส่วนมากกว่าสองจำนวน
ชุดกิจกรรมการเรียนรู้แบบเพื่อนคู่คิด เล่มที่ 9 การคูณเศษส่วนมากกว่าสองจำนวนชุดกิจกรรมการเรียนรู้แบบเพื่อนคู่คิด เล่มที่ 9 การคูณเศษส่วนมากกว่าสองจำนวน
ชุดกิจกรรมการเรียนรู้แบบเพื่อนคู่คิด เล่มที่ 9 การคูณเศษส่วนมากกว่าสองจำนวนKanlayaratKotaboot
 
ปริมาตรของพีระมิด กรวย และทรงกลม
ปริมาตรของพีระมิด กรวย และทรงกลมปริมาตรของพีระมิด กรวย และทรงกลม
ปริมาตรของพีระมิด กรวย และทรงกลมNat Basri
 
การแยกตัวประกอบพหุนาม
การแยกตัวประกอบพหุนามการแยกตัวประกอบพหุนาม
การแยกตัวประกอบพหุนามAon Narinchoti
 
ปริมาตรและพื้นที่ผิว
ปริมาตรและพื้นที่ผิวปริมาตรและพื้นที่ผิว
ปริมาตรและพื้นที่ผิวkhanida
 
สไลด์ประกอบการเรียนการสอน เรื่องเซต (Sets) ม.4
สไลด์ประกอบการเรียนการสอน เรื่องเซต (Sets) ม.4สไลด์ประกอบการเรียนการสอน เรื่องเซต (Sets) ม.4
สไลด์ประกอบการเรียนการสอน เรื่องเซต (Sets) ม.4jirat thipprasert
 
แบบฝึกชุด 1 วิชาคณิตศาสตร์เพิ่มเติม ค31202 ภาคเรียนที่2 ปี2556
แบบฝึกชุด 1 วิชาคณิตศาสตร์เพิ่มเติม ค31202 ภาคเรียนที่2 ปี2556แบบฝึกชุด 1 วิชาคณิตศาสตร์เพิ่มเติม ค31202 ภาคเรียนที่2 ปี2556
แบบฝึกชุด 1 วิชาคณิตศาสตร์เพิ่มเติม ค31202 ภาคเรียนที่2 ปี2556พัน พัน
 
แผนการจัดการเรียนรู้วิชาการติดตั้งไฟฟ้าในอาคาร.Docx
แผนการจัดการเรียนรู้วิชาการติดตั้งไฟฟ้าในอาคาร.Docxแผนการจัดการเรียนรู้วิชาการติดตั้งไฟฟ้าในอาคาร.Docx
แผนการจัดการเรียนรู้วิชาการติดตั้งไฟฟ้าในอาคาร.Docxwatchara boollong
 
แนวข้อสอบใช้สอบท้องถิ่นหรือ ก.พ. และหน่วยงานต่างๆ (เล่มที่ 1/ 3)
แนวข้อสอบใช้สอบท้องถิ่นหรือ ก.พ. และหน่วยงานต่างๆ (เล่มที่ 1/ 3)แนวข้อสอบใช้สอบท้องถิ่นหรือ ก.พ. และหน่วยงานต่างๆ (เล่มที่ 1/ 3)
แนวข้อสอบใช้สอบท้องถิ่นหรือ ก.พ. และหน่วยงานต่างๆ (เล่มที่ 1/ 3)ประพันธ์ เวารัมย์
 
คณิตศาสตร์ ม.3 เรื่องปริมาตรและพื้นที่ผิว
คณิตศาสตร์ ม.3 เรื่องปริมาตรและพื้นที่ผิวคณิตศาสตร์ ม.3 เรื่องปริมาตรและพื้นที่ผิว
คณิตศาสตร์ ม.3 เรื่องปริมาตรและพื้นที่ผิวTutor Ferry
 

What's hot (20)

31 ความสัมพันธ์และฟังก์ชัน ตอนที่2_โดเมนและเรนจ์
31 ความสัมพันธ์และฟังก์ชัน ตอนที่2_โดเมนและเรนจ์31 ความสัมพันธ์และฟังก์ชัน ตอนที่2_โดเมนและเรนจ์
31 ความสัมพันธ์และฟังก์ชัน ตอนที่2_โดเมนและเรนจ์
 
ค่ารากที่ N ของจำนวนจริง
ค่ารากที่ N ของจำนวนจริงค่ารากที่ N ของจำนวนจริง
ค่ารากที่ N ของจำนวนจริง
 
บทเรียน1 สถิติ
บทเรียน1  สถิติบทเรียน1  สถิติ
บทเรียน1 สถิติ
 
สิ่งพิมพ์ เรขาคณิต
สิ่งพิมพ์ เรขาคณิตสิ่งพิมพ์ เรขาคณิต
สิ่งพิมพ์ เรขาคณิต
 
16 จำนวนจริง ตอนที่3_ทฤษฎีบทตัวประกอบ
16 จำนวนจริง ตอนที่3_ทฤษฎีบทตัวประกอบ16 จำนวนจริง ตอนที่3_ทฤษฎีบทตัวประกอบ
16 จำนวนจริง ตอนที่3_ทฤษฎีบทตัวประกอบ
 
เลขยกกำลังม.4
เลขยกกำลังม.4เลขยกกำลังม.4
เลขยกกำลังม.4
 
แบบทดสอบก่อนเรียนเลขยกกำลัง
แบบทดสอบก่อนเรียนเลขยกกำลังแบบทดสอบก่อนเรียนเลขยกกำลัง
แบบทดสอบก่อนเรียนเลขยกกำลัง
 
ชุดกิจกรรมการเรียนรู้แบบเพื่อนคู่คิด เล่มที่ 9 การคูณเศษส่วนมากกว่าสองจำนวน
ชุดกิจกรรมการเรียนรู้แบบเพื่อนคู่คิด เล่มที่ 9 การคูณเศษส่วนมากกว่าสองจำนวนชุดกิจกรรมการเรียนรู้แบบเพื่อนคู่คิด เล่มที่ 9 การคูณเศษส่วนมากกว่าสองจำนวน
ชุดกิจกรรมการเรียนรู้แบบเพื่อนคู่คิด เล่มที่ 9 การคูณเศษส่วนมากกว่าสองจำนวน
 
ปริมาตรของพีระมิด กรวย และทรงกลม
ปริมาตรของพีระมิด กรวย และทรงกลมปริมาตรของพีระมิด กรวย และทรงกลม
ปริมาตรของพีระมิด กรวย และทรงกลม
 
06 classification 2 bayesian and instance based classification
06 classification 2 bayesian and instance based classification06 classification 2 bayesian and instance based classification
06 classification 2 bayesian and instance based classification
 
แบบฝึกทักษะเอกนาม
แบบฝึกทักษะเอกนามแบบฝึกทักษะเอกนาม
แบบฝึกทักษะเอกนาม
 
การแยกตัวประกอบพหุนาม
การแยกตัวประกอบพหุนามการแยกตัวประกอบพหุนาม
การแยกตัวประกอบพหุนาม
 
ปริมาตรและพื้นที่ผิว
ปริมาตรและพื้นที่ผิวปริมาตรและพื้นที่ผิว
ปริมาตรและพื้นที่ผิว
 
30 ความสัมพันธ์และฟังก์ชัน ตอนที่1_ความสัมพันธ์
30 ความสัมพันธ์และฟังก์ชัน ตอนที่1_ความสัมพันธ์30 ความสัมพันธ์และฟังก์ชัน ตอนที่1_ความสัมพันธ์
30 ความสัมพันธ์และฟังก์ชัน ตอนที่1_ความสัมพันธ์
 
สไลด์ประกอบการเรียนการสอน เรื่องเซต (Sets) ม.4
สไลด์ประกอบการเรียนการสอน เรื่องเซต (Sets) ม.4สไลด์ประกอบการเรียนการสอน เรื่องเซต (Sets) ม.4
สไลด์ประกอบการเรียนการสอน เรื่องเซต (Sets) ม.4
 
77 สถิติและการวิเคราะห์ข้อมูล ตอนที่4_แนวโน้มเข้าสู่ส่วนกลาง3
77 สถิติและการวิเคราะห์ข้อมูล ตอนที่4_แนวโน้มเข้าสู่ส่วนกลาง377 สถิติและการวิเคราะห์ข้อมูล ตอนที่4_แนวโน้มเข้าสู่ส่วนกลาง3
77 สถิติและการวิเคราะห์ข้อมูล ตอนที่4_แนวโน้มเข้าสู่ส่วนกลาง3
 
แบบฝึกชุด 1 วิชาคณิตศาสตร์เพิ่มเติม ค31202 ภาคเรียนที่2 ปี2556
แบบฝึกชุด 1 วิชาคณิตศาสตร์เพิ่มเติม ค31202 ภาคเรียนที่2 ปี2556แบบฝึกชุด 1 วิชาคณิตศาสตร์เพิ่มเติม ค31202 ภาคเรียนที่2 ปี2556
แบบฝึกชุด 1 วิชาคณิตศาสตร์เพิ่มเติม ค31202 ภาคเรียนที่2 ปี2556
 
แผนการจัดการเรียนรู้วิชาการติดตั้งไฟฟ้าในอาคาร.Docx
แผนการจัดการเรียนรู้วิชาการติดตั้งไฟฟ้าในอาคาร.Docxแผนการจัดการเรียนรู้วิชาการติดตั้งไฟฟ้าในอาคาร.Docx
แผนการจัดการเรียนรู้วิชาการติดตั้งไฟฟ้าในอาคาร.Docx
 
แนวข้อสอบใช้สอบท้องถิ่นหรือ ก.พ. และหน่วยงานต่างๆ (เล่มที่ 1/ 3)
แนวข้อสอบใช้สอบท้องถิ่นหรือ ก.พ. และหน่วยงานต่างๆ (เล่มที่ 1/ 3)แนวข้อสอบใช้สอบท้องถิ่นหรือ ก.พ. และหน่วยงานต่างๆ (เล่มที่ 1/ 3)
แนวข้อสอบใช้สอบท้องถิ่นหรือ ก.พ. และหน่วยงานต่างๆ (เล่มที่ 1/ 3)
 
คณิตศาสตร์ ม.3 เรื่องปริมาตรและพื้นที่ผิว
คณิตศาสตร์ ม.3 เรื่องปริมาตรและพื้นที่ผิวคณิตศาสตร์ ม.3 เรื่องปริมาตรและพื้นที่ผิว
คณิตศาสตร์ ม.3 เรื่องปริมาตรและพื้นที่ผิว
 

Viewers also liked

Viewers also liked (18)

Tree
TreeTree
Tree
 
ประมวลการสอน
ประมวลการสอนประมวลการสอน
ประมวลการสอน
 
SET
SETSET
SET
 
Relations
RelationsRelations
Relations
 
ระบบเลขฐาน
ระบบเลขฐานระบบเลขฐาน
ระบบเลขฐาน
 
Logic
LogicLogic
Logic
 
Graphs
GraphsGraphs
Graphs
 
โครงสร้างข้อมูลแบบต้นไม้
โครงสร้างข้อมูลแบบต้นไม้โครงสร้างข้อมูลแบบต้นไม้
โครงสร้างข้อมูลแบบต้นไม้
 
Function
FunctionFunction
Function
 
ความรู้เบื้องต้นเกี่ยวกับระเบียบวิธีทางสถิติ
ความรู้เบื้องต้นเกี่ยวกับระเบียบวิธีทางสถิติความรู้เบื้องต้นเกี่ยวกับระเบียบวิธีทางสถิติ
ความรู้เบื้องต้นเกี่ยวกับระเบียบวิธีทางสถิติ
 
ความน่าจะเป็น
ความน่าจะเป็นความน่าจะเป็น
ความน่าจะเป็น
 
Tree
TreeTree
Tree
 
4.อินทิกรัลไม่ตรงแบบ
4.อินทิกรัลไม่ตรงแบบ4.อินทิกรัลไม่ตรงแบบ
4.อินทิกรัลไม่ตรงแบบ
 
9 spss
9 spss9 spss
9 spss
 
โครงสร้างข้อมูลแบบลิงค์ลิสต์ (linklist)
โครงสร้างข้อมูลแบบลิงค์ลิสต์ (linklist)โครงสร้างข้อมูลแบบลิงค์ลิสต์ (linklist)
โครงสร้างข้อมูลแบบลิงค์ลิสต์ (linklist)
 
cluster analysis
cluster analysis cluster analysis
cluster analysis
 
Tree.two
Tree.twoTree.two
Tree.two
 
Tree
TreeTree
Tree
 

Trees

  • 3. 3 Outline • Terminology: • Tree application: – Binary search tree(BST) • Tree spanning: – Minimum spanning tree by Prim’s algorithm • Traversal: – Pre-order, In-order and Post-order
  • 4. 4 คำาศัพท์เกี่ยวข้อง (Terminologies) • โครงสร้างของทรี (structural) – ราก(root), ใบ(leaf) , โหนดภายใน(internal node), กิ่ง(branch), ต้นไม้ย่อย(subtree), • ความสัมพันธ์(Relationship) – พ่อไม้:parent( predecessor ), ลูก:child( successor ), พี่ น้อง:sibling • ชนิดของทรี(Types) – n-ary tree, binary tree • คุณสมบัติ(Properties) – ระดับ(level) และความสูง(height)ของทรี
  • 5. 5 ทรี(Trees) • ทรี กล่าวได้ว่าเป็น กราฟเชื่อมโยงแบบไม่ระบุ ทิศทาง (connected undirected graph) ซึ่งจะต้องไม่มี วงจรเกิดขึ้น (circuit) • ทรีหลายทรีอยู่ที่เดียวกันเรียกว่า ป่า(forest) • โครงสร้างของ ทรีประกอบไปด้วย เซตของ โหนด(เทียบแล้วคือจุด บนกราฟ) กับเซตของเส้น เชื่อมโยงระหว่างโหนด(เทียบแล้วคือ เส้น บน กราฟ) • มีการกำาหนดโหนดพิเศษที่เกิดเป็นโหนดแรกบนทรี ถูก เรียกว่าโหนดราก (root node)
  • 6. 6 A B DC E F G H I J K L M โครงสร้างและองค์ประกอบของ ทรี Tree A B DC E F G H I J K L M Graph ทรี ต่างกับกราฟ อย่างไร ?
  • 7. 7 ตัวอย่างทรี และ ป่า (Tree and Forest Examples) • A Tree: • A Forest: Leaves in green, internal nodes in brown.
  • 8. 8 โครงสร้างและองค์ประกอบของ ทรี T1 T2 T3 Forest F ={T1, T2, T3} F ฐานข้อมูล นักศึกษา CS ฐานข้อมูล นักศึกษา CPE ฐานข้อมูล นักศึกษา ICT
  • 9. 9 A B DC E F G H I J K L M root sibling Height 1 2 3 4 leaf Leaf of T = {E,J,K,G,H,L,M} T: A เป็น โหนดพ่อแม่ ของ B,Cและ D โครงสร้างและองค์ประกอบของ ทรี B, C, D เป็น โหนดพี่น้อง ที่มี โหนด A เป็นโหนด พ่อแม่
  • 10. 10 ต้นไม้ย่อย หรือ สับทรี (subtree) A B DC E F G H I J K L M A B DC E F G H I J K L M T: ต้นไม้ T ประกอบด้วย ต้นไม้ย่อย T1, T2, T3 • ต้นไม้ย่อย T1 มีโหนด B เป็น root • ต้นไม้ย่อย T2 มีโหนด C เป็น root • ต้นไม้ย่อย T3 มีโหนด D เป็น root T1 T2 T3
  • 11. 11 n-ary trees • แต่ละโหนดบนทรี(ยกเว้นโหนดใบ) จะมีจำำนวน โหนดลูกไม่เกิน n โหนด • ถ้ำ n ของ n-ary tree มีค่ำ n= 2 จะเรียน 2-ary tree ซึ่งหมำยถึง ไบนำรีทรี (binary tree)
  • 12. 12 B A DC E F G H H I T1 4-ary tree K A B C D E F G binary tree T2 n-ary tree & binary tree level-0 level-1 level-2 height 1 2 3
  • 13. ไบนำรีทรี (ต้นไม้ทวิภำค) A B C D E F G Binary tree T N = 2h -1 เมื่อ N แทนจำำนวนโหนด ทั้งหมดของ ไบนำรีทรี ที่มีควำมสูง h เช่น ไบนำรีทรีที่มีควำมสูง เท่ำกับ 3 จะมีจำำนวนโหนด มำกที่สุดบนไบนำรีทรีเท่ำกับ
  • 14. 14 กำรประยุกต์ใช้ทรี กับกำร ค้นหำ (Binary Search Tree :BST) T จะเป็น BST ถ้ำ (1) T ต้องเป็น ไบนำรีทรี (2) และทุกโหนดในต้นไม้ย่อยทำงซ้ำย มีค่ำน้อยกว่ำทุกโหนดที่เป็นโหนดรำก ของต้นไม้ย่อยและทุกโหนดใน ต้นไม้ย่อยทำงขวำ 7 3 12 1 5 9 15 0 2 8 11 T:
  • 15. 15 Recursive Binary Tree Insert procedure insert(T: binary tree, x: item) v := root[T] if v = null then begin root[T] := x; return “Done” end else if v = x return “Already present” else if x < v then return insert(leftSubtree[T], x) else {must be x > v} return insert(rightSubtree[T], x)
  • 16. • ตัวอย่ำง เมื่อกำำหนดข้องมูล(ที่นำำไปสร้ำง BST)โดยมีลำำดับกำรเข้ำข้อมูลของต้นไม้ BST ดังนี้ {7,3,12,1,5, 9,15,0,2,8,11 } กำรสร้ำง BST 7 3 12 1 5 7 7 3 7 3 12 7 3 12 1 นักศึกษำสร้ำงต่อให้เสร็จ ?
  • 17. 17 กำรสร้ำง BST 7 3 12 1 5 9 15 7 3 12 1 5 {7,3,12,1,5,9,15,0,2,8,11 } 7 3 12 1 5 9
  • 18. 18 กำรสร้ำง BST {7,3,12,1,5,9,15,0,2,8,11 } 7 3 12 1 5 9 15 0 7 3 12 1 5 9 15 0 2 7 3 12 1 5 9 15 20 8 7 3 12 1 5 9 15 20 8 11
  • 19. 19 A B C D E F G G: 2 3 4 5 1 2 3 1 62 Minimum Spanning Tree (MST) by Prim’s Algorithm • MST เป็นการการเยี่ยมเดินไป ให้ทั่วบนกราฟอย่างไม่ซำ้ากัน โดยมีค่าผลรวมของ weight(ค่า กำากับเส้นทาง) ที่น้อยที่สุด • Prim’s algorithm ใช้หลักการ – (1) พิจารณาโหนดในกราฟที่มี ค่ากำากับเส้นทางที่น้อยที่สุด ณ ขณะนั้นเข้าไปเป็นโหนดในทรี โดยที่โหนดนั้นจะต้องไม่ทำาให้ เกิดวงจรบนทรี
  • 20. 20 A B C D E F G G: 2 3 4 5 1 2 3 1 62 Minimum Spanning Tree (MST) by Prim’s Algorithm สมมุติว่าเลือกโหนด D เป็นโหนดเริ่มต้น ของการทำา MST D 5 1 3 2 1 D F
  • 21. 21 A B C D E F G G: 2 3 4 5 1 2 3 1 62 Minimum Spanning Tree (MST) by Prim’s Algorithm สมมุติว่าเลือกโหนด D เป็นโหนดเริ่มต้น ของการทำา MST D 5 3 2 1 D F 4 1F 1 G
  • 22. 22 A B C D E F G G: 2 3 4 5 1 2 3 1 62 Minimum Spanning Tree (MST) by Prim’s Algorithm สมมุติว่าเลือกโหนด D เป็นโหนดเริ่มต้น ของการทำา MST D 5 3 1 D F 4 F 1 G G 6 3 E
  • 23. 23 A B C D E F G G: 2 3 4 5 1 2 3 1 62 Minimum Spanning Tree (MST) by Prim’s Algorithm สมมุติว่าเลือกโหนด D เป็นโหนดเริ่มต้น ของการทำา MST D 5 1 D F 4 F 1 G G 6 3 E 2 E B 2
  • 24. 24 A B C D E F G G: 2 3 4 5 1 2 3 1 62 Minimum Spanning Tree (MST) by Prim’s Algorithm สมมุติว่าเลือกโหนด D เป็นโหนดเริ่มต้น ของการทำา MST D 5 1 D F 4 F 1 G G 6 3 EE B 2 B 3 3A
  • 25. 25 A B C D E F G G: 2 3 4 5 1 2 3 1 62 Minimum Spanning Tree (MST) by Prim’s Algorithm สมมุติว่าเลือกโหนด D เป็นโหนดเริ่มต้น ของการทำา MST D 1 D F 4 F 1 G G 6 3 EE B 2 B 3AA 2 2 C
  • 26. 26 A B C D E F G G: 2 3 4 5 1 2 3 1 62 Minimum Spanning Tree (MST) by Prim’s Algorithm D F E 1 3 G 1 B 2 A 3 T: ค่าผลรวมของค่ากำากับเส้นทางน้อยที่สุด = 1+1+3+2+3+2 1 D F 1 G 3 E B 2 3A 2 C C 2
  • 27. • Tree traversal หมายถึงการเดิมเยี่ยมโหนดทุกโหนดบนทรี ให้ ทั่ว อย่างไม่ซำ้ากัน • สามารถทำาได้ 3 วิธี คือ : NLR(Pre-order), LNR(In-order) และ LRN(Post-order) • โดยพิจารณาโครงสร้างของทรี ดังนี้ 27 Tree Traversal (การเดินท่องไปให้ทั่วบนทรี) R N L N:แทนโหนดรากของทรี หรือ สับทรี (subtree)L:แทนโหนดลูกทางซ้ายของทรี หรือ สับทรี R:แทนโหนดลูกทางขวาของทรี หรือ สับทรี
  • 28. 28 Tree Traversal: NLR (Pre-order) 1 2 3 4 5 6 7 T: 8 9 NLR: ให้เดิน root ของ แต่ subtree ก่อนแล้วจึง เดิน left subtree แล้วตามด้วย right subtreeผลลัพธ์การเดิน: 1,2,4,5,8,9,3,6,7
  • 29. 29 Tree Traversal: LNR(In-order) 1 2 3 4 5 6 7 T: 8 9 LNR: ให้เดิน left subtree ก่อนแล้วจึงเดิน กลับไปที่ rootของ subtree แล้ว ตามด้วย right subtree ผลลัพธ์การเดิน: 4,2,8,5,9,1,6,3,7
  • 30. 30 Tree Traversal: LRN(Post-order) 1 2 3 4 5 6 7 T: 8 9 LRN: ให้เดิน left subtree ก่อนแล้วจึงเดิน right subtree แล้วตาม ด้วย root ของ subtree ผลลัพธ์การเดิน: 4,8,9,5,2,6,7,3,1
  • 31. 31 1.กำาหนดทรีทั่วไปมาหนึ่งต้น ให้แสดงการทำา tree traversalทั้งสามแบบ (NLR, LNR และ LRN) 2.กำาหนดชุดข้อมูลให้จำานวนหนึ่ง ให้แสดงการนำา ชุดข้อมูลนี้ไปสร้าง BST (20 นาที) Quiz -VI
  • 32. (1) กำาหนดกราฟ Gให้ดังรูป จงใช้ prim’s algorithm เพื่อหาผล รวมของค่ากำากับเส้นทางที่น้อยที่สุดของต้นไม้กระจายทั่ว ถึง(spanning tree) 32 คำาถามท้ายบท A B C D E F G G: 2 3 5 4 1 2 3 3 69 2
  • 33. (2) เมื่อกำาหนดทรี Tให้ดังรูป จงหาผลลัพธ์การเดินเยี่ยมให้ทั่วบน ทรี(tree traversal) ในแบบ NLR, LNR และ LRN 33 คำาถามท้ายบท 1 2 3 4 5 6 7 T: 8 9 10 11
  • 34. (3) เมื่อกำาหนดทรี Tให้ดังรูป จงหาผลลัพธ์ของคำาถามต่อไปนี้ 34 คำาถามท้ายบท 1 2 3 4 5 6 7 T: 8 9 10 11 3.1 ถ้าให้ T เป็นไบนารีทรี ทรีต้นนี้ มีความสูงเท่าใด 3.2 ทรี T จะมีจำานวนโหนดมาก ที่สุดเท่าใด ถ้าความสูงของทรี T มี ค่าเป็น 7
  • 35. (4) จงใช้ข้อมูลที่กำาหนดให้ต่อไปนี้ นำาไปสร้าง BST: T2 ข้อมูล = {25,30,73,12,9,84,49,11,98,77,33,130} 35 คำาถามท้ายบท (5) จาก BST ในข้อ 4 ถ้าต้องการทราบว่ามีข้อมูล 53 อยู่ใน T2 หรือไม่ จะต้องทำาการเปรียบเทียบทั้งหมดกี่ครั้งถึงจะทราบคำา ตอบ (6) จาก BST ในข้อ 4 จะสามารถสร้างทรีที่มีความสูงน้อยที่สุด ด้วยค่าความสูงเท่าใด
  • 36. Final Exam 1/53 • 1.(10) ตรวจสอบสมบัติความสัมพันธ์ • 2.(10) การแทนกราฟ • 3.(10) isomorphic • 4.(10) graph connectivity • 5.(15) Dijkstra’s algorithm • 6.(10) Prim’s algorithm • 7.(5) วงจรตรรกเชิงผสม • 8.(10) วงจรตรรกเชิงผสม 36