Bất cứ ai có thể chỉ cho tôi tài nguyên liệt kê sự phức tạp Big-O của các hàm thư viện clojure cơ bản như conj, cons, vv? Tôi biết rằng Big-O sẽ thay đổi tùy thuộc vào loại đầu vào, nhưng vẫn là một tài nguyên có sẵn? Tôi cảm thấy khó chịu khi viết một cái gì đó mà không có một ý tưởng thô sơ về việc nó sẽ chạy nhanh như thế nào.Big O của chức năng thư viện clojure
Trả lời
Dưới đây là một bảng sáng tác bởi John Jacobsen và đưa from this discussion:
muộn để đảng ở đây, nhưng tôi thấy the link in the comments of the first answer phải dứt khoát hơn, vì vậy tôi post lại nó ở đây với một vài sửa đổi (có nghĩa là, english->big-o
):
Trên các bộ sưu tập chưa phân loại, O (log n) là thời gian gần như không đổi, và vì 2 các nút có thể vừa với các nút được phân đoạn bit trie, điều này có nghĩa là worst-case complexity of log32232 = 6.4. Vectơ cũng là tries where the indices are keys.
Bộ sưu tập được sắp xếp sử dụng tìm kiếm nhị phân nếu có thể. (Có, đây là cả hai kỹ thuật O (log n), bao gồm cả các yếu tố không đổi là để tham khảo.)
Danh sách đảm bảo thời gian không đổi cho hoạt động trên phần tử đầu tiên và O (n) cho mọi thứ khác.
- 1. Big-O của .GetProperties()
- 2. Confused về Big O notation
- 3. Tricky Big-O complexity
- 4. Hiểu Big O
- 5. Big O của linq. Ở đâu?
- 6. Big-O của danh sách cắt
- 7. Đệ quy và Big O
- 8. Big O gắn thêm vào golang
- 9. Chức năng gọi thư viện Javascript d3
- 10. Chức năng Clojure Literals
- 11. Big-O phức tạp của lồng cho vòng
- 12. Tính phức tạp của tiêu chuẩn :: find_end là Big-O
- 13. Big O của các phương pháp đệ quy
- 14. Big-O cho SQL là gì?
- 15. Big O - Vòng lặp lồng nhau
- 16. Về màn trình diễn của `chức năng first` Clojure của
- 17. Chức năng Clojure cho Emacs?
- 18. Chức năng phối hợp Clojure
- 19. D tập tin I/O chức năng
- 20. Ký hiệu Big O cho số tam giác?
- 21. Big-O cho các triển khai Fibonacci khác nhau
- 22. Hiểu C cài đặt chức năng thư viện cài sẵn
- 23. Chức năng trung bình trong Thư viện Toán C?
- 24. Ngăn nhập chức năng từ thư viện tĩnh
- 25. Gọi chức năng thư viện C/C++ từ PHP
- 26. Thư viện chức năng Javascript nào: Gạch dưới hoặc wu.js hoặc Chức năng hoặc ...?
- 27. Pointfree (hoặc thư viện) chức năng để áp dụng hai chức năng để đơn đầu vào
- 28. Thư viện lập trình chức năng cho Mục tiêu-C
- 29. Có chức năng `lật` trong thư viện chuẩn OCaml không?
- 30. Có thư viện Lập trình chức năng cho .NET không?
Một "1" trong dấu ngoặc kép, là đủ gần với một đến không quan trọng (theo Rich Hickey.) Nhưng thực sự là O (log_32 chiều sâu)? –
Bảng này không hoàn toàn chính xác. 'last' luôn là O (n). 'cons' luôn là O (1) (giả sử' seq' luôn là O (1)). 'conj' trong một vector chỉ là" 1 ", không phải là 1. – kotarak
@ kotarak Bạn có thể xây dựng một chút về sửa chữa của bạn? :) – Anonymous