Skip to main content

Tag: sorting

Bubble Sort

คำนำ

         การเรียงลำดับวิธีนี้จะกระทำโดยการเปรียบเทียบค่าข้อมูลที่อยู่ติดกันทีละคู่ไปเรื่อยๆ ในกรณีเรียง ลำดับข้อมูลจากน้อยไปมาก ถ้าค่าแรกมีค่ามากกว่าค่าสองก็จะทำการสลับที่กัน โดยวิธีการนี้ จะทำให้ ข้อมูลที่มีค่าน้อยกว่าลอยสูงขึ้นเรื่อยเหมือนฟองสบู่(bubble) ที่ลอยขึ้นที่สูง และข้อมูลที่น้อยที่สุดก็จะ อยู่ในต่ำแหน่งบนสุดของชุดข้อมูลจึงเรื่อยการเรียงลำดับวิธีนี้ว่า BUBBLE  SORT

 

 

ขั้นตอนวิธีในการเรียงลำดับ (เรียงลำดับจากน้อยไปมาก)

  1. ทำการเปรียบเทียบค่าข้อมูลตัวที่ 1 กับตัวที่ 2 ถ้าข้อมูลตัวที่ 2 มีค่าน้อยกว่าข้อมูลตัวที่ 1 ให้สลับที่ข้อมูลทั้ง 2
  2. ทำการเปรียบเทียบข้อมูลตัวที่ 2 กับตัวที่ 3 และเปรียบเทียบข้อมูลไปเรื่อยๆจนหมดชุดข้อมูล เรียกการเปรียบเทียบข้อมูลตั้งแต่ตัวแรกถึงตัวสุดท้ายว่าเป็น  1 รอบของการทำงาน
  3. ทุกครั้งที่หมดรอบของการทำงานต้องมีการตรวจสอบว่ารอบของการทำงานนั้นมีการสลับที่ของ ข้อมูลหรือไม่ ถ้ามีการสลับที่ในรอบนั้นจะต้องทำการเปรียบเทียบรอบใหม่ แต่ถ้ารอบใดก็ตาม ที่ไม่มีการสลับที่ แสดงว่าเมื่อจบการทำงานในรอบนั้น เราจะได้ข้อมูลที่มีการเรียงลำดับ เรียบร้อยแล้ว ซึ่งเป็นอันจบขั้นตอนการเรียงลำดับ

 

วิธีการ

1. สมมุติว่าแท่งเหล็กแต่ละแท่งเป็นข้อมูลที่มีค่าต่างกัน วางข้อมูลลงบนแผงวางข้อมูลโดยไม่ต้อง เรียงลำดับ

2. ผลักเม็ดพลาสติกสีแดงไปทางด้านขวาทั้งหมด เพื่อเริ่มรอบของการทำงาน

3. เปรียบเทียบข้อมูลตัวที่ 1 กับตัวที่ 2

          A. ถ้าตัวที่ 2 น้อยกว่าตัวที่ 1 (แท่งเหล็กแท่งที่ 2 สั้นกว่าแท่งที่ 1) ให้สลับที่ข้อมูลและเลื่อนเม็ดพลาสติกมาทางด้ายซ้าย 1 เม็ด แล้วไปทำข้อ 4

          B. ถ้าตัวที่ 2 มากกว่าตัวที่ 1 (แท่งเหล็กแท่งที่ 2 ยาวกว่าแท่งที่ 1) ไม่ต้องสลับที่ข้ามไปทำข้อ 4

4. ทำการเปรียบเทียบและสลับที่ข้อมูลไปเรื่อยๆโดยใช้หลักการในข้อ A และ B จนถึงตัวสุดท้าย

5. ตรวจสอบว่ามีเม็ดพลาสติกสีแดงถูกเลื่อนมาทางด้านซ้ายหรือไม่

          C. ถ้ามีแสดงว่ามีการสลับที่ของข้อมูลโดยจำนวนครั้งของการสลับที่เท่ากับจำนวนเม็ดพลาสติกที่อยู่ทางซ้าย ให้ย้อนกลับไปทำตั้งแต่ข้อที่ 2 ใหม่

          D. ถ้าไม่มีเม็ดพลาสติกอยู่ทางซ้ายแสดงว่าข้อมูลได้เรียงลำดับจากน้อยไปมากเรียบร้อยแล้ว และจบการทำงาน

 

   

รูปอุปกรณ์ช่วยในการสอนเรื่อง Bubble Sort