Có ai biết độ phức tạp thời gian của java.util.stream.Stream<T>.sorted()
là gì không?Độ phức tạp lớn của O. java.util.stream.Stream <T> .sorted()
7
A
Trả lời
11
Vâng, sorted()
chính nó là O (1), vì nó là một hoạt động trung gian không tiêu thụ luồng, nhưng chỉ cần thêm hoạt động vào đường ống.
Khi dòng được tiêu thụ bởi một hoạt động thiết bị đầu cuối, các loại xảy ra và một trong hai
- nó không làm bất cứ điều gì (O (1)) vì dòng biết rằng các yếu tố đã được sắp xếp (vì họ đến từ một SortedSet, ví dụ)
- hoặc suối không được song song, và nó đại biểu
Arrays.sort()
(O (n log n)) - hoặc dòng là song song, và nó đại biểu
Arrays.parallelSort()
(O (n log n))
2
Kể từ JDK 8, thuật toán sắp xếp chính cũng được sử dụng trong triển khai API luồng chuẩn để phân loại tuần tự là TimSort. Trường hợp xấu nhất của nó là O(n log n)
, nhưng nó hoạt động cực nhanh (với O(n)
và hằng số khá nhỏ) nếu dữ liệu được phân loại (theo hướng trước hoặc ngược) hoặc được phân loại một phần (ví dụ, nếu bạn nối hai danh sách đã sắp xếp và sắp xếp lại chúng).
Các vấn đề liên quan
- 1. Giảm độ phức tạp của mã o (n^3) C++
- 2. Độ phức tạp thời gian (lớn O) của SortArrayUsingComparator là gì? iOS/OSX
- 3. Tại sao độ phức tạp của BFS O (V + E) thay vì O (V * E)?
- 4. Độ phức tạp của thuật toán
- 5. Độ phức tạp của ưu tiênQueue addAll()
- 6. Độ phức tạp thời gian của random.sample
- 7. Tính phức tạp của tiêu chuẩn :: find_end là Big-O
- 8. Cosine tương đồng của Vectors, với <O (n^2) phức tạp
- 9. Độ phức tạp của thuật toán
- 10. Đơn giản hóa độ phức tạp Big-O của thuật toán số mũ này
- 11. Độ phức tạp của thuật toán (Big-O) của trình giải Sudoku
- 12. Tại sao độ phức tạp của phương thức list.append() của python là O (1)?
- 13. Độ phức tạp Big-O của mã của tôi là gì?
- 14. Big-O phức tạp của lồng cho vòng
- 15. Độ phức tạp của LinkedList.getLast() trong Java là bao nhiêu?
- 16. Độ phức tạp thời gian của thuật toán Prim
- 17. Giảm độ phức tạp của Cyclomatic
- 18. Độ phức tạp của OrderedDictionary là gì?
- 19. Độ phức tạp về thời gian đếm
- 20. Đếm tổng bội số của một số bên dưới N với độ phức tạp O (1)?
- 21. Tại sao độ phức tạp của thuật toán này là O (1)
- 22. Độ phức tạp về thời gian chứa (Object o), trong ArrayList của các đối tượng
- 23. Big O, độ phức tạp của việc tổng hợp một chuỗi số n là bao nhiêu?
- 24. độ phức tạp của Morris Traversal o (n) như thế nào?
- 25. Tại sao độ phức tạp của container bản đồ C++ STL O (log (n))?
- 26. Độ phức tạp về thời gian của erlang dict
- 27. Độ phức tạp thời gian tra cứu của HashSet <T> (IEqualityComparer <T>) là gì?
- 28. Một công cụ để tính toán độ phức tạp thời gian lớn của mã Java?
- 29. Độ phức tạp của thời gian nguyên trong Haskell
- 30. Độ phức tạp về thời gian của hàm
Vâng, 'Luồng' là một giao diện. Nó chỉ phụ thuộc vào việc thực hiện. – Obicere