Có bất kỳ triển khai nào đã biết về cấu trúc dữ liệu B+ Tree
trong Erlang không?Cấu trúc dữ liệu cây B + ở Erlang
Trả lời
Tôi chắc chắn sẽ khuyên bạn nên xem xét ứng dụng eleveldb
nếu bạn thực sự cần một cây B +. Vấn đề là bạn muốn lưu trữ dữ liệu trong lá của cây, off-line trên đĩa, vì đây là nơi B + -trees thường là một tùy chọn. Ngoài ra còn có một biến thể trong Erlang thuần túy của LevelDB được gọi là hanoidb
cũng khá đẹp, được viết bởi Kresten Krab Thorup. Cùng một khu vực sử dụng.
Nếu bạn cần bộ nhớ trong bộ nhớ, bạn nên xem ETS hoặc Mnesia (cái sau để phân phối). Trong Erlang những xu hướng này là giải pháp nhanh nhất vì bạn có lợi thế là không bao giờ đánh đĩa. Điều này đặc biệt đúng nếu bạn có thể thực hiện tra cứu khóa/giá trị tiêu chuẩn trên dữ liệu của mình mà không cần chạy bên trong ngữ cảnh giao dịch trong Mnesia (thực hiện đọc bẩn). Tốc độ tra cứu điển hình sau đó là 5-10 nano giây.
Không có thư viện độc lập mà tôi biết. Tuy nhiên, CouchDB source code rất dễ đọc và được triển khai tốt.
Chỉ cần một sự thay thế nếu bạn không muốn hack vào hệ thống cơ sở dữ liệu mã nguồn mở:
Chris Okasaki của Cấu trúc dữ liệu thuần túy chức năng có thể cung cấp cho bạn một số cái nhìn sâu sắc về việc thực hiện nó một mình. Bản thân cây B + không phức tạp với kinh nghiệm của tôi.
Tôi khuyên bạn nên sử dụng gb_trees nếu bạn muốn cả bộ nhớ trong bộ nhớ và thứ gì đó thấp hơn (theo một nghĩa nào đó) so với sách và chứng mất trí.
- 1. Cấu trúc dữ liệu cây Postgresql
- 2. Cấu trúc dữ liệu cây và đồ thị trong ruby
- 3. Cấu trúc cây trong cơ sở dữ liệu nosql
- 4. Hướng dẫn cấu trúc dữ liệu cây trong C
- 5. Truy vấn dữ liệu cấu trúc cây trong SQL Server
- 6. cấu trúc dữ liệu cho cây gia đình
- 7. Mảng cơ bản [] Cấu trúc dữ liệu cây trong Java
- 8. Cấu trúc dữ liệu cây javascript nào có sẵn?
- 9. Chỉ số SQL Server B-cây có cấu trúc phẳng hoặc cấu trúc chiều sâu
- 10. Cấu trúc dữ liệu ánh xạ một-một (A, B) với getKey (B) trong O (1)?
- 11. Cấu trúc dữ liệu dạng băm động ở Fortran
- 12. Tôi sử dụng cấu trúc dữ liệu nào ở đây?
- 13. Tái cấu trúc lớp dữ liệu
- 14. Cấu trúc dữ liệu C#
- 15. Java câu hỏi cấu trúc dữ liệu
- 16. Tạo cấu trúc cây từ csv
- 17. Làm cách nào để xác định loại cấu trúc dữ liệu cây nào để chọn?
- 18. Dữ liệu cốt lõi: Cách thiết kế cấu trúc dữ liệu cây từ một mục dữ liệu chính
- 19. Cấu trúc và cấu trúc dữ liệu khác nhau
- 20. Tạo cấu trúc dữ liệu như cấu trúc dữ liệu trong Java
- 21. Làm thế nào để sử dụng mochijson để mã hóa cấu trúc dữ liệu trong erlang?
- 22. Cấu trúc cây chỉnh sửa Wordnet
- 23. C: Cấu trúc dữ liệu căn chỉnh
- 24. Cây triển khai và cấu trúc dữ liệu khác với ruby
- 25. Thực hiện một cấu trúc dữ liệu từ điển chức năng/liên tục
- 26. Một câu đố về cấu trúc dữ liệu
- 27. Thuật toán và cấu trúc dữ liệu
- 28. Thư viện cấu trúc dữ liệu C
- 29. Cấu trúc dữ liệu Trie - Java
- 30. Cọ vẽ cấu trúc dữ liệu (Java)