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. Show
Cách thức hoạt động của bong bóngChú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 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. Bây giờ so sánh đã giảm một bước vì yếu tố lớn nhất là đúng chỗ 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ápBubbleSort(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]) } ImplementationJavaScript
Output Sorted array : [5, 6, 43, 55, 63, 234, 235, 547]1 Output Sorted array : [5, 6, 43, 55, 63, 234, 235, 547]2 for ( ____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óaNhư 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óaBubbleSort(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ệnJavaScript
Output Sorted array : [5, 6, 43, 55, 63, 234, 235, 547]1 Output Sorted array : [5, 6, 43, 55, 63, 234, 235, 547]2 for ( ____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
Output Sorted array : [5, 6, 43, 55, 63, 234, 235, 547]8 bblSort(arr){ 4Output Sorted array : [5, 6, 43, 55, 63, 234, 235, 547]0 Output Sorted Array : [3, 5, 23, 35, 45, 243, 356, 5346]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
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]8 for 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
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
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óaThực hiệnO(n2).
|