การเรียงลำดับหมายถึงการจัดเรียงข้อมูลใด ๆ ตามลำดับที่เพิ่มขึ้นหรือลดลงตามความสัมพันธ์เชิงเส้นระหว่างองค์ประกอบ บทความนี้เกี่ยวกับ Bubble Sort in จะช่วยให้คุณเข้าใจแนวคิดนี้โดยละเอียด
java system.exit (0)
เราจะพูดถึงหัวข้อด้านล่างในบล็อกนี้:
- Bubble sort คืออะไร?
- ขั้นตอนในการจัดเรียงฟอง
- อัลกอริทึมการเรียงฟอง
- โปรแกรม Python เพื่อใช้งาน จัดเรียงฟอง
Bubble Sort คืออะไร?
การเรียงฟองเรียกอีกอย่างว่าการจัดเรียงแบบจม เป็นอัลกอริธึมการเรียงลำดับอย่างง่ายที่ทำตามขั้นตอนอย่างต่อเนื่องในรายการที่จะจัดเรียงเปรียบเทียบรายการที่อยู่ติดกันแต่ละคู่และสลับกันหากไม่อยู่ในลำดับที่ถูกต้อง ขั้นตอนจะทำซ้ำจนกว่าจะไม่จำเป็นต้องมีการแลกเปลี่ยนอีกต่อไปซึ่งเป็นช่วงที่รายการถูกจัดเรียง
ขั้นตอนในการจัดเรียงฟอง
- เปรียบเทียบองค์ประกอบที่หนึ่งและสองในรายการและสลับหากเรียงลำดับไม่ถูกต้อง
- เปรียบเทียบองค์ประกอบที่สองและสามและสลับองค์ประกอบเหล่านี้หากอยู่ในลำดับที่ไม่ถูกต้อง
- ดำเนินการในทำนองเดียวกันจนถึงองค์ประกอบสุดท้ายของรายการในลักษณะที่คล้ายกัน
- ทำซ้ำขั้นตอนข้างต้นทั้งหมดจนกว่ารายการจะถูกจัดเรียง
ขั้นตอนข้างต้นจะชัดเจนยิ่งขึ้นโดยการแสดงภาพต่อไปนี้ -
อัลกอริทึมการเรียงฟอง
ตอนนี้ให้เราดูอัลกอริทึมเบื้องหลัง Bubble Sort
บัตรแรก:
( 16.19 , 11,15,10) -> ( 16.19 , 11,15,10) - อัลกอริทึมเปรียบเทียบสององค์ประกอบแรกและแลกเปลี่ยนตั้งแต่ 19> 16
(16, 19.11.2018 , 15.10 น) -> (16, 11.19 , 15.10 น) - สลับตั้งแต่ 19> 11
(16.11, 19.15 น , 10) -> (16,11, 15.19 , 10) - สลับตั้งแต่ 19> 15
(16,11,15, 19.10 น ) -> (16,11,15, 10.19 ) - ตอนนี้เนื่องจากองค์ประกอบเหล่านี้อยู่ในลำดับที่ถูกต้องแล้ว (19> 10) อัลกอริทึมจะไม่สลับองค์ประกอบเหล่านี้
ผ่านที่สอง:
( 16.11 , 15,10,19) -> ( 11.16 , 15,10,19) - สลับตั้งแต่ 16> 11
(สิบเอ็ด, 16.15 น , 10.19) -> (11, 15.16 น , 10,19) - สลับตั้งแต่ 16> 15
(11.15, 16.10 น , 19) -> (11,15, 10.16 , 19) - สลับตั้งแต่ 16> 10
(11,15,10,16,19) -> (11,15,10,16,19)
ถูกจัดเรียง แต่ algo ของเราไม่ทราบว่าเสร็จสมบูรณ์หรือไม่ ดังนั้นจึงต้องใช้บัตรทั้งหมดอีกครั้งโดยไม่มีการแลกเปลี่ยนใด ๆ เพื่อให้ทราบว่ามีการจัดเรียง
วิธีการโอเวอร์โหลดและวิธีการแทนที่ใน java
ใบที่สาม:
(สิบเอ็ด, 15.10 , 16,19) -> (11, 15.10 , 16,19)
(สิบเอ็ด, 15.10 , 16,19) -> (11, 10.15 , 16,19) - สลับตั้งแต่ 15> 10
(11,10,15,16,19) -> (11,10,15,16,19)
(11,10,15,16,19) -> (11,10,15,16,19)
ใบที่สี่:
( 11.10 , 15,16,19) -> ( 10.11 , 15,16,19) - สลับตั้งแต่ 11> 10
ผลลัพธ์สุดท้ายคือ (10,11,15,16,19)
ให้เราเขียนโค้ดนี้ขึ้นมา -
โปรแกรม Python เพื่อใช้ Bubble Sort
a = [16, 19, 11, 15, 10, 12, 14]
#repeating loop len (a) (จำนวนองค์ประกอบ) จำนวนครั้งสำหรับ j ในช่วง (len (a)): #initially swapped is false swapped = False i = 0 while ia [i + 1]: #swapping a [i ], a [i + 1] = a [i + 1], a [i] # การเปลี่ยนค่าของ swapped swapped = True i = i + 1 #if swapped เป็นเท็จจากนั้นรายการจะถูกจัดเรียง # เราสามารถหยุดการวนซ้ำได้ ถ้าสลับ == เท็จ: ทำลายพิมพ์ (a)
เอาท์พุท:
ในโค้ดด้านบนเราจะเปรียบเทียบตัวเลขที่อยู่ติดกันและสลับกันหากไม่อยู่ในลำดับที่ถูกต้อง ทำซ้ำขั้นตอนเดียวกัน len (a) หลายครั้ง เราได้กำหนดตัวแปรเป็น 'swapped' และกำหนดให้เป็น 'True' หากมีการสลับสององค์ประกอบในการวนซ้ำ และหากไม่มีการแลกเปลี่ยนองค์ประกอบรายการจะถูกจัดเรียงแล้วดังนั้นจึงไม่มีการเปลี่ยนแปลงค่าของ 'swapped' และเราสามารถทำลายลูปได้
ด้วยเหตุนี้เราจึงมาถึงส่วนท้ายของบล็อกที่ชื่อว่า“ วิธีใช้ Bubble Sort ใน Python” ฉันหวังว่าเนื้อหาจะเพิ่มมูลค่าให้กับความรู้ Python ของคุณ
ให้แน่ใจว่าคุณฝึกฝนให้มากที่สุดและเปลี่ยนประสบการณ์มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของบล็อก 'วิธีใช้ Bubble Sort ใน Python' และเราจะติดต่อกลับโดยเร็วที่สุด
หากต้องการรับความรู้เชิงลึกเกี่ยวกับ Python พร้อมกับแอพพลิเคชั่นต่างๆคุณสามารถลงทะเบียนเพื่อถ่ายทอดสด ด้วยการสนับสนุนตลอด 24 ชั่วโมงทุกวันและการเข้าถึงตลอดชีวิต