2.1 ประสิทธิภาพเชิงเวลา (Time Efficiency)

    2.2 สัญลักษณ์เชิงเส้นกำกับทางเวลา Big O

    2.3 ประมาณความต้องการเชิงเวลา (Time Estimation )

    2.4 ประสิทธิภาพเชิงเนื้อที่ (Space Efficiency) 

    2.5 การวิเคราะห์ชั้นความซับซ้อน

    1.1 ทำความรู้จักกับขั้นตอนวิธี

    1.2 การวิเคราะห์ปัญหาทางคอมพิวเตอร์

    1.3 การออกแบบอัลกอริธึ่ม

    1.4 เทคนิคการออกแบบขั้นตอนวิธีแบบต่างๆ

    1.5 วิธีการเขียนอัลกอริธึ่ม          

    1.6 ทดสอบอัลกอริธึ่ม

จุดมุ่งหมายรายวิชา


  1. 12-14 พย.   

  2. 19-21 พย. 

  3. 26-28 พย.  

  4. 3-5 ธค. 

  5. 10-12 ธค.   

  6. 17-19 ธค.  

  7. 24-26 ธค. 

  8. 31 ธค.-2 มค. 

  9.  7-9 มค. 

  10. 14-16 มค.   

  11. 21-23 มค.  

  12. 28-30 มค. 

  13.  4-6 กพ. 

  14.  11-13 กพ.    

  15. 18-20 กพ.  

  16.  26-28 กพ.

  • ด้านคุณธรรมจริยธรรม

นักศึกษามีวินัย ตรงต่อเวลา มีความสามารถทำงานเป็นกลุ่มทั้งเป็นผู้นำและผู้ตาม สามารถรับฟังความคิดเห็นของผู้อื่นเมื่อทำงานเป็นกลุ่มและการอภิปรายกลุ่มระดมสมอง และเรียนรู้ถึงจรรยาบรรณวิชาชีพได้

  • ด้านความรู้

เพื่อให้เข้าใจโครงสร้างของข้อมูลเบื้องต้นแบบต่างๆ เพื่อสามารถแก้ปัญหาทางโครงสร้างโปรแกรมได้ สามารถวิเคราะห์ขั้นตอนวิธีที่มีความซับซ้อน อาทิเช่น การจัดเรียง (Sorting)  การค้นหาข้อมูล  (Union & Find Algorithms)  เข้าใจวิธีการแบบกราฟ (Graph Algorithms)  

ขอให้นศ. ทุกคนอดทน ขยัน และพยายามให้สุดความสามารถ อย่าสบประมาทความสามารถตัวเอง 

อนาคตที่สดใสรอคอยอยู่  ความสำเร็จมาจากความเพียรพยาม ความสำเร็จ ความภูมิใจในตัวเองคือรางวัล....สู้ๆค่ะ

Content: Design and Analysis of Algorithms

ทฤษฏีของขั้นตอนวิธี    การวิเคราะห์ความต้องการเนื้อที่และเวลาที่ต้องการของ   ขั้นตอนวิธีการเรียกตัวเอง   การวิเคราะห์ชั้นความซับซ้อนเทคนิคการออกแบบขั้นตอนวิธีขั้นตอน  แบบต่างๆ  การเรียงลำดับและการค้นหาข้อมูลและปัญหาที่ยากต่อการแก้ไขอัลกอริธึมส์แบบขนาน

The theory of the algorithm,   analyze the need of use for the space and time which required in algorithm,   recursive,  analysis of the complexity level technique of designing the algorithm,   sorting and searching and significant problem for solving parallel algorithm


เกณฑ์วัดผล 100%

    4.1 โครงสร้างข้อมูลและการนำเสนอข้อมูลด้วยกราฟ
    4.2 การท่องไปในกราฟ
    4.3 การประยุกต์ใช้งานกราฟ
    4.4 การแก้ปัญหาเส้นทางของกราฟด้วย Greedy Programming
    4.5 การแก้ปัญหาเส้นทางของกราฟด้วย Minimum Spanning Tree
    4.6 การแก้ปัญหาเส้นทางของกราฟด้วย Shortest Path 
          4.6.1 Shortest path อัลกอริธึ่ม
          4.6.2 การประยุกต์แก้ปัญหาทางด้วย shortest path อัลกอริธึ่ม

บทที่1  The theory of the algorithms (ทฤษฎีของขั้นตอนวิธี)

Weeks-Dates

แผนการนำเสนองานกลุ่มนศ.

    5.1 ขั้นตอนวิธี Recursive
    5.2 ขั้นตอนวิธี Backtracking  
    5.3 ขั้นตอนวิธี Dynamic
    5.4 ขั้นตอนวิธี Parallel  

  • ศึกษาล่วงหน้าก่อนเรียนเสมอ
  • กล้าซักถาม  ตอบ  แสดงความคิดเห็น ในกิจกรรมระดมสมองก่อนทำแบบฝึกหัด
  • รับฟังความคิดเห็นของคนอื่น และกล้าแสดงความคิดเห็น เวลาสัมนาในคาบ  สัมนาด้วยหลักการและเหตุผล ข้อเท็จจริงที่ได้ค้นคว้ามา
  • ทบทวนสิ่งที่ได้เรียน ศึกษาเพิ่มเติม "practice makes perfect"
  • เทคโนโลยีเปลี่ยนแปลงเร็ว โลกหมุน อย่าหยุดการเรียนรู้   โดยเฉพาะการเรียนรู้ด้วยตัวเอง  นักวิทยาศาสตร์  มักมีข้อสงสัยและย่อมแสวงหาคำตอบเสมอ  บางครั้งคำตอบใช้เวลาเป็นเดือน ปี หรืออาจหลายปี 

    3.1 ขั้นตอนวิธีในการเรียงลำดับข้อมูล (Algorithms for Sorting Data)
          3.1.1 การเรียงลำดับข้อมูลด้วยวิธีการ Divide-and-Conquer
          3.1.2 การเรียงลำดับแบบผสาน (Merge Sort)

          3.1.3 การเรียงลำดับข้อมูลด้วยวิธีการ  Quick Sort
          3.1.4  การเรียงลำดับข้อมูลด้วยวีธีการ Selection Sort

    3.2 ขั้นตอนวิธีในการค้นหาข้อมูล  (Searching data)
          3.2.1 การค้นหาข้อมูลแบบลำดับ (Sequential search)
          3.2.2 การค้นหาข้อมูลแบบไบนารี่ (Binary search)

บทที่5  การเรียกตัวเองและการแก้ปัญหาด้วยขั้นตอนวิธีอื่นๆ


  1. แนะนำรายวิชา-วัดความรู้ก่อนเรียน
  2. บรรยาย-แบบฝึกหัด
  3. บรรยาย
  4. -
  5. -
  6. บรรยาย/อภิปรายกลุ่ม

  7. บรรยาย/อภิปรายกลุ่ม-แบบฝึกหัด 
  8. -
  9. บรรยาย/อภิปรายกลุ่ม-แบบฝึกหัด
  10. สอบกลางภาค
  11. บรรยาย/อภิปรายกลุ่ม
  12. บรรยาย/อภิปรายกลุ่ม
  13. นำเสนอปากเปล่า/อภิปราย
  14. นำเสนอปากเปล่า/อภิปรา
  15. บรรยาย
  16. สอบปลายภาค ทฤษฎี 20%     

Learning Activities

Contents & Lessons

บทที่4  แก้ปัญหาที่ยากต่อการแก้ไข  ด้วยกราฟ

แนะนำเรียนวิชานี้ให้ประสบความสำเร็จ

Copyright © thidawan klaysri. All rights reserved.

ลักษณะรายวิชา

บทที่3 การเรียงลำดับและการค้นหาข้อมูล (Sorting&Searching)

  • Jon Kleinberg and Eva Tardos,Algorithm Design, Cornell University, Pearson Addison-Wesley, 2006
  • Robert Sedgewick and Kevin Wayne,  Algorithhms 4th Edition,Fourth Edition, Princeton University, Pearson Addison-Wesley, 2011
  • Cormen, Thomas H. et.al,Introduction to Algorithms - 3rd Edition, The MIT Press, 2009
  • ณัฐพงษ์ วารีประเสริฐ, โครงสร้างข้อมูลและอัลกอริทึม (Data Structure and Algorithms), สำนักพิมพ์เคทีพี, พิมพ์ครั้งที่ 2, 2556
  • สมชาย  ประสิทธิ์จูตระกูล, การออกแบบและวิเคราะห์อัลกอริทึ่ม, พิมพ์ครั้งที่ 4, 2553


บทที่2  การวิเคราะห์ความต้องการเชิงเวลาและเนื้อที่

จิตพิสัย: 10% การมาเรียน/พฤติกรรมการเรียน
คะแนนเก็บ งานที่ได้รับมอบหมาย: 50% 

  • นำเสนอปากเปล่า-รายงาน 20%
  • แบบฝึกหัด/การบ้าน 30%

สอบกลางภาค: 20%

สอบปลายภาค: 20%  

เอกสารตำราประกอบการเรียนการสอน

THIDAWAN.NET
Thidawan Klaysri Roberts-ธิดาวรร   คล้ายศรี

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

syllabus of dESIGN AND ANALYSIS OF ALGORITHMS

            

  1. แนะนำรายวิชา  ข้อตกลง       Download เอกสารประกอบการเรียน

  2. P_Week1-2  บทที่1 ทฤษฎีของขั้นตอนวิธี  Slides-1.1-1.3    Slides-1.4-1.5

  3. P_Week3-4  บทที่ 2 การวิเคราะห์ความต้องการเชิงเวลาและเนื้อที่ Slides-1   Slides2.1-2.5

  4. หยุดวันพ่อแห่งชาติ  

  5. หยุดวันรัฐธรรมนูญ  (ห้อง 1 เรียน ปกติในวันที่ 12 ธค.)  

  6. P_Week6  บทที่ 3 การเรียงลำดับและการค้นหาข้อมูล กลุ่มที่1-2 นำเสนอ  Searching

  7. P_Week7  (ต่อบทที่3) การเรียงลำดับและการค้นหาข้อมูล  sorting & Searching

  8. หยุดวันขึ้นปีใหม่       

  9. ต่อบทที่ 3 และบทที่4 การแก้ไขปัญหาด้วยกราฟ DFS/BFS

  10. สอบกลางภาค  20%  ทฤษฎีเนื้อหาบทที่ 1-3

  11. การแก้ไขปัญหาด้วยกราฟ-  DFS/BFS     Min-tree

  12. การแก้ไขปัญหาด้วยกราฟ Recursive & Backtracking  Greedy Programming 

  13. ขั้นตอนวิธี Dynamic

  14. ขั้นตอนวิธี Parallel

  15. สรุป/ทบทวนก่อนสอบ

  16. สอบปลายภาค 20%  ทฤษฎีเนื้อหาบทที่ 3-5