Tree.

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
บทที่ 5 การดำรงชีวิตของพืช
Advertisements

ค คณิตศาสตร์สำหรับ คอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม คุณสมบัติของต้นไม้ และต้นไม้ทวิภาค.
ชื่อผู้สอน : นางฐิติมา พิริยะ
คณิตศาสตร์พื้นฐาน ค ชั้นมัธยมศึกษาปีที่ 3 โดย ครูชำนาญ ยันต์ทอง
โครงสร้างข้อมูล (Data Structures ) รหัสวิชา การเรียงลำดับข้อมูลแบบ (Heap Sort)
รูปร่างของเครือข่ายคอมพิวเตอร์
DATA STRUCTURE AND ALGORITHM Linked List.
เสียงวรรณยุกต์ ลักษณะของเสียงดนตรีหรือเสียงวรรณยุกต์
การใช้งาน Microsoft Excel
ครั้งที่ 7 รีจิสเตอร์ (REGISTER). รีจิสเตอร์ (Register) รีจิสเตอร์เป็นวงจรความจำที่ใช้ในการเก็บค่า ทางไบนารี่ ใช้ในการเก็บค่าในระหว่างการ ประมวลผลโดยใช้ฟลิป.
LOGO ภาษาซี 1.1 อ. กฤติเดช จินดาภัทร์. LOGO ตัวอย่างโค้ดภาษาซี
ของฝากสุรินทร์ : เม็ดบัวอบกรอบมาย, ผ้าไหม , ผักกาด ( Best 3 Souvenirs of Surin)
Project Management by Gantt Chart & PERT Diagram
ง21101 การงานอาชีพและเทคโนโลยี ม. 1 เจตคติต่อการประกอบอาชีพ
ALLPPT.com _ Free PowerPoint Templates, Diagrams and Charts.
Burin Rujjanapan Updated:
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
รายการ(List) [2] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
รายการ(List) [1] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
เครื่องวัดความถี่ไฟฟ้า Frequency Meter
Number system (Review)
องค์ประกอบและเทคนิคการทำงาน
พื้นที่ผิวของพีระมิด
บทที่ 3 การพัฒนาโปรแกรมโดยเขียนคำสั่ง VBA
โครงสร้างข้อมูลและอัลกอริทึมเบื้องต้น
บทที่ 1 สถาปัตยกรรมของระบบฐานข้อมูล (Database Architecture)
Trees (2) University of Phayao Sanchai Yeewiyom
รายการ(List) [3] ผู้สอน อาจารย์ ยืนยง กันทะเนตร
Multistage Cluster Sampling
บทที่ 1 หน่วยผลิตและทางเลือกภายใต้โครงสร้างตลาด
Vernier เวอร์เนียร์ คือเครื่องมือที่ใช้วัดระยะ (distance) หรือ ความยาว (length) ให้ได้ค่าอย่างละเอียด เวอร์เนียร์ต่างจากไม้บรรทัดทั่วๆไป เพราะมี 2 สเกล.
กลุ่มคำและประโยค ภาษาไทย ม. ๓
การศึกษาประเภทเสียงและความหมายของคำในกลุ่มภาษาต่างประเทศ
ชุดที่ 1 ไป เมนูรอง.
หลักการแต่ง คำประพันธ์ประเภท โคลง. หลักการแต่ง คำประพันธ์ประเภท โคลง.
ครั้งที่4-5วิชาวาดเส้นTV การวาดหน้า
กำหนดกรอบระยะเวลาการขึ้นทะเบียนปี2556/57 1. ข้าว
กลุ่มสาระการเรียนรู้วิทยาศาสตร์
การสร้างโมเดลจำลองความสัมพันธ์ ระหว่างข้อมูล E-R Model
วิธีการกำหนดค่า Microsoft SharePoint ของคุณ เว็บไซต์ออนไลน์
บทที่7 ทฤษฎีกราฟเบื้องต้น
โปรตีน กรดอะมิโนหลายโมเลกุล จะยึดเหนี่ยวกันด้วยพันธะเพปไทด์
สร้างภูมิคุ้มกัน (แสงหิ่งห้อย)
วัฏจักรหิน วัฏจักรหิน : วัดวาอาราม หินงามบ้านเรา
การสร้างแบบสอบถาม และ การกำหนดเงื่อนไข.
สาขาวิชาคอมพิวเตอร์ธุรกิจ โดย อาจารย์กิตติพงษ์ ภู่พัฒน์วิบูลย์
Multimedia และระบบความจริงเสมือน Virtual Reality, VR
การสะท้อนของแสงบนกระจกโค้ง
Data Structures and Algorithms 2/2561
สถาปัตยกรรมของฐานข้อมูล
คำชี้แจง เรื่อง การเก็บข้อมูลประวัติหมู่บ้าน ชุมชน วิถีชุมชน
OPERATOR ภาษาปาสคาล (Pascal)
Structure of Flowering Plant
ค่ารูรับแสง - F/Stop ค่ารูรับแสงที่มีค่าตัวเลขต่ำใกล้เคียง 1 มากเท่าไหร่ ค่าของรูรับแสงนั้นก็ยิ่งมีความกว้างมาก เพราะเราเปรียบเทียบค่าความสว่างที่ 1:1.
2 โครงสร้างข้อมูลแบบสแตก (STACK).
บทที่ 2 โครงสร้างข้อมูลแบบแถวลำดับหรืออาร์เรย์ (Array)
กลุ่มส่งเสริมอาชีพการเกษตร
Data Structure and Algorithms
Array: One Dimension Programming I 9.
Singapore ประเทศสิงคโปร์.
การสเก็ตภาพสามมิติ(Three-Dimensional Pictorials )
Polymer พอลิเมอร์ (Polymer) คือ สารประกอบที่มีโมเลกุลขนาดใหญ่ และมีมวลโมเลกุลมากประกอบด้วยหน่วยย่อยที่เรียกว่า มอนอเมอร์มาเชื่อมต่อกันด้วยพันธะโคเวเลนต์
บทที่ 4 การจำลองข้อมูลและกระบวนการ (Data and Process Modeling)
เศษส่วนและทศนิยม.
โครงการถ่ายทอดเทคโนโลยีถนนรีไซเคิลเพื่อลดขยะพลาสติกใน 4 ภูมิภาค
ทายสิอะไรเอ่ย ? กลม เขียวเปรี้ยว เฉลย ทายสิอะไรเอ่ย ? ขาว มันจืด เฉลย.
บทที่ 7 การบัญชีภาษีมูลค่าเพิ่ม
เครื่องขุดหลุมปลูกยาสูบ
พื้นฐานการมองแบบภาพ 2D 3D
ใบสำเนางานนำเสนอ:

Tree

โครงสร้างข้อมูลแบบต้นไม้ โครงสร้างต้นไม้ (tree) เป็นโครงสร้างชนิดไม่เชิงเส้นที่สำคัญที่สุดของโครงสร้างข้อมูล โครงสร้างต้นไม้มีความสัมพันธ์อย่างใกล้ชิดกับธรรมชาติของข่าวสารและวิธีการแปลงข่าวสารมาก โครงสร้างต้นไม้มีลักษณะที่สมชื่อของตนเอง เพราะมีลักษณะคล้ายกิ่งก้านของต้นไม้ ต้นไม้ตามธรรมชาติจะงอกจากล่างไปบน ส่วนโครงสร้างต้นไม้นั้นเราจะวาดจากบนลงมาล่าง ดังรูปจุดที่มีการแตกกิ่งก้านสาขาออกไปจะเรียกว่าโหนด (node) โดยข่าวสารจะเก็บอยู่ที่โหนด กิ่งที่ต่อระหว่างโหนดจะแสดงความสัมพันธ์ระหว่างโหนดเรียกว่าลิงค์ (link)

ดังรูปจุดที่มีการแตกกิ่งก้านสาขาออกไปจะเรียกว่าโหนด (node) โดยข่าวสารจะเก็บอยู่ที่โหนด กิ่งที่ต่อระหว่างโหนดจะแสดงความสัมพันธ์ระหว่างโหนดเรียกว่าลิงค์ (link)

R A B X C D H Y E I F G J ระดับ 1 รูตโหนด กิ่ง (branch) ระดับ 2 ระดับ 3 C D H Y ระดับ 4 E I F G Leaf Nodes ระดับ 5 J

การเรียกชื่อส่วนต่าง ๆ ของต้นไม้ การเรียกชื่อส่วนต่าง ๆ ของต้นไม้ ลักษณะของโครงสร้างต้นไม้มีลักษณะเหมือนการลำดับ บรรพบุรุษ ดังนั้นชื่อที่ใช้จึงได้มาจากการลำดับบรรพบุรุษ เช่น FATHER , SON , GRANDSON ฯลฯ ที่ใช้บ่อยจะเป็นความสัมพันธ์ของพ่อ - ลูก (หรือ FATHER - SON )

ระดับของโหนด (Level) ระดับของโหนดหนึ่ง ๆ แสดงถึงหน่วยระยะทางตามแนวดิ่งของโหนดนั้นว่าอยู่ห่าง จากรูตโหนดเท่าไร ถ้ากำหนดว่ารูตโหนดของต้นไม้นั้นอยู่ที่ระดับ 1 และกิ่งทุกกิ่งมีความยาวเท่ากันหมดคือยาว 1 หน่วย เลขระดับของโหนดใด ๆ คือจำนวนกิ่งที่น้อยที่สุดจากรูตโหนดบวกหนึ่ง เช่น F มีเลขระดับเป็น 4 เป็นต้น

ดีกรีของโหนด (Level Degree) ดีกรีของโหนด (Level Degree) ดีกรีของโหนดคือจำนวนต้นไม้ย่อยของโหนดนั้น ตามรูปที่ 3 โหนด X มีดีกรี 1 โหนด A มีดีกรี 2 ส่วนโหนด H มีดีกรี 3 โหนด B มีดีกรี 1 และโหนด E มีดีกรี 0 เป็นต้น โหนดที่เป็นใบ (Leaf Node หรือ Terminal Node) โหนดที่เป็นใบหมายถึงที่มีดีกรีเป็น 0 เช่นโหนด C,D,E,J,F,G ส่วนโหนดที่มีดีกรีไม่เท่ากับ 0 เรียกว่า โหนดภายใน หรือ interior node หรือ branch node

Predecessor และ Successor ( หรือ Ancester และ Descendant) predecessor Predecessor และ Successor ( หรือ Ancester และ Descendant) predecessor หมายถึงผู้มาก่อน successor หมายถึงผู้มาทีหลัง R,B,H จะเป็น predecessor ของโหนด E,I,F,J,E,F ไม่มี successor ส่วนโหนด J เป็น successor ของโหนด I และสรุปได้ว่าโหนด I จะเป็น predecessor ของโหนด J (หรือ J เป็น successor ของโหนด I ) ถ้าโหนด I และโหนด J มีกิ่ง (หนึ่งกิ่งหรือมากกว่า ) เชื่อมถึงกันและโหนด I มีเลขหมายระดับน้อยกว่า โหนด J

Immediate Successor หรือ SON Immediate Successor หรือ SON คือโหนดทั้งหลายของต้นไม้ย่อย i ที่มีค่าระดับต่ำกว่าโหนด i อยู่หนึ่ง เช่น SON ของโหนด H คือโหนด E,I,F Immediate Predecessor หรือ FATHER คือโหนดที่มีค่าระดับสูงกว่าโหนด iอยู่หนึ่ง เช่น FATHER ของโหนด J คือ โหนด I , FATHER ของโหนด I คือโหนด H เป็นต้น

ป่า (Forest) ป่าหมายถึงกลุ่มของต้นไม้ที่เกิดจากการเอารูตโหนดของต้นไม้ต้นหนึ่งทิ้งไปตามรูปที่ 3 ถ้าลบรูตโหนด R ออกจะได้ต้นไม้ 3 ต้นประกอบขึ้นเป็น ป่าป่าที่ประกอบด้วยต้นไม้ A,B,X

ต้นไม้แบบไบนารี (Binary Tree) นิยาม ประกอบด้วยรูตโหนดและต้นไม้ไบนารี 2 กลุ่มที่ไม่มีโหนดร่วมกัน แต่ละกลุ่มจะมีชื่อเรียก (โดยตำแหน่งที่อยู่หรือที่เขียน) ว่าต้นไม้ย่อยทางซ้าย (left subtree) และต้นไม้ย่อยทางขวา (right subtree) ตามลำดับ ลักษณะพิเศษจำเพาะของต้นไม้ไบนารีคือแต่ละโหนดมีดีกรีอย่างมากที่สุดเท่ากับ 2

การแปลงต้นไม้ทั่วไปเป็นแบบไบนารี การแปลงต้นไม้ทั่วไปเป็นแบบไบนารี การแปลงต้นไม้ทั่วไปให้เป็นแบบไบนารีจะใช้หลักความจริงที่ว่า ในต้นไม้ทั่วไปแต่ละโหนดจะมี SON ที่อยู่ทางซ้ายสุด 1 SON และ SON โหนดนั้นจะมีพี่น้องถัดไป 1 โหนดเท่านั้น การแปลงนั้นแบ่งได้เป็น 2 ขั้นตอน คือ ขั้นที่ 1 แปลงต้นไม้ทั่วไปโดยใช้หลักความสัมพันธ์ระหว่างโหนดเป็น leftmost son - next sibiling ขั้นที่ 2 หมุนต้นไม้ที่แปลงแล้วไป 45 องศา จะได้ต้นไม้ไบนารีแบบปกติ การแปลงต้นไม้ทั่วไปเป็นแบบไบนารี

การแปลงป่าให้เป็นโครงสร้างแบบต้นไม้ไบนารี ในกรณีถ้ามีต้นไม้ทั่วไปหลาย ๆ ต้น เราสามารถแทนกลุ่มของต้นไม้นี้ โดยต้นไม้ไบนารี่ต้นเดียวได้ดังนี้ ขั้นที่ 1 ให้แปลงต้นไม้ทั่วไปแต่ละต้น ให้เป็นต้นไม้แบบไบนารี ขั้นที่ 2 ให้เชื่อมรูตโหนดของต้นไม้ไบนารีแต่ละต้น โดยใช้ความสัมพันธ์ "พี่น้อง" ขั้นที่ 3 หมุนต้นไม้ที่ได้ 45 องศา ก็จะได้ต้นไม้ไบนารีที่แทนกลุ่มต้นไม้ทั่วไปที่กำหนดให้ การแปลงป่าให้เป็นต้นไม้ไบนารี

การเดินเข้าไปในโครงสร้างต้นไม้ (Tree Traversal) การเดินเข้าไปในโครงสร้างต้นไม้ (Tree Traversal) จะมีวิธีเดินอยู่ 6 ทางคือ R TL TR , TL R TR , TL TR R , TR RTL , R TR TL สัญลักษณ์ที่เขียนนี้เป็นลักษณะการนิยามแบบรีเคอร์ซีฟและลำดับจากซ้ายไปขวา ถึงแม้ว่าจะมีวิธีเดิน 6 วิธี แต่เราจะสนใจเพียง 3 วิธีแรกเท่านั้น ซึ่ง 3 วิธีแรกมีชื่อเรียกพิเศษและลักษณะรายละเอียดการเดินดังนี้

1) เดินแบบพรีออร์เดอร์ (pre - order traversal) - R TLTR เดินเข้าไปใน TL (ของ R) อย่างพรีออร์เดอร์ เดินเข้าไปใน TR (ของ R) อย่างพรีออร์เดอร์

2) เดินแบบอินออร์เดอร์ (in - order traversal) - TL R TR เดินเข้าไปใน TR (ของ R) อย่างอินออร์เดอร์

3) เดินแบบโพสออร์เดอร์ (post - order traversal) - TL TR R เดินเข้าไปใน TL (ของ R) อย่างโพสต์ออร์เดอร์ เดินเข้าไปใน TR (ของ R) อย่างโพสต์ออร์เดอร์ เยี่ยม R อีก

3 วิธีหลังจะมีชื่อคล้าย ๆกับ 3 วิธีแรก เพียงแต่มีคำว่า reverse เพิ่มเข้าไปเท่านั้น มีชื่อดังนี้ 4) แบบ reverse pre - order traversal ( R TR TL ) 5) แบบ reverse in - order traversal ( TR RTL ) 6) แบบ reverse post - order traversal ( TR TL R)