วันจันทร์ที่ 5 พฤศจิกายน พ.ศ. 2561

อัลกอริทึม tree

โครงสร้างข้อมูล (DATA STRUCTURE)
โครงสร้างหรือลักษณะเฉพาะของชุดข้อมูลที่ใช้ในระบบคอมพิวเตอร์ เกิดจากการนำชนิดข้อมูลต่างๆ มารวมกันจนกลายเป็นโครงสร้าง
 การจัดการข้อมูลในหน่วยความจำภายในเครื่องคอมพิวเตอร์ ให้มีความสัมพันธ์กันภายในกลุ่มข้อมูลให้มีรูปแบบหรือข้อกำหนดที่ชัดเจนในการกำหนดคุณสมบัติ เพื่อสร้างความสัมพันธ์ภายในกลุ่มข้อมูล ซึ่งมีอยู่หลายรูปแบบ เช่น ARRAY, LINK-LIST, STACK, QUEUE, TREE เป็นต้น
ประเภทของโครงสร้างข้อมูล
แบ่งออกเป็น ประเภท
      1. โครงสร้างข้อมูลเชิงเส้น (LINEAR DATA STRUCTURE)
       2. โครงสร้างข้อมูลไม่เชิงเส้น (NON-LINEAR DATA STRUCTURE)

    1.โครงสร้างข้อมูลเชิงเส้น เป็นรูปแบบโครงสร้างของการจัดเก็บข้อมูล ที่มีการจัดเรียงข้อมูลให้ต่อเนื่องกันและเข้าถึงข้อมูลตามลำดับ เช่น โครงสร้างข้อมูลแบบ LINKED LIST,  STACK และ QUEUE


    2.โครงสร้างข้อมูลไม่เชิงเส้น เป็นรูปแบบโครงสร้างของการจัดเก็บข้อมูล ที่มีการจัดเรียงข้อมูลไม่ต่อเนื่องกันใช้วิธีการเข้าถึงข้อมูลด้วยการระบุตำแหน่งเช่นโครงสร้างข้อมูลแบบ TREE และ GRAPH เป็นต้น

ประโยชน์ของโครงสร้างข้อมูลและอัลกอริทึม
Jเพื่อทำหน้าที่จัดการกับข้อมูลซึ่งจะช่วยให้กระบวนการทำงานภายในระบบคอมพิวเตอร์เป็นไปอย่างรวดเร็วและมีประสิทธิภาพมากยิ่งขึ้น
Jการจัดเก็บข้อมูลจำนวนในรูปแบบของโครงสร้างข้อมูลที่เหมาะสม จะทำให้สามารถนำข้อมูลไปใช้ได้อย่างมีประสิทธิภาพ โดยใช้ทรัพยากรที่มีได้อย่างคุ้มค่าที่สุด (ใช้พื้นที่หน่วยความจำน้อยที่สุด) อีกทั้งยังใช้เวลาในการประมวลผลน้อยที่สุดด้วย ส่งผลให้คอมพิวเตอร์ทำงานเร็วขึ้นนั่นเอง
Jการอ่านข้อมูลเพื่อใช้ในการประมวลผล คอมพิวเตอร์จะอ่านข้อมูลมาเก็บในหน่วยความจำหลัก (หน่วยความจำแรม) และในกรณีที่ข้อมูลมีขนาดมากกว่าขนาดของหน่วยความจำ คอมพิวเตอร์จะใช้โครงสร้างข้อมูลและอัลกอริทึมเข้ามาช่วยในการจัดการกับข้อมูลเหล่านั้น เพื่อให้สามารถจัดสรรหน่วยความจำได้อย่างเหมาะสมและสามารถทำงานได้อย่างต่อเนื่อง 
Jโครงสร้างแต่ละชนิด มีความสามารถในการจัดการกับข้อมูลที่แตกต่างกัน
อัลกอริทึม (ALGORITHM)
เป็นวิธีการแสดงลำดับขั้นตอนในการทำงานหรือแก้ไขปัญหาอย่างใดอย่างหนึ่ง เช่นการกำหนดขั้นตอนเพื่อแก้ปัญหาการจัดเรียงเอกสารในแฟ้มข้อมูล หรือการกำหนดอัลกอริทึมในการค้นหาข้อมูลในแฟ้มข้อมูลทั้งหมด เป็นต้น
Aอัลกอริทึมที่ดีควรมีคุณสมบัติ ดังนี้
                1. มีลำดับขั้นตอนทำงาน ก่อน-หลัง ชัดเจน
                2. เข้าใจง่ายและไม่กำกวม
                3. สามารถประมวลผลการทำงานด้วยคอมพิวเตอร์ได้
      4. การทำงานของอัลกอริทึมจะต้องสิ้นสุด หลังจากดำเนินงานตามระยะเวลาที่กำหนด
            ตัวอย่างอัลกอริทึม การต้มไข่ไก่
                                         อัลกอริทึมที่ 1                                               อัลกอริทึมที่ 2
                    
ขั้นตอนในการแก้ปัญหา
1.ศึกษาปัญหา
2.วิเคราะห์ปัญหา
    1. INPUT
    2. OUTPUT
    3.  PROCESS
3. ออกแบบอัลกอริทึม
    1. ภาษาเขียน
    2. ผังงาน
    3. รหัสเทียม
4.วิเคราะห์อัลกอริทึม
5. เขียนโปรแกรมคอมพิวเตอร์
กระบวนการทำงานของคอมพิวเตอร์
        1. ขั้นตอนการนำข้อมูลเข้า             --->        INPUT
        2. ขั้นตอนเกี่ยวกับการประมวลผล  --->        PROCESS
        3. ขั้นตอนการนำข้อมูลออก           --->        OUTPUT

          

ตัวอย่างการวิเคราะห์  : การต้มไข่ไก่
ผังงาน (FLOWCHART)
    เป็นเครื่องมือที่ใช้ออกแบบระบบงานด้วยสัญลักษณ์ ช่วยให้มีโครงสร้างของระบบงานที่เป็นลำดับขั้นตอนและเข้าใจได้ง่าย
      แบ่งออกเป็น 2 ประเภท
                1. ผังงานระบบ (SYSTEM FLOWCHART)
                2. ผังงานโปรแกรม (PROGRAM FLOWCHART)
สัญลักษณ์ในการเขียนผังงาน

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

อ้างอิง

ไม่มีความคิดเห็น:

แสดงความคิดเห็น