Hướng dẫn complexity of sort function in python - độ phức tạp của hàm sắp xếp trong python

Tôi có một danh sách các danh sách và tôi đang phân loại chúng bằng cách sử dụng

data=sorted(data, key=itemgetter(0))

Có phải tự hỏi sự phức tạp thời gian chạy của chức năng Python này là gì?

Hướng dẫn complexity of sort function in python - độ phức tạp của hàm sắp xếp trong python

Martineau

Huy hiệu vàng 116K2525 gold badges161 silver badges286 bronze badges

Đã hỏi ngày 21 tháng 1 năm 2013 lúc 7:59Jan 21, 2013 at 7:59

6

Được cung cấp itemgetter(0)O(1) Khi được sử dụng với data, loại là O(n log n) cả trung bình và trong trường hợp xấu nhất.

Để biết thêm thông tin về phương thức sắp xếp được sử dụng trong Python, xem Wikipedia.

Đã trả lời ngày 21 tháng 1 năm 2013 lúc 8:02Jan 21, 2013 at 8:02

NPENPENPE

473K104 Huy hiệu vàng929 Huy hiệu bạc1002 Huy hiệu đồng104 gold badges929 silver badges1002 bronze badges

4

Sắp xếp giống như sắp xếp ngoại trừ việc đầu tiên xây dựng một danh sách được sắp xếp mới từ một điều khác biệt trong khi sắp xếp sắp xếp tại chỗ. Sự khác biệt chính sẽ là sự phức tạp không gian.

Đã trả lời ngày 21 tháng 1 năm 2013 lúc 9:10Jan 21, 2013 at 9:10

Blackmathblackmathblackmath

Phù hiệu 2321 Bạc 10 Huy hiệu Đồng1 silver badge10 bronze badges

Đó là TIMSORT, và Timsort là một loại thuật toán sắp xếp thích ứng dựa trên sự sắp xếp hợp nhất và sắp xếp chèn, sau đó tôi nghĩ rằng nó thuộc về loại so sánh, và người ta nói, không có loại so sánh nào có thể đảm bảo độ phức tạp thời gian nhỏ hơn LG (N! ) ~ N log n.

Đã trả lời ngày 9 tháng 10 năm 2018 lúc 2:44Oct 9, 2018 at 2:44

Lerner Zhanglerner ZhangLerner Zhang

5.5402 Huy hiệu vàng42 Huy hiệu bạc58 Huy hiệu Đồng2 gold badges42 silver badges58 bronze badges

Giống như trong mọi ngôn ngữ lập trình khác, Sắp xếp () có độ phức tạp thời gian O (nlogn).

Đã trả lời ngày 22 tháng 4 lúc 21:07Apr 22 at 21:07

Hướng dẫn complexity of sort function in python - độ phức tạp của hàm sắp xếp trong python

1

Độ phức tạp về thời gian trong trường hợp trung bình sẽ là O(nlog(n))

Đã trả lời ngày 20 tháng 7 lúc 4:44Jul 20 at 4:44

Đội câu trả lời giáo dục

Hàm sort() là thành viên của cấu trúc dữ liệu danh sách trong Python. Theo mặc định, nó sắp xếp các yếu tố của một danh sách theo thứ tự tăng dần.sort() function is a member of the list data structure in Python. By default, it sorts the elements of a list in ascending order.

list = [20, 5, -10, 300]

list.sort()

print(list)

Trong trường hợp chuỗi và ký tự, việc sắp xếp được thực hiện dựa trên các giá trị ASCII của chúng.

Sắp xếp

Danh sách Python sort() đã sử dụng thuật toán TIMSORT kể từ phiên bản 2.3.Timsort algorithm since version 2.3.

Thuật toán này có độ phức tạp thời gian chạy của O (N.Logn).

Hàm có hai thuộc tính tùy chọn có thể được sử dụng để chỉ định một loại tùy chỉnh:

Thuộc tính

list = [20, 5, -10, 300]

list.sort()

print(list)

0 yêu cầu hàm có thể gọi là đầu vào của nó. Hàm sẽ chỉ định các tiêu chí sắp xếp.

list1 = [20, 5, -10, 300]

list1.sort(reverse=True) # Sort the list in descending order

# A callable function which returns the length of a string

def lengthKey(str):

return len(str)

list2 = ["London", "Paris", "Copenhagen", "Melbourne"]

# Sort based on the length of the elements

list2.sort(key=lengthKey)

print(list2)

Bản quyền © 2022 Giáo dục, Inc. Tất cả quyền được bảo lưu

Sự phức tạp của chức năng sắp xếp là gì?

Sắp xếp (Object []) dựa trên thuật toán TIMSORT, cho chúng ta độ phức tạp về thời gian của O (n log (n)).O(n log(n)).

Sự phức tạp của loại danh sách là gì?

Độ phức tạp là O (N+R).N là số lượng các yếu tố trong danh sách.R là sự khác biệt giữa các yếu tố lớn nhất và nhỏ nhất trong danh sách.Nếu giá trị của R rất lớn, thì có thể mất một thời gian để sắp xếp.O(N+R) . N is the number of elements in the list. R is the difference between the largest and smallest elements in the list. If the value of R is very big, then it can take a while to sort.

Chức năng sắp xếp trong Python là gì?

Hàm python sort () hàm Sắp xếp () Trả về một danh sách được sắp xếp của đối tượng có thể lặp lại được chỉ định.Bạn có thể chỉ định thứ tự tăng dần hoặc giảm dần.Chuỗi được sắp xếp theo thứ tự bảng chữ cái, và các số được sắp xếp bằng số.Lưu ý: Bạn không thể sắp xếp một danh sách chứa cả giá trị chuỗi và giá trị số.returns a sorted list of the specified iterable object. You can specify ascending or descending order. Strings are sorted alphabetically, and numbers are sorted numerically. Note: You cannot sort a list that contains BOTH string values AND numeric values.

Max hay sắp xếp nhanh hơn?

Sắp xếp có thể dựa vào biểu diễn nội bộ của danh sách trong khi MAX sẽ phải thông qua giao thức iterator chung.Điều này làm cho mỗi phần tử tìm nạp cho L.sort nhanh hơn mỗi phần tử tìm nạp mà tối đa.each element fetch for l. sort is faster than each element fetch that max does.