Sự khác biệt giữa hai thuật toán này là gì?Sự khác biệt giữa scipy.spatial.KDTree và scipy.spatial.cKDTree
22
A
Trả lời
22
cKDTree là một tập con của KDTree, có lẽ được triển khai trong C, do đó, do đó nhanh hơn.
Mỗi trong số họ là
một Trie nhị phân, mỗi người trong số có các nút đại diện cho một hyperrectangle trục liên kết. Mỗi nút chỉ định một trục và chia tách tập các điểm dựa trên việc tọa độ của chúng dọc theo trục đó lớn hơn hoặc nhỏ hơn giá trị cụ thể.
nhưng KDTree
cũng hỗ trợ tất cả các nước láng giềng truy vấn, cả hai với mảng các điểm và với kd-cây khác. Chúng sử dụng thuật toán hiệu quả hợp lý, nhưng cây kd không nhất thiết là cấu trúc dữ liệu tốt nhất cho loại tính toán này.
7
Trong trường hợp sử dụng (5D gần nhất nhìn hàng xóm trong một KDTree với khoảng 100K điểm) cKDTree nhanh hơn khoảng 12 lần so với KDTree.
Các vấn đề liên quan
- 1. Sự khác biệt giữa $ (...) và `...`
- 2. Sự khác biệt giữa. và #
- 3. Sự khác biệt giữa $ * và $ @
- 4. Sự khác biệt giữa ". +" Và ". +?"
- 5. Sự khác biệt giữa "**/* /" và "** /"?
- 6. Sự khác biệt giữa = và: =
- 7. Sự khác biệt về sự khác biệt giữa Matplotlib giữa Agg và Cairo
- 8. Sự khác biệt giữa Html.RenderAction và Html.Action
- 9. Sự khác biệt giữa cookie và phiên?
- 10. Sự khác biệt giữa '.' và "." trong java
- 11. Sự khác biệt giữa SimpleDB và S3
- 12. C++ - Sự khác biệt giữa (*). và ->?
- 13. Sự khác biệt giữa offsetHeight và clientHeight
- 14. Sự khác biệt giữa RDLC và SSRS
- 15. Sự khác biệt giữa "\ n" và Environment.NewLine
- 16. Sự khác biệt giữa qt và PyQt4
- 17. Sự khác biệt giữa AForge và OpenCV
- 18. Sự khác biệt giữa toFixed() và toPrecision()?
- 19. sự khác biệt giữa cacao và cocoatouch
- 20. Sự khác biệt giữa smtpClient.send() và smtpClient.SendAsync()?
- 21. Sự khác biệt giữa window.location.host và window.location.hostname
- 22. Sự khác biệt giữa DTLS và TLS
- 23. Sự khác biệt giữa Mealy và Moore
- 24. sự khác biệt giữa createRfcommSocketToServiceRecord và createRfcommSocket
- 25. Sự khác biệt giữa Arrays.sort() và Arrays.parallelSort()
- 26. sự khác biệt giữa orm và pdo
- 27. Sự khác biệt giữa nproc và ulimit?
- 28. Sự khác biệt giữa apc_add và apc_store?
- 29. Sự khác biệt giữa mb_substr và substr
- 30. Sự khác biệt giữa p4diff và p4diff2
Tôi ngạc nhiên rằng điều này không được quảng cáo nổi bật hơn trong các tài liệu và bài viết của KDTree. Đối với trường hợp sử dụng đơn giản (và có lẽ là phổ biến) của tôi trong việc tìm kiếm hàng xóm trong 3D với khoảng 20.000 điểm, cKDTree nhanh hơn 40 lần. – python1981