2011-12-13 48 views
5

Tôi muốn biết cấu trúc dữ liệu nào phù hợp nhất để lưu trữ cây gia đình cho một người, có mối quan hệ vợ chồng, con và cha mẹ. Ngoài ra tôi muốn biết rằng nếu một người có quan hệ huyết thống với người khác.cấu trúc dữ liệu cho cây gia đình

Nó sẽ là tốt tôi một số cấu trúc dữ liệu từ c + + STL có thể được tìm thấy.

Chỉ cần có ý tưởng.

Trả lời

3

Bài tập về nhà phải không?

Thậm chí nếu nó được gọi là "Cây", Đó là một cấu trúc tồi tệ: tưởng tượng hai anh em kết hôn với hai chị em.

Cấu trúc biểu đồ chung sẽ là cấu trúc tốt nhất (một cây là biểu mẫu cụ thể của biểu đồ). Cạnh sẽ mang mối quan hệ. Sau đó, bạn có thể chạy một thuật toán tìm đường dẫn (như dijkstra cũ tốt) chỉ trên các cạnh đại diện cho mối quan hệ máu.

Và tăng cường :: biểu đồ là một thư viện rất tốt.

+0

không có công việc nhà riêng nào –

4

Một biểu đồ phù hợp nhất với điều này và tôi khuyên bạn nên sử dụng Boost.

Lưu ý rằng việc xây dựng một cây gia đình có thể chứng minh là khó khăn, như được minh họa bởi this question.

Nếu không, std không xác định cấu trúc dữ liệu biểu đồ. Và vì biểu đồ rõ ràng là phù hợp nhất cho tình huống của bạn, tôi khuyên bạn nên triển khai phiên bản của riêng mình hoặc sử dụng Boost.

+1

Tôi vừa đăng liên kết đó ... +1 :) – jrok

+0

@jrok yup, đây là một tác phẩm cổ điển :) –

Các vấn đề liên quan