การวิเคราะห์และออกแบบขั้นตอนวิธี

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Another one of Data Structure
Advertisements

Texture การประมวลผลภาพแบบดิจิตอล Ian Thomas
จำนวน สถานะ NUMBER OF STATES. ประเด็นที่ สนใจ The number of distinct states the finite state machine needs in order to recognize a language is related.
L/O/G/O. •PariyapornPisutsinNo.3 •PitchayaPattamapornpongNo.6 •AtthitayaThipsukhumNo.8 Class 4/4 Mahidol Wittayanusorn School •PariyapornPisutsinNo.3.
ตัวเก็บประจุและความจุไฟฟ้า
Stack.
ออโตมาตาจำกัด FINITE AUTOMATA
Asst.Prof. Dr.Surasak Mungsing
Asst.Prof. Dr.Surasak Mungsing
ให้ประหยัดการใช้หน่วยความจำ (space) ด้วยความรวดเร็ว (time)
วิทยาการคอมพิวเตอร์ 1 เรื่องคัดเฉพาะทาง
Algorithm Efficiency There are often many approaches (algorithms) to solve a problem. How do we choose between them? At the heart of computer program.
STACK ADT By Pantharee S.. Stack Model  A list with the restriction that insertions deletions can be performed in only one position (LIFO)  Push – insert.
List ADTs By Pantharee S..
การสร้าง WebPage ด้วย Java Script Wachirawut Thamviset.
Chapter 3 Simple Supervised learning
Chapter 1/1 Arrays. Introduction Data structures are classified as either linear or nonlinear Linear structures: elements form a sequence or a linear.
วิชา COSC2202 โครงสร้างข้อมูล (Data Structure)
Shortest-Path Algorithms
 How do we improve the test?  Why do we have to improve the test?
Week 12: Chapter 27: Internet Routing Part I:
Starting fire with water การทำให้เกิดไฟด้วยน้ำ Or how I nearly burnt my car down หรือ ฉันทำให้รถเกือบจะลุกไหม้ได้อย่างไร.
ครูรุจิรา ทับศรีนวล “Room service”. “Room service”
ครูวิชาการสาขาเคมี โรงเรียนมหิดลวิทยานุสรณ์
กลุ่ม rraid. What's your name. คุณชื่ออะไร = Miss Bangon Buntanoom How old are you. - คุณอายุเท่าไหร่ = Ages 36 Years What you have finished your course.
ภาษาอังกฤษ ชั้นมัธยมศึกษาปึที่ 4 Grammar & Reading ครูรุจิรา ทับศรีนวล.
Database & DBMS Architecture วรวิทย์ พูลสวัสดิ์. 2 2 ฐานข้อมูล (Database) - Data and its relation - Databases are designed to offer an organized mechanism.
Life is beautiful with People like you in it
หน่วยที่ 6 กราฟ (Graphs)
Silberschatz, Galvin and Gagne ©2010 Operating System Concepts – 8 th Edition, Chapter 7: Deadlocks Dr. Varin Chouvatut.
PHP. Date and Time date(format,timestamp)
Trees Hierarchical Structures. Outlines Definition of trees Modeling by trees Properties of trees Applications – Binary search trees – Prefix codes –
CHAPTER 01 Game Programming 1.
Allocatable Array. Modules A packaging method for data and subprograms. Syntax of the form: A packaging method for data and subprograms. Syntax of the.
Eigenvalue & Eigenvector. 1. Get to know: Eigenvalue & Eigenvector 2. Estimation of Eigenvalue & Eigenvector 3. Theorem.
1 exit() and break C++ provides a way to leave a program early (before its natural finish) with the exit() function. The format of exit() is as follows:
Collections. Data structures Data Structures ( โครงสร้างข้อมูล ) เกิดจากการ นำข้อมูลขั้นพื้นฐานที่แบ่งแยกไม่ได้ (atomic data type) เช่น int, char, double.
Page : Stability and Statdy-State Error Chapter 3 Design of Discrete-Time control systems Stability and Steady-State Error.
Chapter 8: Single-Area OSPF
บทที่ 12 กราฟ (Graph).
อาจารย์อภิพงศ์ ปิงยศ บทที่ 8 : TCP/IP และอินเทอร์เน็ต Part3 สธ313 การสื่อสารข้อมูลและเครือข่ายคอมพิวเตอร์ทางธุรกิจ อาจารย์อภิพงศ์
อาจารย์อภิพงศ์ ปิงยศ บทที่ 7 : TCP/IP และอินเทอร์เน็ต Part3 สธ313 การสื่อสารข้อมูลและเครือข่ายคอมพิวเตอร์ทางธุรกิจ อาจารย์อภิพงศ์
Toward National Health Information System
Data Structure & Algorithm Concept
Graph Lecturer : Kritawan Siriboon, Boontee Kruatrachue Room no. 913
การวิเคราะห์และออกแบบขั้นตอนวิธี
การแสดงขั้นตอนวิธีด้วยรหัสเทียม (Pseudo-Code)
Graph Lecturer : Kritawan Siriboon, Boontee Kruatrachue Room no. 913
Trees (2) University of Phayao Sanchai Yeewiyom
Graph Lecturer : Kritawan Siriboon, Boontee Kruatrachue Room no. 913
Graph Lecturer : Kritawan Siriboon, Boontee Kruatrachue Room no. 913
Dr.Surasak Mungsing CSE 221/ICT221 การวิเคราะห์และออกแบบขั้นตอนวิธี Lecture 13: การคำนวณได้และการตัดสินใจของปัญหา ที่ยากต่อการแก้ไข.
DEADLOCKS Advanced Operating System Operating System Technology
ยุคแรก ยุคแรก Motorola DynaTAC 8000X (1983)
การออกแบบระบบ System Design.
Asst.Prof. Dr.Surasak Mungsing
Rewrite by Burin Rujjanapan Updated:
Dr.Surasak Mungsing CSE 221/ICT221 การวิเคราะห์และออกแบบขั้นตอนวิธี Lecture 04: การวิเคราะห์หาความซับซ้อนด้านเวลา ในรูป.
1 E 1 S E M N G Reading & Writing
Dr.Surasak Mungsing CSE 221/ICT221 การวิเคราะห์และออกแบบขั้นตอนวิธี Lecture 11: เทคนิคการออกแบบขั้นตอนวิธีตอนวิธี Greedy,
ที่มาและหน่วยงานกาชาดต่างๆ
บทที่7 ทฤษฎีกราฟเบื้องต้น
Dr.Surasak Mungsing CSE 221/ICT221 การวิเคราะห์และออกแบบขั้นตอนวิธี Lecture 05: การวิเคราะห์ความซับซ้อนของ ขั้นตอนวิธีการเรียงลำดับข้อมูล.
Data Structures and Algorithms 2/2561
ตอนที่ 4: เคลื่อนไปกับของประทานของท่าน Part 4: Flowing In Your Gift
การวิเคราะห์และออกแบบขั้นตอนวิธี
9. GRAPH ALGORITHMS.
4.7. B-Trees โครงสร้าง tree ที่กล่าวถึงมาแล้วนั้น อยู่บนสมมติฐานที่ว่าโครงสร้างทั้งหมดสามารถจัดเก็บอยู่ในหน่วยความจำของเครื่องคอมพิวเตอร์ได้ ถ้า จำนวนข้อมูลมีปริมาณมากเกินกว่าที่จะเก็บไว้ใน.
Dr.Surasak Mungsing CSE 221/ICT221 การวิเคราะห์และออกแบบขั้นตอนวิธี Lecture 12: เทคนิคการออกแบบขั้นตอนวิธีตอนวิธี Dynamic.
Color Standards A pixel color is represented as a point in 3-D space. Axis may be labeled as independent colors such as R, G, B or may use other independent.
ใบสำเนางานนำเสนอ:

การวิเคราะห์และออกแบบขั้นตอนวิธี CSE 221 การวิเคราะห์และออกแบบขั้นตอนวิธี Lecture 09: การประยุกต์ใช้กราฟกับปัญหา Shortest Path อาจารย์ผู้สอน: ดร. สุรศักดิ์ มังสิงห์ E-mail: mungsing@spu.ac.th URL: http://www.spu.ac.th/~mungsing Office Hour: 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี Sparse Graphs In a sparse graph the number of edges is significantly less than |V| squared. 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

Dense Graphs In a dense graph most of the vertices are connected by edges. 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

Adjacency List Representation In order to run algorithms on graphs we can use one of two representations of them. The first is an adjacency list. Here each vertex has an entry in an array that contains a linked list to the adjacent vertices. 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

Adjacency-Matrix Representation Another method of storing the information about the graph is called an adjacency-matrix. Here a V by V matrix is formed with entries 0 or 1. 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี Directed Graphs A directed graph the edge (u,v) is distinct from the edge (v,u). Here is an example: 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

Matrix Representation 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี Weighted Graphs A weighted graph has a real value associated with each edge as in this graph: 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

Matrix Representation 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

Single Source Shortest Path กำหนด (un)weighted, directed graph G = {V, E} มาให้ซึ่งแต่ละ edge มีค่า cost (หรือ weight) เป็นจำนวนบวก Problem: จงหาค่ารวมของ cost ของเส้นทางทีสั้นที่สุดจาก vertex ต้นทางไปยัง vertex ปลายทางอื่นๆ ความยาวของเส้นทางคือคารวมของ cost ของedge ต่างๆบนเส้นทางนั้น ทำไมไม่กำหนดเส้นทางใดเส้นทางหนึ่งไปยังจุดหมายปลายทาง? Application: G คือแผนที่เส้นทางบินของสายการบินซึ่งจะต้องหาเส้นทางบินจากเมืองที่กำหนดให้ไปยังอีกเมืองอื่นๆโดยใช้เวลาเดินทางน้อยที่สุด 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี Dijkstra’s Algorithm รักษา set S ของ vertices ซึ่งรู้ค่าของเส้นทางที่สั้นทีสุดจากต้นทางแล้ว ตอนเริ่มต้น S มีเพียง vertex ต้นทาง เท่านั้น ในแต่ละ step, เราเพิ่ม vertex w ที่เหลือซึ่งมีเส้นทางจาก vertex ต้นทางสั้นทีสุดเข้าไปใน S สมมติว่าทุก edge มี cost เป็นบวก เราสามารถหาเส้นทางที่สั้นที่สุดจากต้นทางไปยัง vertex อื่นโดยผ่านเส้นทางใน S (special path) เท่านั้นได้เสมอ ในทุกๆ step เราใช้ array บันทึกค่าระยะทางที่สั้นที่สุดของ special path ไปยังแต่ละ vertex เสร็จสิ้นการคำนวณเมื่อใน S ครอบคลุมทุก vertex (all paths are special) 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี Algorithm Directed graph G={V, E} V={1, 2, …, n}, Vertex 1 is the source Cost-adjacency matrix A[0:n][0:n] Array D[1:n]; at each step D[i] contains the length of the current shortest special path to vertex i Initially D[i] = A[s][i] Array P[1:n] of vertices, such that P[v] contains the vertex immediately before v in the shortest path Initially P[v]=1, v1 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี Explanations How do we compute D[v]? At each step: D[v] := min(D[v], D[w]+A[w][v]) How do we update P? After computing D[v], if D[w]+A[w][v]< D[v] then P[v] :=w 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี Dijkstra: Example G 1 10 100 30 2 5 10 50 60 3 4 20 Shortest path from 1 to 5? In reverse direction: 53 4 1 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี An Example inf inf a 7 d 5 2 2 inf 4 5 b f 1 s 3 inf 1 7 4 e c 4 inf inf 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี inf a 7 d 5 2 2 5 4 5 b f 1 s 3 inf 1 7 4 e c 4 inf 4 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี 9 a 7 d 2 5 2 4 4 5 b f 1 s 3 inf 1 7 4 e c 4 inf 4 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี 8 a 7 d 2 5 2 4 4 5 b f 1 s 3 inf 1 7 4 e c 4 7 4 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี 8 a 7 d 2 5 2 4 4 5 b f 1 s 3 inf 1 7 4 e c 4 7 4 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี 8 a 7 d 2 5 2 4 4 5 b f 1 s 3 14 1 7 4 e c 4 7 4 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี 8 a 7 d 2 5 2 4 4 5 b f 1 s 3 13 1 7 4 e c 4 7 4 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี 8 a 7 d 2 5 2 4 4 5 b f 1 s 3 13 1 7 4 e c 4 7 4 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี Shortest Path Tree The unique simple path from s to v in the tree is a shortest path from s to v. 2 8 a d 2 5 2 4 4 b f s 3 13 4 e c 7 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี 4

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี for each v ÎV, k [v ] ¬ infinity; n[v] ¬ (v,v); k[ source ] ¬ 0; Build a heap for all values in the array k. S¬ {}, T ¬ {}. Repeat Find the vertex v with minimum value in heap using extract_min. Insert v into S. Insert n[v] into T For each u such that (v,u)Î E, if k[v] plus the weight of (v,u) is less than k[u], then reduce k[u] to k[v] + weight_of ( (v,u) ), and n[u] ¬ (v , u). end of for-loop Until | B | == | V |. 4 23 ∞ 23 3 6 14 s 1 1 8 ∞ 10 9 13 2 ∞ 2 5 ∞ 12 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี for each v ÎV, k [v ] ¬ infinity; n[v] ¬ (v,v); k[ source ] ¬ 0; Build a heap for all values in the array k. S¬ {}, T ¬ {}. Repeat Find the vertex v with minimum value in heap using extract_min. Insert v into S. Insert n[v] into T For each u such that (v,u)Î E, if k[v] plus the weight of (v,u) is less than k[u], then reduce k[u] to k[v] + weight_of ( (v,u) ), and n[u] ¬ (v , u). end of for-loop Until | B | == | V |. 4 23 ∞ 23 3 6 14 s 1 1 8 ∞ 10 9 13 2 ∞ 2 5 ∞ 12 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี for each v ÎV, k [v ] ¬ infinity; n[v] ¬ (v,v); k[ source ] ¬ 0; Build a heap for all values in the array k. S¬ {}, T ¬ {}. Repeat Find the vertex v with minimum value in heap using extract_min. Insert v into S. Insert n[v] into T For each u such that (v,u)Î E, if k[v] plus the weight of (v,u) is less than k[u], then reduce k[u] to k[v] + weight_of ( (v,u) ), and n[u] ¬ (v , u). end of for-loop Until | B | == | V |. 4 23 ∞ 23 3 6 14 s 1 1 8 9 10 9 13 2 ∞ 2 5 14 12 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี for each v ÎV, k [v ] ¬ infinity; n[v] ¬ (v,v); k[ source ] ¬ 0; Build a heap for all values in the array k. S¬ {}, T ¬ {}. Repeat Find the vertex v with minimum value in heap using extract_min. Insert v into S. Insert n[v] into T For each u such that (v,u)Î E, if k[v] plus the weight of (v,u) is less than k[u], then reduce k[u] to k[v] + weight_of ( (v,u) ), and n[u] ¬ (v , u). end of for-loop Until | B | == | V |. 4 23 ∞ 23 3 6 14 s 1 1 8 9 10 9 13 2 ∞ 2 5 14 12 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี for each v ÎV, k [v ] ¬ infinity; n[v] ¬ (v,v); k[ source ] ¬ 0; Build a heap for all values in the array k. S¬ {}, T ¬ {}. Repeat Find the vertex v with minimum value in heap using extract_min. Insert v into S. Insert n[v] into T For each u such that (v,u)Î E, if k[v] plus the weight of (v,u) is less than k[u], then reduce k[u] to k[v] + weight_of ( (v,u) ), and n[u] ¬ (v , u). end of for-loop Until | B | == | V |. 4 23 ∞ 23 3 6 14 s 1 1 8 9 10 9 13 2 ∞ 2 5 7 12 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี for each v ÎV, k [v ] ¬ infinity; n[v] ¬ (v,v); k[ source ] ¬ 0; Build a heap for all values in the array k. S¬ {}, T ¬ {}. Repeat Find the vertex v with minimum value in heap using extract_min. Insert v into S. Insert n[v] into T For each u such that (v,u)Î E, if k[v] plus the weight of (v,u) is less than k[u], then reduce k[u] to k[v] + weight_of ( (v,u) ), and n[u] ¬ (v , u). end of for-loop Until | B | == | V |. 4 23 ∞ 23 3 6 14 s 1 1 8 9 10 9 13 2 ∞ 2 5 7 12 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี for each v ÎV, k [v ] ¬ infinity; n[v] ¬ (v,v); k[ source ] ¬ 0; Build a heap for all values in the array k. S¬ {}, T ¬ {}. Repeat Find the vertex v with minimum value in heap using extract_min. Insert v into S. Insert n[v] into T For each u such that (v,u)Î E, if k[v] plus the weight of (v,u) is less than k[u], then reduce k[u] to k[v] + weight_of ( (v,u) ), and n[u] ¬ (v , u). end of for-loop Until | B | == | V |. 4 23 ∞ 23 3 6 14 s 1 1 8 9 10 9 13 2 ∞ 2 5 7 12 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี for each v ÎV, k [v ] ¬ infinity; n[v] ¬ (v,v); k[ source ] ¬ 0; Build a heap for all values in the array k. S¬ {}, T ¬ {}. Repeat Find the vertex v with minimum value in heap using extract_min. Insert v into S. Insert n[v] into T For each u such that (v,u)Î E, if k[v] plus the weight of (v,u) is less than k[u], then reduce k[u] to k[v] + weight_of ( (v,u) ), and n[u] ¬ (v , u). end of for-loop Until | B | == | V |. 4 23 15 23 3 6 14 s 1 1 8 9 10 9 13 2 18 2 5 7 12 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี for each v ÎV, k [v ] ¬ infinity; n[v] ¬ (v,v); k[ source ] ¬ 0; Build a heap for all values in the array k. S¬ {}, T ¬ {}. Repeat Find the vertex v with minimum value in heap using extract_min. Insert v into S. Insert n[v] into T For each u such that (v,u)Î E, if k[v] plus the weight of (v,u) is less than k[u], then reduce k[u] to k[v] + weight_of ( (v,u) ), and n[u] ¬ (v , u). end of for-loop Until | B | == | V |. 4 23 15 23 3 6 14 s 1 1 8 9 10 9 13 2 18 2 5 7 12 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี for each v ÎV, k [v ] ¬ infinity; n[v] ¬ (v,v); k[ source ] ¬ 0; Build a heap for all values in the array k. S¬ {}, T ¬ {}. Repeat Find the vertex v with minimum value in heap using extract_min. Insert v into S. Insert n[v] into T For each u such that (v,u)Î E, if k[v] plus the weight of (v,u) is less than k[u], then reduce k[u] to k[v] + weight_of ( (v,u) ), and n[u] ¬ (v , u). end of for-loop Until | B | == | V |. 4 23 15 23 3 6 14 s 1 1 8 9 10 9 13 2 18 2 5 7 12 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี for each v ÎV, k [v ] ¬ infinity; n[v] ¬ (v,v); k[ source ] ¬ 0; Build a heap for all values in the array k. S¬ {}, T ¬ {}. Repeat Find the vertex v with minimum value in heap using extract_min. Insert v into S. Insert n[v] into T For each u such that (v,u)Î E, if k[v] plus the weight of (v,u) is less than k[u], then reduce k[u] to k[v] + weight_of ( (v,u) ), and n[u] ¬ (v , u). end of for-loop Until | B | == | V |. 4 23 15 23 3 6 14 s 1 1 8 9 10 9 13 2 18 2 5 7 12 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี for each v ÎV, k [v ] ¬ infinity; n[v] ¬ (v,v); k[ source ] ¬ 0; Build a heap for all values in the array k. S¬ {}, T ¬ {}. Repeat Find the vertex v with minimum value in heap using extract_min. Insert v into S. Insert n[v] into T For each u such that (v,u)Î E, if k[v] plus the weight of (v,u) is less than k[u], then reduce k[u] to k[v] + weight_of ( (v,u) ), and n[u] ¬ (v , u). end of for-loop Until | B | == | V |. 4 21 15 23 3 6 14 s 1 1 8 9 10 9 13 2 18 2 5 7 12 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี for each v ÎV, k [v ] ¬ infinity; n[v] ¬ (v,v); k[ source ] ¬ 0; Build a heap for all values in the array k. S¬ {}, T ¬ {}. Repeat Find the vertex v with minimum value in heap using extract_min. Insert v into S. Insert n[v] into T For each u such that (v,u)Î E, if k[v] plus the weight of (v,u) is less than k[u], then reduce k[u] to k[v] + weight_of ( (v,u) ), and n[u] ¬ (v , u). end of for-loop Until | B | == | V |. 4 21 15 23 3 6 14 s 1 1 8 9 10 9 13 2 18 2 5 7 12 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี Minimum Spanning Tree 1 4 2 5 6 10 3 7 8 v1 v2 v3 v4 v5 v6 v7 Prim’s Algorithm (1) (2) 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี Minimum Spanning Tree 1 4 2 5 6 10 3 7 8 v1 v2 v3 v4 v5 v6 v7 Prim’s Algorithm (3) (4) 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี Minimum Spanning Tree 1 4 2 5 6 10 3 7 8 v1 v2 v3 v4 v5 v6 v7 Prim’s Algorithm (5) 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี 4 2 5 6 10 3 7 8 v1 v2 v3 v4 v5 v6 v7 Prim’s Algorithm (1) (2) (3) (4) (5) (6) 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี Kruskal’s Algorithm 1 4 2 5 6 10 3 7 8 v1 v2 v3 v4 v5 v6 v7 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี

CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี 4 2 5 6 10 3 7 8 v1 v2 v3 v4 v5 v6 v7 Kruskal’s Algorithm (2) (3) (1) (4) (6) (5) 10/19/2019 CSE221 การวิเคราะห์และออกแบบขั้นตอนวิธี