โครงสร้างข้อมูล (Data Structure) คือ ความสัมพันธ์ระหว่างข้อมูลที่อยู่ในโครงสร้าง นั้นๆรวมทั้งกระบวนการในการจัดการข้อมูลในโครงสร้าง หรือ การจัดเตรียมรูปแบบการเก็บข้อมูลในหน่วยความจำอย่างมีระเบียบแบบแผนการแทนข้อมูลให้อยู่ในรูปแบบที่ถูกต้อง ตลอดจนกรรมวิธีการเข้าถึงข้อมูลในโครงสร้างให้เป็นไปอย่างมีประสิทธิภาพ
อัลกอริทึม (Algorithm) หมายถึง ลำดับขั้นตอนวิธีในการทำงานของโปรแกรมเพื่อแก้ปัญหาใดปัญหาหนึ่งซึ่งถ้าปฏิบัติตามขั้นตอนอย่างถูกต้องแล้วจะต้องสามารถช่วยแก้ปัญหาหรือประมวลผลตามความต้องการได้สำเร็จในการเขียนอธิบายอัลกอริธึมนั้นเราสามารถคิดอัลกอริธึมเพื่อมาแก้ปัญหาได้หลายแบบ
ตัวอย่าง
ผลที่ได้เหมือนกันคือ ไข่ต้ม
ผลลัพธ์อัลกอริธึม 1 สามารถทานได้เลย
ส่วนอัลกอริธึม 2 ต้องปอกก่อนทาน
➱สรุปคือ
เราได้ผลลัพธ์ตามที่โจทย์ต้องการคือ ไข่ต้ม
|
การวิเคราะห์ปัญหา
⧬กระบวนการทำงานของคอมพิวเตอร์
องค์ประกอบของงาน
Input , Process , Output
⇒ การพิจารณา
ขั้นตอนการทำงานเป็นการนำเข้า ป้อนเข้าระบบ
ถือเป็น Input
ขั้นตอนเกี่ยวกับการกระทำ(กริยา) ถือเป็น Process
ขั้นตอนการนำข้อมูลออกจากระบบ แสดงผล ถือเป็น Output
การออกแบบอัลกอริทึม
➮การเขียนอธิบายอัลกอริธึมนั้น
เราสามารถคิดอัลกอริธึมเพื่อมาแก้ปัญหาได้หลายแบบ
ซึ่งในแต่ละแบบเครื่องคอมพิวเตอร์ก็จะใช้ในหน่วยความจำ
และเวลาในการประมวลผลไม่เท่ากัน ดังนั้น
การจะเปรียบเทียบว่าโปรแกรมคอมพิวเตอร์ใครเก่งกว่ากันนั้นจึงใช้การเปรียบเทียบและประสิทธิภาพของอัลกอริธึมนั่นเอง
อัลกอริธึมของใครใช้เวลาในการประมวลผลและหน่วยความจำน้อยกว่า
ถือว่าอัลกอริธึมนั้นฉลาดกว่า
ประสิทธิภาพของอัลกอริธึม
➢หน่วยความจำ(memory)
ที่จะต้องใช้ในการประมวลผล
➢เวลา(time)
ที่ใช้ในการประมวลผล
อัลกอริธึมที่ดีจะประกอบด้วยคุณสมบัติต่างๆดังนี้
➤อัลกอริธึมที่ดีต้องมีความถูกต้อง
(correctness)
➤อัลกอริธึมที่ดีต้องง่ายต่อการอ่าน(readability)
➤อัลกอริธึมที่ดีต้องสามารถปรับปรุงได้ง่ายต่ออนาคต(ease
of modification)
➤อัลกอริธึมที่ดีสามารถนำกลับมาใช้ใหม่ได้(Reusability)
➤อัลกอริธึมที่ดีต้องมีประสิทธิภาพ
(efficiency
การควบคุมการทำงานของโปรแกรม เป็นเครื่องมือที่ผู้พัฒนาโปรแกรมใช้ในการแสดงลำดับการทำงานของโปรแกรมหรือใช้อธิบายอัลกอริธึม ให้เป็นระบบและง่ายต่อความเข้าใจ โดยโครงสร้างอาจจะอยู่ในรูปแบบดังนี้คือ
การควบคุมการทำงานของโปรแกรม เป็นเครื่องมือที่ผู้พัฒนาโปรแกรมใช้ในการแสดงลำดับการทำงานของโปรแกรมหรือใช้อธิบายอัลกอริธึม ให้เป็นระบบและง่ายต่อความเข้าใจ โดยโครงสร้างอาจจะอยู่ในรูปแบบดังนี้คือ
1.ผังงาน (Flowchart) ซึ่งเป็นFlow Diagram ชนิดหนึ่งสำหรับใช้อธิบายขั้นตอนการทำงานของโปรแกรมในลักษณะรูปภาพ
2.ชุดคำสั่งเทียม (Pseudocode) จะมีสัญลักษณ์คล้ายกับภาษาอังกฤษ
ก้ำกึ่งระหว่างภาษาอังกฤษกับภาษาคอมพิวเตอร์ใช้ในการอธิบายลักษณะโครงสร้างข้อมูล
และการทำงานของอัลกอริธึมที่เราเขียนขึ้น
ตัวอย่างผังงานและรหัสเทียม
|
➤ วิธีการเขียนผังงานที่ดี
1. ใช้สัญลักษณ์ตามที่กำหนดไว้
2.ใช้ลูกศรแสดงทิศทางการไหลของข้อมูลจากบนลงล่าง หรือจากซ้ายไปขวา
3.คำอธิบายในภาพสัญลักษณ์ผังงานควรสั้นกะทัดรัด และเข้าใจง่าย
4.ทุกแผนภาพต้องมีลูกศรแสดงทิศทางเข้า - ออก
5.ไม่ควรโยงเส้นเชื่อมผังงานที่อยู่ไกลมาก ๆ ควรใช้สัญลักษณ์จุดเชื่อมต่อแทน
6.ผังงานควรมีการทดสอบความถูกต้องของการทำงานก่อนนำไปเขียนโปรแกรมจริง
➤ ประโยชน์ของผังงาน
1. ใช้สัญลักษณ์ตามที่กำหนดไว้
2.ใช้ลูกศรแสดงทิศทางการไหลของข้อมูลจากบนลงล่าง หรือจากซ้ายไปขวา
3.คำอธิบายในภาพสัญลักษณ์ผังงานควรสั้นกะทัดรัด และเข้าใจง่าย
4.ทุกแผนภาพต้องมีลูกศรแสดงทิศทางเข้า - ออก
5.ไม่ควรโยงเส้นเชื่อมผังงานที่อยู่ไกลมาก ๆ ควรใช้สัญลักษณ์จุดเชื่อมต่อแทน
6.ผังงานควรมีการทดสอบความถูกต้องของการทำงานก่อนนำไปเขียนโปรแกรมจริง
➤ ประโยชน์ของผังงาน
1.ลำดับขั้นตอนการทำงานของโปรแกรม
และสามารถนำไปเขียนโปรแกรมได้โดยไม่สับสน
2.ตรวจสอบความถูกต้อง
และแก้ไขโปรแกรมได้ง่าย เมื่อเกิดข้อผิดพลาด
3.การปรับปรุง เปลี่ยนแปลง
แก้ไข ทำได้อย่างสะดวกและรวดเร็ว
4.ทำให้ผู้อื่นสามารถศึกษาการทำงานของโปรแกรมได้อย่างง่าย และรวดเร็วมากขึ้น
4.ทำให้ผู้อื่นสามารถศึกษาการทำงานของโปรแกรมได้อย่างง่าย และรวดเร็วมากขึ้น
สรุป
⇒ อัลกอริทึม คือ กลุ่มของขั้นตอนหรือกฎเกณฑ์ที่จะนำไปสู่การแก้ปัญหา
ประกอบเป็นชุดลำดับขั้นตอนที่ชัดเจนและรับประกันว่าเมื่อได้ปฎิบัติถูกต้องตามขั้นตอนจนครบจะได้ผลลัพธ์ที่ถูกต้องตามต้องการ
⇒ ซูโดโค้ด คือ รหัสจำลองทีเป็นตัวแทนของอัลกอริทึม
โดยมีถ้อยคำหรือประโยคคำสั่งที่เขียนอยู่ในรูปแบบของภาษาอังกฤษที่ไม่ขึ้นกับภาษาคอมพิวเตอร์ใดภาษาหนึ่ง
⇒ การสร้างประโยคคำสั่ง โดยเฉพาะชุดคำสั่งสำหรับการโปรแกรมเชิงโครงสร้าง
ประกอบด้วย 3 รูปแบบ คือ ประโยคคำสั่งแบบเรียงลำดับ
แบบเลือกการทำงาน และแบบทำงานซ้ำ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น