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)