1.4 การออกแบบอัลกอริทึม
ตัวอย่างการแก้ปัญหาโดยใช้แนวคิดเชิงคำนวณการเข้าแถวตามลำดับความสูงของนักเรียนให้เร็วที่สุด
แนวคิดการออกแบบขั้นตอนวิธี (Algorithm Design) ลำดับขั้นตอนในการแก้ปัญหามีดังนี้
1. กำหนดนักเรียนคนแรก (ซ้ายสุด) ของกลุ่มนักเรียน เป็นตำแหน่งหลัก โดยถือว่าเป็นตำแหน่งที่ถูกต้องแล้ว
2. แบ่งกลุ่มนักเรียนออกเป็น 2 กลุ่ม ดังนี้
2.1 กลุ่มนักเรียนที่มีความสูงน้อยกว่านักเรียนตำแหน่งหลัก ให้ไปตั้งแถวอยู่ด้านซ้ายของนักเรียนตำแหน่งหลัก
2.2 กลุ่มนักเรียนที่มีความสูงเท่ากับหรือมากกว่านักเรียนตำแหน่งหลัก ให้ไปตั้งแถวอยู่ด้านขวาของนักเรียนตำแหน่งหลัก
3) ทำซ้ำไปเรื่อย ๆ จนกระทั่งไม่สามารถแบ่งกลุ่มได้อีก
3.1 กำหนดนักเรียนคนแรก (ซ้ำยสุด) ของนักเรียนแต่ละกลุ่ม เป็นตำแหน่งหลัก
3.2 แบ่งกลุ่มนักเรียนออกเป็น 2 กลุ่ม โดยมีนักเรียนตำแหน่งหลักคั่นอยู่ กลุ่มนักเรียนที่มีความสูงน้อยกว่านักเรียนตำแหน่งหลัก ให้ตั้งแถวอยู่ด้านซ้ายของนักเรียนตำแหน่งหลัก และกลุ่มนักเรียนที่มีความสูงเท่ากับหรือมากกว่านักเรียนตำแหน่งหลัก ให้ตั้งแถวอยู่ด้านขวาของนักเรียนตำแหน่งหลัก
3.3 ทำเหมือนข้อ (3.1) และ (3.2) ของนักเรียนแต่ละกลุ่ม
3.4 ทำเหมือนข้อ (3.1) และ (3.2) ของนักเรียนแต่ละกลุ่ม
3.5 เมื่อทำจนไม่สามารถจัดกลุ่มได้อีก จะได้แถวเรียงลำดับความสูงจากน้อยไปหามาก
สรุปขั้นตอนการเข้าแถวตามลำดับความสูงของนักเรียนให้เร็วที่สุด
1. กำหนดนักเรียนซ้ายสุดเป็นตำแหน่งหลัก
2. แบ่งกลุ่มนักเรียนออกเป็น 2 กลุ่ม
2.1 ความสูงน้อยกว่า ให้ไปตั้งแถวอยู่ด้านซ้าย
2.2 ความสูงเท่ากับหรือมากกว่า ให้ไปตั้งแถวอยู่ด้านขวา
3) ทำซ้ำไปเรื่อย ๆ จนกระทั่งไม่สามารถแบ่งกลุ่มได้อีก
3.1 กำหนดนักเรียนซ้ายสุดเป็นตำแหน่งหลัก
3.2 แบ่งกลุ่มนักเรียนออกเป็น 2 กลุ่ม โดย
- ความสูงน้อยกว่า ให้ไปตั้งแถวอยู่ด้านซ้าย
- ความสูงเท่ากับหรือมากกว่า ให้ไปตั้งแถวอยู่ด้านขวา
3.3 ทำเหมือนข้อ (3.1) และ (3.2)