Khi tôi đề cập đến mô hình tập lồng nhau, tôi có nghĩa là những gì được mô tả here.Làm thế nào để bạn sắp xếp một cây được lưu trữ bằng cách sử dụng mô hình tập hợp lồng nhau?
Tôi cần phải xây dựng một hệ thống mới. Kể từ khi mô hình tập lồng nhau được tối ưu hóa cho lần đọc thay vì viết, tôi quyết định sử dụng nó. Thật không may trong quá trình nghiên cứu và thử nghiệm các bộ lồng nhau của tôi, tôi đã gặp phải vấn đề về cách hiển thị cây phân cấp với các nút được sắp xếp. Ví dụ nếu tôi có hệ thống phân cấp:
root
finances
budgeting
fy08
projects
research
fabrication
release
trash
Tôi muốn điều đó được sắp xếp sao cho nó sẽ hiển thị như sau:
root
finances
budgeting
fy08
projects
fabrication
release
research
trash
Chú ý rằng việc chế tạo xuất hiện trước nghiên cứu. Dù sao, sau một tìm kiếm dài, tôi thấy câu trả lời như "lưu trữ cây trong một mảng đa chiều và sắp xếp nó" và "đặt cây và quay trở lại vào mô hình tập hợp lồng nhau của bạn" (Tôi đang ẩn dụ ..). .). Dù bằng cách nào, các giải pháp đầu tiên là một sự lãng phí khủng khiếp của RAM và CPU, đó là cả hai nguồn tài nguyên rất hữu hạn ... Giải pháp thứ hai chỉ trông giống như rất nhiều mã đau đớn.
Bất kể, tôi đã có thể tìm ra cách để (sử dụng mô hình bộ lồng nhau):
- Bắt đầu một cây mới trong SQL
- Chèn một nút như một đứa trẻ của nút khác trong cây
- Chèn một nút sau nút anh chị em trong cây
- Kéo toàn bộ cây có cấu trúc phân cấp từ SQL
- Kéo một cây con từ một nút cụ thể (bao gồm gốc) trong phân cấp có hoặc không có giới hạn chiều sâu
- Tìm phụ huynh của bất kỳ nút trong cây
Vì vậy, tôi đã tìm # 5 và # 6 có thể được sử dụng để thực hiện sắp xếp tôi muốn, và nó cũng có thể được sử dụng để xây dựng lại cây theo thứ tự sắp xếp như tốt.
Tuy nhiên, bây giờ tôi đã xem xét tất cả những điều này tôi đã học được để làm tôi thấy rằng # 3, # 5 và # 6 có thể được sử dụng cùng nhau để thực hiện chèn được sắp xếp. Nếu tôi đã sắp xếp chèn nó luôn luôn được sắp xếp. Tuy nhiên, nếu tôi thay đổi tiêu chí sắp xếp hoặc tôi muốn một thứ tự sắp xếp khác, tôi sẽ quay lại hình vuông.
Có thể đây chỉ là giới hạn của mô hình tập hợp lồng nhau không? Việc sử dụng nó có ức chế việc phân loại truy vấn đầu ra không?
Tuyệt vời, đây chính xác là những gì tôi đang tìm kiếm. Nó hoàn toàn giải quyết vấn đề sắp xếp mà tôi đã có với hệ thống phân cấp được lồng nhau của chúng tôi. – Hamman359