Tôi có những gì tôi nghĩ là một vấn đề thú vị.Có cấu trúc cây hoặc thuật toán để trộn các cấp trong cây không?
Về cơ bản, tôi có một danh sách các mục, trong đó mỗi mục có một bộ siêu dữ liệu cố định, có giá trị khác nhau.
Ví dụ:
- khoản 1: {type = "text", tác giả = "User A", Chỉnh sửa ngày = "2003/03/03"}
- khoản 2: {Type = "Bảng", Tác giả = "Người dùng A", Ngày chỉnh sửa = "04/05/2006"}
- Mục 3: {Type = "Hình ảnh", Tác giả = "Người dùng B", Ngày chỉnh sửa = "05/05/2005 "}
- Mục 4: {Loại =" Văn bản ", Tác giả =" Người dùng B ", Ngày chỉnh sửa =" 05/07/2007 "}
Bây giờ, khi nó đứng, danh sách các mặt hàng được san bằng và được trình bày trong một bảng. Tuy nhiên, chúng tôi muốn tìm cách cho phép người dùng duyệt qua cây trong một cây, nhưng với sự linh hoạt hơn, họ có thể 'xoay vòng' thứ tự mà mỗi thẻ siêu dữ liệu xuất hiện trên cây.
Vì vậy, ban đầu nó có thể trông giống như:
Items
+ Table
+ User A
+ 04/05/2006
-> Item 2
-> Item 2
-> Item 2
+ Text
+ User A
+ 03/03/2003
-> Item 1
-> Item 1
+ User B
+ 05/07/2007
-> Item 4
-> Item 4
-> Item 1
-> Item 4
+ Image
..
Tuy nhiên, giả sử thay vào đó, người dùng muốn lật nó tròn và xem tất cả các mục liên quan đến một người dùng cụ thể:
Items
+ User A
+ Text
+ Table
-> Item 1
-> Item 2
+ User B
+ Image
+ Text
-> Item 3
-> Item 4
Và như vậy trên.
Tôi hy vọng điều đó có ý nghĩa.
Vì vậy, điều tôi đang tự hỏi, liệu có cách tiếp cận thực hành tốt nhất để đạt được điều này với chi phí thấp không? Kết quả của mỗi 'flip/shuffle/pivot' được biểu diễn độc đáo trên cây, vì vậy rõ ràng ý nghĩ đầu tiên là khi người dùng yêu cầu thay đổi biểu diễn, một cây mới có thể được tạo ra trong danh sách các mục theo yêu cầu. Tuy nhiên, tôi đã hy vọng có lẽ có một cách tốt hơn, chỉ cần xoay một cây duy nhất, vv ..
Ngoài ra, đây có thể được thực hiện bằng JavaScript rẻ trên trình duyệt của người dùng, nếu chương trình phụ trợ chỉ đơn giản trả lại một danh sách các mặt hàng phẳng?
Rất cám ơn & loại liên quan,
Jamie
Đây có phải là trong Java hoặc Javascript không? Chúng là hai ngôn ngữ rất khác nhau. –
@Reverend Gonzo - Tốt hơn trong JavaScript để cho phép trình duyệt của khách hàng thay đổi cách trình bày dữ liệu mà không cần phải thực hiện các yêu cầu lặp lại đối với một servlet. Tuy nhiên, nếu nó sẽ là quá chuyên sâu để làm trong JS, nó có thể được xử lý trong Java mỗi lần. – Jay
tôi biết ai đó đã triển khai cách này để xem các tập dữ liệu lớn trên thiết bị di động (nếu tôi hiểu chính xác). tôi nghĩ rằng đó là một số loại javascript lib. anh ấy đã trình bày về nó hai lần ở nhóm ngôn ngữ năng động tại địa phương của chúng tôi. nếu bạn quan tâm gửi email cho tôi theo địa chỉ [email protected] và tôi có thể kết nối bạn. –