ผลต่างระหว่างรุ่นของ "204512-53/lecture1"
ไปยังการนำทาง
ไปยังการค้นหา
Rtsp (คุย | มีส่วนร่วม) ล |
Rtsp (คุย | มีส่วนร่วม) ล |
||
แถว 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% | ||
− | |||
− | |||
=Introduction to Algorithm= | =Introduction to Algorithm= | ||
แถว 18: | แถว 18: | ||
* เพื่อความถูกต้องของอัลกอริทึม - ต้องการความแน่ใจ | * เพื่อความถูกต้องของอัลกอริทึม - ต้องการความแน่ใจ | ||
− | * เพื่อประสิทธิภาพของอัลกอริทึม | + | * เพื่อประสิทธิภาพของอัลกอริทึม |
+ | ** เวลา (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)
เนื้อหาแต่ละบทที่จะสอน ตามลำดับ
- Data Structure
- Graph Algorithm
- Dynamic Programming
- Linear Programming
- Randomize Algorithm
Data Structure
ตัวอย่างปัญหาที่ 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