Có cấu trúc dữ liệu cho các bán kết tương tự như cấu trúc dữ liệu cây không?


13

Nếu chúng ta coi một cái cây như là một bộ được đặt hàng một phần, nó sẽ trở thành một trường hợp đặc biệt của một bán kết. Đối với một bán kết nối, chúng tôi muốn có thể tính toán giới hạn trên (duy nhất) của hai yếu tố (nhiều hơn hoặc ít hơn) một cách hiệu quả. Trong trường hợp của cây, cấu trúc dữ liệu cho phép điều này sẽ được lưu trữ cho mỗi phần tử trong nút tương ứng, một con trỏ tới cha mẹ và thước đo khoảng cách đến gốc. (Trên thực tế, ghi nhãn dựa trên loại cấu trúc liên kết thường được sử dụng cho "thước đo khoảng cách đến gốc", tất cả những gì cần thiết là một thứ tự từng phần tương thích có thể được đánh giá hiệu quả).

Mỗi nửa liên kết hữu hạn có thể được biểu diễn dưới dạng một tập hợp con của tập hợp hữu hạn với ngăn chặn theo thứ tự sao cho giới hạn trên nhỏ nhất được đưa ra bởi liên kết của các tập hợp. Do đó, việc biểu diễn mỗi phần tử bằng một số lượng thẻ hữu hạn và tính toán giới hạn trên ít nhất bằng liên kết của các thẻ tương ứng sẽ là một cấu trúc dữ liệu có thể. . b "hoặc thậm chí tất cả các kết quả của" tham gia (a, b) ".

Tuy nhiên, sử dụng cấu trúc dữ liệu như vậy để thể hiện một cái cây sẽ là một thứ lạ. Có nhiều cấu trúc dữ liệu giống như cây cho các nửa liên kết, mà vẫn cho phép (ít nhiều) tính toán hiệu quả của giới hạn trên (duy nhất) của hai phần tử không? (Có lẽ một số loại biểu đồ chu kỳ có hướng với thông tin bổ sung trong các nút tương tự như thước đo khoảng cách đến gốc cho cây?)


2
Định lý 2.2 từ math.hawaii.edu/~jb/math618/os2uh.pdf cho thấy một bán kết có thể được biểu diễn dưới dạng một tập hợp con (theo cách tương đối tầm thường) như giả định ở trên.
Thomas Klimpel

Câu trả lời:


9

Đây blogpost trên lý thuyết mạng có một phần tài liệu tham khảo hữu ích, trong đó có những người khác "Lattice thuyết với ứng dụng" bởi Vijay K. Garg. Chương 2 "Đại diện cho các vị trí" mô tả một số cấu trúc dữ liệu để biểu diễn các vị trí và thảo luận về cách tính toán nối (x, y) bằng cách sử dụng cấu trúc dữ liệu đó.

Hai cấu trúc dữ liệu đầu tiên được thảo luận là biểu diễn danh sách kề của biểu đồ giảm chuyển tiếp (= biểu đồ Hasse / quan hệ che phủ) và biểu đồ đóng cửa bắc cầu (= quan hệ vị trí). Một nhận xét về những lợi ích của việc sử dụng một loại cấu trúc liên kết để gắn nhãn các nút trước cuộc thảo luận đó. Lưu ý rằng các nhãn của loại cấu trúc liên kết sẽ đủ tốt là "thước đo khoảng cách đến gốc", là một phần của cấu trúc dữ liệu cho một cây trong câu hỏi.

Các đại diện được thảo luận khác là "Biểu diễn bộ xương", "Biểu diễn ma trận" và "Biểu diễn dựa trên kích thước". "Biểu diễn bộ xương" rất thú vị và hữu ích, nhưng dựa trên sự phân rã chuỗi (= bất kỳ) của poset. "Biểu diễn ma trận" có vẻ tầm thường, nhưng có lẽ nó là đại diện tốt nhất cho hầu hết các vấn đề thực tế. "Biểu diễn dựa trên kích thước" đại diện cho tư thế là tập con của sản phẩm Cartesian của các đơn hàng tuyến tính, nhưng tính toán đại diện tối thiểu của loại này là NP-hard.

Tóm lại, đại diện dễ hiểu nhất trong số này là đại diện danh sách kề của việc giảm chuyển tiếp cùng với việc dán nhãn các nút theo một loại cấu trúc liên kết (thay vì "thước đo khoảng cách đến gốc"). Đây thực sự là một trong những đại diện được sử dụng bởi Sage (cái còn lại là "Biểu diễn ma trận").

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.