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ì?
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]
là 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
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
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.list = [20, 5, -10, 300]
list.sort[]
print[list]
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