Hướng dẫn what is bubble sort in javascript? - Sắp xếp bong bóng trong javascript là gì?

Thuật toán Sắp xếp bong bóng là một thuật toán sắp xếp mảng bằng cách so sánh hai phần tử liền kề và hoán đổi chúng nếu chúng không theo thứ tự dự định. Ở đây đặt hàng có thể là bất cứ điều gì như tăng lệnh hoặc giảm lệnh.

Cách thức hoạt động của bong bóng

Chúng tôi có một mảng chưa được phân loại ARR = [1, 4, 2, 5, -2, 3] Nhiệm vụ là sắp xếp mảng bằng cách sử dụng bong bóng. & NBSP;arr = [ 1, 4, 2, 5, -2, 3 ] the task is to sort the array using bubble sort. 

Sắp xếp bong bóng so sánh phần tử từ chỉ mục 0 và nếu chỉ mục 0 lớn hơn chỉ số 1 thì các giá trị sẽ được hoán đổi và nếu chỉ số 0 nhỏ hơn chỉ số 1 thì không có gì xảy ra.

Sau đó, chỉ số 1 so sánh với chỉ số thứ 2 sau đó chỉ số thứ 2 so với bảng thứ 3, v.v.

Hãy để xem nó với một ví dụ, mỗi bước được minh họa ngắn gọn ở đây

Hướng dẫn what is bubble sort in javascript? - Sắp xếp bong bóng trong javascript là gì?

So sánh xảy ra cho đến khi phần tử cuối cùng của mảng

Sau mỗi lần lặp, giá trị lớn nhất của mảng trở thành chỉ số cuối cùng của mảng. Trong mỗi lần lặp, so sánh xảy ra cho đến khi phần tử chưa được phân loại cuối cùng.

Hướng dẫn what is bubble sort in javascript? - Sắp xếp bong bóng trong javascript là gì?

Bây giờ so sánh đã giảm một bước vì yếu tố lớn nhất là đúng chỗ

Hướng dẫn what is bubble sort in javascript? - Sắp xếp bong bóng trong javascript là gì?
Hướng dẫn what is bubble sort in javascript? - Sắp xếp bong bóng trong javascript là gì?
Hướng dẫn what is bubble sort in javascript? - Sắp xếp bong bóng trong javascript là gì?

Sau tất cả các lần lặp và so sánh các yếu tố, chúng tôi nhận được một mảng được sắp xếp.

Cú pháp

BubbleSort(array){
  for i -> 0 to arrayLength 
     for j -> 0 to (arrayLength - i - 1)
      if arr[j] > arr[j + 1]
        swap(arr[j], arr[j + 1])
}

Implementation 

JavaScript

 function bblSort(arr){

 for(____10

Output 
Sorted array :
[5, 6, 43, 55, 63, 234, 235, 547]
1

Output 
Sorted array :
[5, 6, 43, 55, 63, 234, 235, 547]
2for(____10
Output 
Sorted array :
[5, 6, 43, 55, 63, 234, 235, 547]
6

Output 
Sorted array :
[5, 6, 43, 55, 63, 234, 235, 547]
7
Output 
Sorted array :
[5, 6, 43, 55, 63, 234, 235, 547]
8
Output 
Sorted array :
[5, 6, 43, 55, 63, 234, 235, 547]
9

BubbleSort(array){
  for i -> 0 to arrayLength 
     isSwapped <- false
     for j -> 0 to (arrayLength - i - 1)
      if arr[j] > arr[j + 1]
        swap(arr[j], arr[j + 1])
        isSwapped -> true
}
0____10
BubbleSort(array){
  for i -> 0 to arrayLength 
     isSwapped <- false
     for j -> 0 to (arrayLength - i - 1)
      if arr[j] > arr[j + 1]
        swap(arr[j], arr[j + 1])
        isSwapped -> true
}
2

BubbleSort(array){
  for i -> 0 to arrayLength 
     isSwapped <- false
     for j -> 0 to (arrayLength - i - 1)
      if arr[j] > arr[j + 1]
        swap(arr[j], arr[j + 1])
        isSwapped -> true
}
0
BubbleSort(array){
  for i -> 0 to arrayLength 
     isSwapped <- false
     for j -> 0 to (arrayLength - i - 1)
      if arr[j] > arr[j + 1]
        swap(arr[j], arr[j + 1])
        isSwapped -> true
}
4

BubbleSort(array){
  for i -> 0 to arrayLength 
     isSwapped <- false
     for j -> 0 to (arrayLength - i - 1)
      if arr[j] > arr[j + 1]
        swap(arr[j], arr[j + 1])
        isSwapped -> true
}
0
BubbleSort(array){
  for i -> 0 to arrayLength 
     isSwapped <- false
     for j -> 0 to (arrayLength - i - 1)
      if arr[j] > arr[j + 1]
        swap(arr[j], arr[j + 1])
        isSwapped -> true
}
6

Output 
Sorted array :
[5, 6, 43, 55, 63, 234, 235, 547]
7
BubbleSort(array){
  for i -> 0 to arrayLength 
     isSwapped <- false
     for j -> 0 to (arrayLength - i - 1)
      if arr[j] > arr[j + 1]
        swap(arr[j], arr[j + 1])
        isSwapped -> true
}
8

Output 
Sorted array :
[5, 6, 43, 55, 63, 234, 235, 547]
2
BubbleSort(array){
  for i -> 0 to arrayLength 
     isSwapped <- false
     for j -> 0 to (arrayLength - i - 1)
      if arr[j] > arr[j + 1]
        swap(arr[j], arr[j + 1])
        isSwapped -> true
}
8

 

BubbleSort(array){
  for i -> 0 to arrayLength 
     isSwapped <- false
     for j -> 0 to (arrayLength - i - 1)
      if arr[j] > arr[j + 1]
        swap(arr[j], arr[j + 1])
        isSwapped -> true
}
8

 

Output
Sorted Array :
[3, 5, 23, 35, 45, 243, 356, 5346]
4

BubbleSort(array){
  for i -> 0 to arrayLength 
     isSwapped <- false
     for j -> 0 to (arrayLength - i - 1)
      if arr[j] > arr[j + 1]
        swap(arr[j], arr[j + 1])
        isSwapped -> true
}
8

Output 
Sorted array :
[5, 6, 43, 55, 63, 234, 235, 547]
0
Output
Sorted Array :
[3, 5, 23, 35, 45, 243, 356, 5346]
7

Output
Sorted Array :
[3, 5, 23, 35, 45, 243, 356, 5346]
8

Output 
Sorted array :
[5, 6, 43, 55, 63, 234, 235, 547]

Lưu ý: Việc thực hiện này không được tối ưu hóa. Chúng tôi sẽ thấy giải pháp tối ưu hóa tiếp theo.This implementation is not optimized. We will see the optimized solution next.

Giải pháp tối ưu hóa

Như chúng tôi đã thảo luận về việc thực hiện phân loại bong bóng trước đó không được tối ưu hóa. Ngay cả khi mảng được sắp xếp, mã sẽ chạy với độ phức tạp O (n^2). Hãy cùng xem cách thực hiện một thuật toán sắp xếp bong bóng được tối ưu hóa trong JavaScript.

Cú pháp cho giải pháp được tối ưu hóa

BubbleSort(array){
  for i -> 0 to arrayLength 
     isSwapped <- false
     for j -> 0 to (arrayLength - i - 1)
      if arr[j] > arr[j + 1]
        swap(arr[j], arr[j + 1])
        isSwapped -> true
}

Thực hiện

JavaScript

 function bblSort(arr){

 for(____10

Output 
Sorted array :
[5, 6, 43, 55, 63, 234, 235, 547]
1

Output 
Sorted array :
[5, 6, 43, 55, 63, 234, 235, 547]
2for(____10
Output 
Sorted array :
[5, 6, 43, 55, 63, 234, 235, 547]
6

BubbleSort(array){
  for i -> 0 to arrayLength 
     isSwapped <- false
     for j -> 0 to (arrayLength - i - 1)
      if arr[j] > arr[j + 1]
        swap(arr[j], arr[j + 1])
        isSwapped -> true
}
0____10
BubbleSort(array){
  for i -> 0 to arrayLength 
     isSwapped <- false
     for j -> 0 to (arrayLength - i - 1)
      if arr[j] > arr[j + 1]
        swap(arr[j], arr[j + 1])
        isSwapped -> true
}
2

 1forfunction4

function5 9function0function1

function5forbblSort(arr){1

bblSort(arr){2

Output 
Sorted array :
[5, 6, 43, 55, 63, 234, 235, 547]
8bblSort(arr){4

Output 
Sorted array :
[5, 6, 43, 55, 63, 234, 235, 547]
0
Output
Sorted Array :
[3, 5, 23, 35, 45, 243, 356, 5346]
7

bblSort(arr){5bblSort(arr){9

bblSort(arr){5 1

bblSort(arr){5 9 4function1

bblSort(arr){2

BubbleSort(array){
  for i -> 0 to arrayLength 
     isSwapped <- false
     for j -> 0 to (arrayLength - i - 1)
      if arr[j] > arr[j + 1]
        swap(arr[j], arr[j + 1])
        isSwapped -> true
}
8

function5

BubbleSort(array){
  for i -> 0 to arrayLength 
     isSwapped <- false
     for j -> 0 to (arrayLength - i - 1)
      if arr[j] > arr[j + 1]
        swap(arr[j], arr[j + 1])
        isSwapped -> true
}
8

function5

Output 
Sorted array :
[5, 6, 43, 55, 63, 234, 235, 547]
8for2

for3for4function1

function5

BubbleSort(array){
  for i -> 0 to arrayLength 
     isSwapped <- false
     for j -> 0 to (arrayLength - i - 1)
      if arr[j] > arr[j + 1]
        swap(arr[j], arr[j + 1])
        isSwapped -> true
}
8

 1

BubbleSort(array){
  for i -> 0 to arrayLength 
     isSwapped <- false
     for j -> 0 to (arrayLength - i - 1)
      if arr[j] > arr[j + 1]
        swap(arr[j], arr[j + 1])
        isSwapped -> true
}
8

 1(1

Lưu ý: Việc thực hiện này không được tối ưu hóa. Chúng tôi sẽ thấy giải pháp tối ưu hóa tiếp theo.

Giải pháp tối ưu hóa

(5

Output
Sorted Array :
[3, 5, 23, 35, 45, 243, 356, 5346]

Như chúng tôi đã thảo luận về việc thực hiện phân loại bong bóng trước đó không được tối ưu hóa. Ngay cả khi mảng được sắp xếp, mã sẽ chạy với độ phức tạp O (n^2). Hãy cùng xem cách thực hiện một thuật toán sắp xếp bong bóng được tối ưu hóa trong JavaScript.

Cú pháp cho giải pháp được tối ưu hóa

Thực hiệnO(n2).

function  0

 1

Output 
Sorted array :
[5, 6, 43, 55, 63, 234, 235, 547]
0  3O(n)

 1

Output 
Sorted array :
[5, 6, 43, 55, 63, 234, 235, 547]
0  6: O(1)


Ví dụ về loại bong bóng là gì?

Sắp xếp bong bóng là một loại thuật toán sắp xếp bạn có thể sử dụng để sắp xếp một tập hợp các giá trị theo thứ tự tăng dần.Nếu bạn muốn, bạn cũng có thể thực hiện sắp xếp bong bóng để sắp xếp các giá trị theo thứ tự giảm dần.Một ví dụ trong thế giới thực về thuật toán sắp xếp bong bóng là cách danh sách liên lạc trên điện thoại của bạn được sắp xếp theo thứ tự bảng chữ cái.how the contact list on your phone is sorted in alphabetical order.

Sắp xếp bong bóng là gì và tại sao nó được sử dụng?

Sắp xếp bong bóng là một thuật toán sắp xếp đơn giản được sử dụng để sắp xếp lại một tập hợp các phần tử theo thứ tự tăng dần hoặc giảm dần.Nó hữu ích cho các bộ phần tử nhỏ hơn nhưng không hiệu quả cho các bộ lớn hơn.a simple sorting algorithm used to rearrange a set of elements in ascending or descending order. It's useful for smaller sets of elements but is inefficient for larger sets.

Thuật toán sắp xếp JavaScript là gì?

Phương thức Sắp xếp () sắp xếp các phần tử của một mảng tại chỗ và trả về tham chiếu đến cùng một mảng, hiện được sắp xếp.Thứ tự sắp xếp mặc định là tăng dần, được xây dựng khi chuyển đổi các yếu tố thành các chuỗi, sau đó so sánh các chuỗi các giá trị đơn vị mã UTF-16 của chúng.sorts the elements of an array in place and returns the reference to the same array, now sorted. The default sort order is ascending, built upon converting the elements into strings, then comparing their sequences of UTF-16 code units values.