Hướng dẫn python sort time - thời gian sắp xếp 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 python sort time - thời gian sắp xếp python

Martineau

Huy hiệu vàng 116K2525 gold badges161 silver badges286 bronze badges25 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: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:02Jan 21, 2013 at 8:02

NPENPENPENPE

474K105 Huy hiệu vàng930 Huy hiệu bạc1002 Huy hiệu Đồng105 gold badges930 silver badges1002 bronze badges105 gold badges930 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:10Jan 21, 2013 at 9:10

Blackmathblackmathblackmathblackmath

Phù hiệu 2321 Bạc 10 Huy hiệu Đồng1 silver badge10 bronze badges1 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:44Oct 9, 2018 at 2:44

Lerner Zhanglerner ZhangLerner ZhangLerner Zhang

5.5622 Huy hiệu vàng42 Huy hiệu bạc59 Huy hiệu Đồng2 gold badges42 silver badges59 bronze badges2 gold badges42 silver badges59 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: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: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.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.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 về thời gian của loại là gì?

Sự phức tạp về thời gian của tất cả các thuật toán sắp xếp.

Sắp xếp () hoặc sắp xếp () nhanh hơn?

Sắp xếp nhanh hơn một chút so với sắp xếp và tiêu thụ bộ nhớ ít hơn khoảng 24%.Tuy nhiên, hãy nhớ rằng danh sách đó.Sắp xếp chỉ được thực hiện cho các danh sách, trong khi được sắp xếp chấp nhận bất kỳ điều gì có thể. and consumes around 24% less memory. However, keep in mind that list. sort is only implemented for lists, whereas sorted accepts any iterable. and consumes around 24% less memory. However, keep in mind that list. sort is only implemented for lists, whereas sorted accepts any iterable.

Python sắp xếp nhanh như thế nào?

Sắp xếp tích hợp của Python: 0,009S.Sắp xếp radix: 0,220s.Quicksort: 0,247s.Sắp xếp vỏ: 0,250s.0.009s. Radix sort: 0.220s. Quicksort: 0.247s. Shell sort: 0.250s.0.009s. Radix sort: 0.220s. Quicksort: 0.247s. Shell sort: 0.250s.

Sắp xếp () trong Python là gì?

Phương thức Sort () là một phương thức Python tích hợp, theo mặc định, sắp xếp danh sách theo thứ tự tăng dần.Tuy nhiên, bạn có thể sửa đổi thứ tự từ tăng dần sang giảm dần bằng cách chỉ định các tiêu chí sắp xếp.a built-in Python method that, by default, sorts the list in ascending order. However, you can modify the order from ascending to descending by specifying the sorting criteria.a built-in Python method that, by default, sorts the list in ascending order. However, you can modify the order from ascending to descending by specifying the sorting criteria.