Thuật toán sắp xếp Python: Sắp xếp bong bóng và hợp nhất
Khám phá các thuật toán sắp xếp python. Trực quan hóa sắp xếp bong bóng và sắp xếp hợp nhất nguyên bản trong ngữ cảnh IDE của trình duyệt.
Tổng quan
Sắp xếp là một trong những hoạt động quan trọng nhất trong công nghệ phần mềm. Mặc dù Python cung cấp `.sort()` nguyên bản bằng cách sử dụng Timsort, nhưng việc hiểu các thuật toán sắp xếp cơ bản là điều cần thiết cho kiến thức kiến trúc.
Sắp xếp nổi bọt dựa vào việc hoán đổi so sánh O(n²) mạnh mẽ. Sắp xếp hợp nhất dựa trên các phương pháp đệ quy O(n log n) Phân chia và chinh phục.
Đầu ra mã & thực thi
Thực hiện Sắp xếp nổi bọt tiêu chuẩn để sắp xếp một mảng theo thứ tự tăng dần.
def bubble_sort(arr):
n = len(arr)
# Traverse through all array elements
for i in range(n):
swapped = False
# Last i elements are already in place
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
# Swap if the element found is greater
arr[j], arr[j+1] = arr[j+1], arr[j]
swapped = True
if not swapped:
break
return arr
sample = [64, 34, 25, 12, 22, 11, 90]
print("Original:", sample)
print("Sorted: ", bubble_sort(sample))Original: [64, 34, 25, 12, 22, 11, 90]
Sorted: [11, 12, 22, 25, 34, 64, 90]Triển khai từng bước
- Dọn dẹp và tổ chức đường ống dữ liệu
- Học tập cơ bản về khoa học máy tính
- Tối ưu hóa các lớp hiển thị truy vấn trong nội bộ
Câu hỏi thường gặp
Khi nào tôi nên viết chức năng sắp xếp của riêng mình?
Hiếm khi. Bạn học các thuật toán sắp xếp chủ yếu để hiểu độ phức tạp của thuật toán. Trong quá trình sản xuất, hãy luôn sử dụng `sắp xếp(dữ liệu)` tích hợp của Python vì đây là mã C được tối ưu hóa cao.
Chủ đề liên quan
Tìm kiếm danh sách được sắp xếp theo thời gian logarit O(log n). Chạy và hiểu tìm kiếm nhị phân trong Python, bao gồm logic từng bước, các trường hợp phức tạp và tối ưu hóa.
Trình tạo chuỗi Fibonacci PythonChạy và hiểu dãy Fibonacci trong Python. Ví dụ về mã tương tác này cho thấy các phương pháp lặp và đệ quy để tạo số Fibonacci.