Tôi biết có tải hàng loạt trong cây b +. Tôi chỉ muốn biết là có bất kỳ thuật toán cho tải số lượng lớn trong B-Tree. Ví dụ cho một mảng dữ liệu cách tốt nhất để tạo B-Tree là gì?Có thuật toán nào để tải hàng loạt trong B-Tree không?
Trả lời
Thực ra Câu trả lời là có.
Sự khác biệt chính giữa B + -trees và đồng bằng B-cây là các giá trị thực sự được lưu trữ trong lá cho cũ, trong khi sau này bạn sẽ tìm thấy giá trị trong mỗi nút. Do đó B + -trees cho phép bạn lưu trữ dữ liệu một cách gần như liên tục, mỗi lá chứa một phần tiếp giáp của toàn bộ dữ liệu được sắp xếp. Điều này không thể đúng đối với các cây B: một nút bên trong sẽ chứa một số phần tử, nhưng chúng sẽ không tiếp giáp với nhau. toàn bộ tập dữ liệu được sắp xếp.
Thuộc tính này là cần thiết để tải hàng loạt: quá trình đó hoạt động trên một tập dữ liệu đã được sắp xếp bằng cách cắt nó thành các mảng sẽ tạo thành lá của B + -tree. Vì vậy, đối với một cây B có vẻ như nó không thể làm việc.
Nếu chúng ta có thể sắp xếp dữ liệu theo cách nhóm các phần tử nút bên trong với nhau, thì vấn đề được giải quyết. Để làm được điều đó, người ta phải biết trước các yếu tố sẽ được nhóm lại như thế nào. Điều này hóa ra là có thể.
Hãy gọi o
(thứ tự) số lượng tối thiểu trẻ em trong một nút (phù hợp với định nghĩa ban đầu của đơn đặt hàng B-tree). Chúng tôi coi nút gốc ở giai đoạn cao nhất của cây và lá ở mức thấp nhất (giai đoạn 0). Đối với một cây cân bằng, tất cả lá cây sẽ thực sự ở cùng một giai đoạn.
Giai đoạn k của cây nhóm các phần tử được đặt cách nhau bởi ít nhất o
yếu tố trong giai đoạn k-1. Sau khi sắp xếp ban đầu, chúng ta phải trích xuất các phần tử từ mảng được sắp xếp, tạo thành giai đoạn 0 và nhóm chúng thành một mảng khác để xây dựng giai đoạn 1, sau đó thực hiện lại với mảng đó vào một mảng mới cho giai đoạn 2 và lặp lại quy trình cho đến khi có ít hơn o
yếu tố trong mảng mới nhất, đây sẽ là giai đoạn gốc. Từ đó trở đi, người ta có thể xây dựng các cây trực tiếp từ giai đoạn thiết lập:
- chia từng giai đoạn trong mảng của
o
yếu tố, - mảng xây dựng chỉ số để liên kết các nút để subnodes
- xây dựng mỗi nút như mảng mảng giá trị mảng * tương ứng
Cây kết quả sẽ không nhất thiết phải cân bằng tốt. Nó phụ thuộc vào số lượng mục nhập trong tập dữ liệu và o
. Nó sẽ có thể điều chỉnh khoảng thời gian được sử dụng trong việc xây dựng các giai đoạn để có một cây phân tán tốt hơn mặc dù.
Tất cả trong tất cả công việc cần thiết để tải hàng loạt cây B là tẻ nhạt hơn so với B +-tree, nhưng có thể.
- 1. Tôi làm cách nào để tải lên hàng loạt s3?
- 2. Tải lên hàng loạt để blob trong Azure
- 3. Tải dữ liệu hàng loạt vào sqlite?
- 4. Tải tệp hàng loạt vào SQL Azure?
- 5. Tải lên hàng loạt Facebook Ảnh iOS
- 6. Thuật toán giảm thiểu giỏ hàng
- 7. Thuật toán để tạo màu duy nhất
- 8. Thuật toán truyền tải cây Javascript
- 9. Thuật toán này có tuyến tính không?
- 10. Có thể thực hiện tải lên hàng loạt lên amazon s3 không?
- 11. xóa hàng loạt trong GIT?
- 12. Lựa chọn hàng xóm trong thuật toán ủ mô phỏng
- 13. Dọn dẹp hàng loạt astar
- 14. Thực hiện hiện tại cây Btree hoặc B + trong Java
- 15. Tải lên hàng loạt nhiều tệp văn bản vào MediaWiki
- 16. Tải hàng loạt tin nhắn văn bản theo lô
- 17. Nexus hỗ trợ tải lên hàng loạt các hiện vật?
- 18. Thuật toán trong C
- 19. Tải xuống hàng loạt các trang web C#
- 20. Lỗi MySQL SỬ DỤNG BTREE
- 21. Có phạm vi "công việc" hàng loạt mùa xuân không?
- 22. Sử dụng thuật toán nào: Thuật toán băm được quản lý và không được quản lý
- 23. Thuật toán để tính toán chế độ
- 24. Làm thế nào để có được vị trí của chuỗi phụ trong chuỗi trong hàng loạt
- 25. Có cách nào đơn giản để thay thế văn bản tệp hàng loạt tại chỗ không?
- 26. Có cách nào để biết thuật toán GC nào JVM hiện đang sử dụng
- 27. Thuật toán ghi nhật ký
- 28. EF4 có thể hỗ trợ cập nhật hàng loạt không?
- 29. Có plugin email hàng loạt cho ứng dụng Rails không?
- 30. Thuật toán để hiểu nghĩa