โครงสร้างข้อมูล (Data Structure) คือ ความสัมพันธ์ระหว่างข้อมูลที่อยู่ในโครงสร้าง นั้นๆรวมทั้งกระบวนการในการจัดการข้อมูลในโครงสร้าง หรือ การจัดเตรียมรูปแบบการเก็บข้อมูลในหน่วยความจำอย่างมีระเบียบแบบแผนการแทนข้อมูลให้อยู่ในรูปแบบที่ถูกต้อง ตลอดจนกรรมวิธีการเข้าถึงข้อมูลในโครงสร้างให้เป็นไปอย่างมีประสิทธิภาพ
อัลกอริธึม (Algorithm) หมายถึง
ลำดับขั้นตอนวิธีในการทำงานของโปรแกรมเพื่อแก้ปัญหาใดปัญหาหนึ่งซึ่งถ้าปฏิบัติตามขั้นตอนอย่างถูกต้องแล้วจะต้องสามารถช่วยแก้ปัญหาหรือประมวลผลตามความต้องการได้สำเร็จในการเขียนอธิบายอัลกอริธึมนั้นเราสามารถคิดอัลกอริธึมเพื่อมาแก้ปัญหาได้หลายแบบ
ตัวอย่าง
ผลที่ได้เหมือนกันคือ ไข่ต้ม
ผลลัพธ์อัลกอริธึม 1 สามารถทานได้เลย
ส่วนอัลกอริธึม 2 ต้องปอกก่อนทาน
➱สรุปคือ เราได้ผลลัพธ์ตามที่โจทย์ต้องการคือ
ไข่ต้ม
|
การวิเคราะห์ปัญหา
⧬กระบวนการทำงานของคอมพิวเตอร์
องค์ประกอบของงาน
Input , Process , Output
⧪ การพิจารณา
ขั้นตอนการทำงานเป็นการนำเข้า ป้อนเข้าระบบ ถือเป็น Input
ขั้นตอนเกี่ยวกับการกระทำ(กริยา) ถือเป็น Process
ขั้นตอนการนำข้อมูลออกจากระบบ แสดงผล ถือเป็น Output
การออกแบบอัลกอริธึม
➮การเขียนอธิบายอัลกอริธึมนั้น
เราสามารถคิดอัลกอริธึมเพื่อมาแก้ปัญหาได้หลายแบบ ซึ่งในแต่ละแบบเครื่องคอมพิวเตอร์ก็จะใช้ในหน่วยความจำ
และเวลาในการประมวลผลไม่เท่ากัน ดังนั้น
การจะเปรียบเทียบว่าโปรแกรมคอมพิวเตอร์ใครเก่งกว่ากันนั้นจึงใช้การเปรียบเทียบและประสิทธิภาพของอัลกอริธึมนั่นเอง
อัลกอริธึมของใครใช้เวลาในการประมวลผลและหน่วยความจำน้อยกว่า ถือว่าอัลกอริธึมนั้นฉลาดกว่า
ประสิทธิภาพของอัลกอริธึม
➢เวลา(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.ทำให้ผู้อื่นสามารถศึกษาการทำงานของโปรแกรมได้อย่างง่าย และรวดเร็วมากขึ้น
⧪ อัลกอริทึม คือ กลุ่มของขั้นตอนหรือกฎเกณฑ์ที่จะนำไปสู่การแก้ปัญหา ประกอบเป็นชุดลำดับขั้นตอนที่ชัดเจนและรับประกันว่าเมื่อได้ปฎิบัติถูกต้องตามขั้นตอนจนครบจะได้ผลลัพธ์ที่ถูกต้องตามต้องการ
⧪ ซูโดโค้ด คือ รหัสจำลองทีเป็นตัวแทนของอัลกอริทึม โดยมีถ้อยคำหรือประโยคคำสั่งที่เขียนอยู่ในรูปแบบของภาษาอังกฤษที่ไม่ขึ้นกับภาษาคอมพิวเตอร์ใดภาษาหนึ่ง
ไม่มีความคิดเห็น:
แสดงความคิดเห็น