User Tools

Site Tools


Sidebar

1. บทนำ

2. การวิเคราะห์ Algorithm

3. List, Stack and Queue

4. Tree

5. Hashing

6. Priority Queues

7. การจัดเรียง (Sorting)

8. The Disjoint Set

9. Graph Algorithms

dsa:analysis0

2. Algorithm Analysis

ในบทนี้กล่าวถึงเนื้อหาที่เกี่ยวข้องกับหัวข้อต่อไปนี้

การประเมินเวลาที่โปรแกรมใช้ในการทำงาน การลดเวลาที่โปรแกรมต้องใช้ (เรียกว่า running time) Algorithm คือ set ของ instructions (อย่างง่าย) ที่ต้องใช้ดำเนินการเพื่อแก้ปัญหา

คำ algorithm ที่ใช้ในแวดวงวิทยาการคอมพิวเตอร์ หมายถึงวิธีการซึ่งประกอบด้วยขั้นตอนที่ใช้ในการแก้ปัญหาที่เหมาะสำหรับการใช้โปรแกรมคอมพิวเตอร์ สิ่งที่ต้องทำหลังจากมีอัลกอริทึมแล้ว คือ การพิจารณาหาว่าอัลกอริทึมนั้นจะต้องใช้ทรัพยากร (resources) มากน้อยแค่ไหน เช่น เนื้อที่หรือเวลาที่อัลกอริทึมต้องใช้

ปกติแล้ว algorithms ที่เราสนใจนั้นมักจะเกี่ยวข้องอยู่กับวิธีการจัดรูปของข้อมูลที่เกี่ยวข้องในบัญหานั้น ๆ เสมอ รูปแบบของข้อมูลที่ได้รับการจัดรูปดังกล่าวนี้ เรียกว่า โครงสร้างข้อมูล (data structures) ดังนั้น algorithms และ data structures จึงมักจะปรากฏอยู่ด้วยกันเสมอ algorithms ง่าย ๆ อาจทำให้ต้องใช้โครงสร้างข้อมูลที่ซับซ้อน และในทางตรงกันข้าม algorithms ที่ซับซ้อนอาจสามารถใช้โครงสร้างข้อมูลง่าย ๆ ได้

dsa/analysis0.txt · Last modified: 2021/09/07 10:39 (external edit)

Page Tools