วิธีใช้ Bubble Sort ใน Python



ในบล็อกนี้คุณจะได้เรียนรู้รหัสและคำอธิบายเกี่ยวกับการเรียงลำดับรายการของ Python โดยใช้การเรียงฟองโดยใช้วิธีการแลกเปลี่ยน

การเรียงลำดับหมายถึงการจัดเรียงข้อมูลใด ๆ ตามลำดับที่เพิ่มขึ้นหรือลดลงตามความสัมพันธ์เชิงเส้นระหว่างองค์ประกอบ บทความนี้เกี่ยวกับ Bubble Sort in จะช่วยให้คุณเข้าใจแนวคิดนี้โดยละเอียด

java system.exit (0)

เราจะพูดถึงหัวข้อด้านล่างในบล็อกนี้:





Bubble Sort คืออะไร?

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

ขั้นตอนในการจัดเรียงฟอง

  • เปรียบเทียบองค์ประกอบที่หนึ่งและสองในรายการและสลับหากเรียงลำดับไม่ถูกต้อง
  • เปรียบเทียบองค์ประกอบที่สองและสามและสลับองค์ประกอบเหล่านี้หากอยู่ในลำดับที่ไม่ถูกต้อง
  • ดำเนินการในทำนองเดียวกันจนถึงองค์ประกอบสุดท้ายของรายการในลักษณะที่คล้ายกัน
  • ทำซ้ำขั้นตอนข้างต้นทั้งหมดจนกว่ารายการจะถูกจัดเรียง

ขั้นตอนข้างต้นจะชัดเจนยิ่งขึ้นโดยการแสดงภาพต่อไปนี้ -



การจัดเรียงฟองใน Python - Edureka



อัลกอริทึมการเรียงฟอง

ตอนนี้ให้เราดูอัลกอริทึมเบื้องหลัง 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 ชั่วโมงทุกวันและการเข้าถึงตลอดชีวิต