我有一個類用於表示個人對象。在每個Person對象中,有多個包含朋友,家人和其他Person對象的數組列表。我現在試圖找出最好的辦法是找到那個人的全部親戚。通過許多列表/深度嵌套數據的高效方法
例如:
A具有乙家庭... B具有X和Y如家庭... X具有將z作爲家庭...等等。
在上面的例子中,A會有4個家庭成員,直到人Z.使用嵌套循環在這裏看起來像是一個非常糟糕的主意,特別是如果數據非常大。提出更好的數據結構或有效的方法來解決這個問題會很好。
我有一個類用於表示個人對象。在每個Person對象中,有多個包含朋友,家人和其他Person對象的數組列表。我現在試圖找出最好的辦法是找到那個人的全部親戚。通過許多列表/深度嵌套數據的高效方法
例如:
A具有乙家庭... B具有X和Y如家庭... X具有將z作爲家庭...等等。
在上面的例子中,A會有4個家庭成員,直到人Z.使用嵌套循環在這裏看起來像是一個非常糟糕的主意,特別是如果數據非常大。提出更好的數據結構或有效的方法來解決這個問題會很好。
看起來像你幾乎試圖做一個圖遍歷。查看深度優先搜索或廣度優先搜索算法,看看您是否可以將這些算法轉換爲適合您的需求
我建議使用此http://algs4.cs.princeton.edu/41graph/Graph.java.html類,並根據您的數據實現DFS或BFS。可能BFS在這種情況下效率更高,看起來這樣