ผลต่างระหว่างรุ่นของ "204512-53/lecture1"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
แถว 4: แถว 4:
  
 
==Course Information==
 
==Course Information==
 +
รายละเอียดวิชาสามารถดูได้ที่ http://www.cpe.ku.ac.th/~jtf/wiki/doku.php?id=01204512-53
  
 +
===เกณฑ์การให้คะแนน===
 
* Homework    15%
 
* Homework    15%
 
* Project        15%
 
* Project        15%
แถว 10: แถว 12:
 
* Mid-Term 2 Times 20*2%
 
* Mid-Term 2 Times 20*2%
 
* Final            25%
 
* Final            25%
 
http://www.cpe.ku.ac.th/~jtf/wiki/doku.php?id=01204512-53
 
  
 
=Introduction to Algorithm=
 
=Introduction to Algorithm=
แถว 18: แถว 18:
  
 
* เพื่อความถูกต้องของอัลกอริทึม - ต้องการความแน่ใจ
 
* เพื่อความถูกต้องของอัลกอริทึม - ต้องการความแน่ใจ
* เพื่อประสิทธิภาพของอัลกอริทึม - ทั้งด้าน เวลา (time), พื้นที่ (space), คุณภาพคำตอบ (quality)
+
* เพื่อประสิทธิภาพของอัลกอริทึม
 +
** เวลา (time)
 +
** พื้นที่ (space)
 +
** คุณภาพคำตอบ (quality)
  
 
==เนื้อหาแต่ละบทที่จะสอน ตามลำดับ==
 
==เนื้อหาแต่ละบทที่จะสอน ตามลำดับ==
แถว 36: แถว 39:
 
# จองพื้นที่เพิ่มสำหรับใส่ของ
 
# จองพื้นที่เพิ่มสำหรับใส่ของ
 
# ลองวิเคราะห์การจองที่ใส่ของเพิ่มที่ละ 1 ที่
 
# ลองวิเคราะห์การจองที่ใส่ของเพิ่มที่ละ 1 ที่
 +
 +
จากภาพการเก็บวิเคราะห์ได้ว่า การเก็บข้อมูลตัวที่ i
 +
* การจองใช้เวลา 1 หน่วย
 +
* การคัดลอกต้องคัดลอก i - 1 ตัวดังนั้นใช้เวลา i - 1 หน่วย
 +
* การนำข้อมูลใหม่ไปใส่ใช้เวลาอีก 1 หน่วย
 +
 +
จะเห็นได้ว่าในการสร้างอาเรย์เก็บข้อมูล n ตัวจะต้องใช้เวลาทั้งหมด 2+3+4+...+n+n+1 หน่วย
 +
เท่ากับ 2+3+4+...+n+n+1 = (1+2+3+..+n) +n
  
 
[[ไฟล์:Tree.png]]
 
[[ไฟล์:Tree.png]]

รุ่นแก้ไขเมื่อ 10:16, 1 กรกฎาคม 2553

บันทึกคำบรรยายวิชา 204512-53 นี้ เป็นบันทึกที่นิสิตเขียนขึ้น เนื้อหาโดยมากยังไม่ผ่านการตรวจสอบอย่างละเอียด การนำไปใช้ควรระมัดระวัง

จดบันทึกคำบรรยายโดย: (กรุณาใส่ด้วย) Algorithm Lecture #1

Course Information

รายละเอียดวิชาสามารถดูได้ที่ http://www.cpe.ku.ac.th/~jtf/wiki/doku.php?id=01204512-53

เกณฑ์การให้คะแนน

  • Homework 15%
  • Project 15%
  • Scribe Note 5%
  • Mid-Term 2 Times 20*2%
  • Final 25%

Introduction to Algorithm

ทำไมเราต้องวิเคราะห์อัลกอริทึม

  • เพื่อความถูกต้องของอัลกอริทึม - ต้องการความแน่ใจ
  • เพื่อประสิทธิภาพของอัลกอริทึม
    • เวลา (time)
    • พื้นที่ (space)
    • คุณภาพคำตอบ (quality)

เนื้อหาแต่ละบทที่จะสอน ตามลำดับ

  1. Data Structure
  2. Graph Algorithm
  3. Dynamic Programming
  4. Linear Programming
  5. Randomize Algorithm

Data Structure

ตัวอย่างปัญหาที่ 1

การจองอาเรย์ให้เหมาะสมกับขนาดข้อมูลที่บรรจุ โดยกำหนดให้มีขั้นตอน การทำงานดังนี้

  1. จองพื้นที่สำหรับใส่ของ
  2. นำของไปใส่จนเต็ม
  3. จองพื้นที่เพิ่มสำหรับใส่ของ
  4. ลองวิเคราะห์การจองที่ใส่ของเพิ่มที่ละ 1 ที่

จากภาพการเก็บวิเคราะห์ได้ว่า การเก็บข้อมูลตัวที่ i

  • การจองใช้เวลา 1 หน่วย
  • การคัดลอกต้องคัดลอก i - 1 ตัวดังนั้นใช้เวลา i - 1 หน่วย
  • การนำข้อมูลใหม่ไปใส่ใช้เวลาอีก 1 หน่วย

จะเห็นได้ว่าในการสร้างอาเรย์เก็บข้อมูล n ตัวจะต้องใช้เวลาทั้งหมด 2+3+4+...+n+n+1 หน่วย เท่ากับ 2+3+4+...+n+n+1 = (1+2+3+..+n) +n

Tree.png