Làm thế nào để triển khai Sắp xếp bong bóng trong Python?



Trong blog này, bạn sẽ tìm hiểu mã và giải thích về cách sắp xếp danh sách Python bằng cách sử dụng sắp xếp bong bóng bằng phương pháp hoán đổi.

Sắp xếp có nghĩa là sắp xếp bất kỳ dữ liệu nào theo thứ tự tăng hoặc giảm theo mối quan hệ tuyến tính nào đó giữa các phần tử. Bài viết này về Sắp xếp bong bóng trong sẽ giúp bạn hiểu chi tiết về khái niệm này.

hướng dẫn máy chủ sql cho người mới bắt đầu

Chúng tôi sẽ đề cập đến các chủ đề dưới đây trong blog này:





Bubble Sort là gì?

Sắp xếp bong bóng còn được gọi là sắp xếp chìm. Nó là một thuật toán sắp xếp đơn giản liên tục bước qua danh sách được sắp xếp, so sánh từng cặp mục liền kề và hoán đổi chúng nếu chúng không theo đúng thứ tự. Các bước được lặp lại cho đến khi không cần hoán đổi nữa, đó là lúc danh sách được sắp xếp.

Các bước để thực hiện Sắp xếp bong bóng

  • So sánh phần tử đầu tiên và phần tử thứ hai trong danh sách và hoán đổi nếu chúng không đúng thứ tự.
  • So sánh phần tử thứ hai và thứ ba và hoán đổi chúng nếu chúng không đúng thứ tự.
  • Tiến hành tương tự cho đến phần tử cuối cùng của danh sách theo cách tương tự.
  • Tiếp tục lặp lại tất cả các bước trên cho đến khi danh sách được sắp xếp.

Các bước trên sẽ rõ ràng hơn bằng hình dung sau:



Sắp xếp bong bóng bằng Python - Edureka



Thuật toán sắp xếp bong bóng

Bây giờ chúng ta hãy xem xét Thuật toán đằng sau Sắp xếp bong bóng.

Đầu tiên vượt qua:

( 16,19 , 11,15,10) -> ( 16,19 , 11,15,10) - Thuật toán so sánh hai phần tử đầu tiên và hoán đổi từ 19> 16

(16, 19.11 , 15,10) -> (16, 11,19 , 15,10) - Hoán đổi kể từ ngày 19> 11

(16,11, 19.15 , 10) -> (16,11, 15,19 , 10) - Hoán đổi từ 19> 15

(16,11,15, 19,10 ) -> (16,11,15, 10.19 ) - Bây giờ, vì các phần tử này đã có thứ tự đúng (19> 10) nên thuật toán không hoán đổi chúng.

Thẻ thứ hai:

( 16.11 , 15,10,19) -> ( 11,16 , 15,10,19) - Hoán đổi từ 16> 11

(mười một, 16,15 , 10.19) -> (11, 15,16 , 10,19) - Hoán đổi từ 16> 15

(11,15, 16,10 , 19) -> (11,15, 10.16 , 19) - Hoán đổi từ 16> 10

(11,15,10,16,19) -> (11,15,10,16,19)

Các được sắp xếp, nhưng thuật toán của chúng tôi không biết liệu nó có được hoàn thành hay không. Do đó, nó cần một lần vượt qua toàn bộ khác mà không có bất kỳ sự hoán đổi nào để biết nó được sắp xếp.

java làm thế nào để chuyển đổi double sang int

Thẻ thứ ba:

(mười một, 15,10 , 16,19) -> (11, 15,10 , 16,19)

(mười một, 15,10 , 16,19) -> (11, 10,15 , 16,19) - Hoán đổi từ 15> 10

(11,10,15,16,19) -> (11,10,15,16,19)

(11,10,15,16,19) -> (11,10,15,16,19)

Vượt qua thứ tư:

( 11.10 , 15,16,19) -> ( 10,11 , 15,16,19) - Hoán đổi từ 11> 10

Đầu ra cuối cùng là (10,11,15,16,19)

Bây giờ hãy để chúng tôi viết mã này -

Chương trình Python để triển khai Sắp xếp bong bóng

a = [16, 19, 11, 15, 10, 12, 14]

#repeating loop len (a) (number of element) number of j in range (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] # Thay đổi giá trị của hoán đổi được hoán đổi = Đúng i = i + 1 # nếu được hoán đổi là sai thì danh sách được sắp xếp # chúng ta có thể dừng vòng lặp nếu được hoán đổi == Sai: break print (a)
 ĐẦU RA: 


Trong đoạn mã trên, chúng tôi so sánh các số liền kề và hoán đổi chúng nếu chúng không theo đúng thứ tự. Lặp lại quy trình len (a) tương tự nhiều lần. Chúng tôi đã gán một biến ‘được hoán đổi’ và đặt biến là ‘Đúng’ nếu bất kỳ hai phần tử nào được hoán đổi trong một lần lặp. Và nếu không có sự hoán đổi giữa các phần tử thì danh sách đã được sắp xếp và do đó, không có sự thay đổi nào về giá trị của 'hoán đổi' và chúng ta có thể phá vỡ vòng lặp.

Với điều này, chúng ta đến phần cuối của blog có tiêu đề “Cách triển khai Sắp xếp bong bóng trong Python”. Tôi hy vọng nội dung bổ sung giá trị cho kiến ​​thức Python của bạn.

Đảm bảo rằng bạn luyện tập nhiều nhất có thể và hoàn nguyên trải nghiệm của mình.

Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến nó trong phần nhận xét của blog “Cách triển khai Sắp xếp bong bóng trong Python” và chúng tôi sẽ liên hệ lại với bạn sớm nhất có thể.

Để có kiến ​​thức chuyên sâu về Python cùng với các ứng dụng khác nhau của nó, bạn có thể đăng ký tham gia trực tiếp với hỗ trợ 24/7 và truy cập trọn đời.