Hướng dẫn python list addition time complexity - danh sách python thời gian thêm phức tạp
Giả sử chúng ta có hai danh sách ____ 2 (n phần tử) và ________ 3 (m phần tử) và chúng ta sử dụng "+" trong Python để hợp nhất hai danh sách thành một, vì vậy Show
Câu hỏi của tôi là thời gian chạy của hoạt động này là gì? Dự đoán đầu tiên của tôi là
nbro 14.4K27 Huy hiệu vàng104 Huy hiệu bạc188 Huy hiệu đồng27 gold badges104 silver badges188 bronze badges
Đã hỏi ngày 22 tháng 3 năm 2015 lúc 17:54Mar 22, 2015 at 17:54
1 Khi bạn kết hợp hai danh sách với Bạn có thể thấy điều này xảy ra trong hàm
Nếu bạn không cần một danh sách mới trong bộ nhớ, thì thường nên tận dụng thực tế là danh sách là có thể thay đổi (và đây là nơi Python thông minh). Sử dụng 0 là 1 trong độ phức tạp có nghĩa là bạn tránh được chi phí của danh sách sao chép 2.Sự phức tạp của các hoạt động danh sách khác nhau được liệt kê ở đây trên Wiki Python. Đã trả lời ngày 22 tháng 3 năm 2015 lúc 17:59Mar 22, 2015 at 17:59
Alex Rileyalex RileyAlex Riley 159K44 Huy hiệu vàng252 Huy hiệu bạc234 Huy hiệu Đồng44 gold badges252 silver badges234 bronze badges
Không có gì có thể thông minh hơn thế trong khi trả lại một bản sao. Mặc dù ngay cả khi 4, 5 là các chuỗi bất biến như chuỗi; Cpython vẫn tạo một bản sao đầy đủ thay vì bí danh cùng một bộ nhớ (nó đơn giản hóa việc triển khai bộ sưu tập rác cho các chuỗi như vậy).Trong một số trường hợp cụ thể, hoạt động có thể là 6 tùy thuộc vào những gì bạn muốn làm với kết quả, ví dụ: 7 cho phép lặp lại tất cả các mục (nó không tạo ra một bản sao, thay đổi trong 4, 5 ảnh hưởng đến các mục mang lại). Hoặc nếu bạn cần một truy cập ngẫu nhiên; Bạn có thể mô phỏng nó bằng cách sử dụng lớp con A = [a1, a2, ..., an] 0, ví dụ: A = [a1, a2, ..., an] 1 nhưng trong trường hợp chung, bản sao và do đó không thể tránh khỏi thời gian chạy O(n+m) .
Đã trả lời ngày 23 tháng 3 năm 2015 lúc 8:04Mar 23, 2015 at 8:04
JFSJFSjfs 385K183 Huy hiệu vàng949 Huy hiệu bạc1623 Huy hiệu Đồng183 gold badges949 silver badges1623 bronze badges Sao chép danh sách là Nguồn: Thời gian Python
CON CHUỘT 8331 Huy hiệu vàng14 Huy hiệu bạc35 Huy hiệu đồng1 gold badge14 silver badges35 bronze badges Đã trả lời ngày 22 tháng 3 năm 2015 lúc 18:01Mar 22, 2015 at 18:01
TheBlackCatTheBlackcatTheBlackCat 9.2213 Huy hiệu vàng22 Huy hiệu bạc 30 Huy hiệu Đồng3 gold badges22 silver badges30 bronze badges Độ phức tạp về thời gian của việc thêm hai danh sách trong Python là gì?Độ phức tạp của thời gian của hàm mở rộng () này là O (k), trong đó k là độ dài của danh sách chúng ta cần nối vào danh sách khác.O(k), where k is the length of the list we need to concatenate to another list.
Độ phức tạp thời gian của sum () trong python là gì?Độ phức tạp của thời gian của hàm SUM () là tuyến tính về số lượng các phần tử trong ITEBELBER (List, Tuple, Set, v.v.).Lý do là bạn cần phải vượt qua tất cả các yếu tố trong ITBER có thể và thêm chúng vào một biến tổng.linear in the number of elements in the iterable (list, tuple, set, etc.). The reason is that you need to go over all elements in the iterable and add them to a sum variable.
Độ phức tạp của thời gian của danh sách là gì?Độ phức tạp về thời gian: Phụ lục có độ phức tạp thời gian không đổi, tức là O (1).O(1).
Sự phức tạp về thời gian của danh sách trong Python là gì?Độ phức tạp thời gian trung bình của toán tử trong danh sách là O (N).Nó trở nên chậm hơn khi có nhiều yếu tố.Thời gian thực hiện thay đổi rất nhiều tùy thuộc vào vị trí của giá trị cần tìm.Phải mất nhiều thời gian nhất khi giá trị của nó ở cuối hoặc không tồn tại.O(n) . It becomes slower when there are many elements. The execution time varies greatly depending on the position of the value to look for. It takes the longest time when its value is at the end or does not exist. |