我有一個具有父子關係的自定義節點的集合。每個節點可以是複合類型(其中有其他子節點)或簡單類型(葉級節點)從父子節點集合中查找死節點
我想編寫一個函數,該函數將給出所有死點節點的列表。 例如這裏是節點集合
基於以上的情況下,P2,P3,P8,P9,P10,P6,C1是死的節點(因爲了他們的層次,他們沒有任何在他們簡單的節點)
我需要一個功能
private List<NodeEntity> GetDeadNodes(List<NodeEntity> originalList)
這裏是函數具有原始列表
private List<NodeEntity> GetOriginalList()
{
var list = new List<NodeEntity>()
{
new NodeEntity() {Code = "P1", ParentCode = "001", Type = NodeType.Composite},
new NodeEntity() {Code = "C1", ParentCode = "001", Type = NodeType.Composite},
new NodeEntity() {Code = "P2", ParentCode = "P1", Type = NodeType.Composite},
new NodeEntity() {Code = "P3", ParentCode = "P2", Type = NodeType.Composite},
new NodeEntity() {Code = "P8", ParentCode = "P3", Type = NodeType.Composite},
new NodeEntity() {Code = "P9", ParentCode = "P3", Type = NodeType.Composite},
new NodeEntity() {Code = "P4", ParentCode = "P1", Type = NodeType.Composite},
new NodeEntity() {Code = "L3", ParentCode = "P1", Type = NodeType.Simple},
new NodeEntity() {Code = "P6", ParentCode = "P1", Type = NodeType.Composite},
new NodeEntity() {Code = "P10", ParentCode = "P4", Type = NodeType.Composite},
new NodeEntity() {Code = "L2", ParentCode = "P4", Type = NodeType.Simple},
new NodeEntity() {Code = "P5", ParentCode = "P4", Type = NodeType.Composite},
new NodeEntity() {Code = "L1", ParentCode = "P5", Type = NodeType.Simple}
};
return list;
}
p1,p4,p6,L3,c1處於同一水平嗎? – displayName
你有什麼試過?樹加遞歸深度優先搜索?從簡單的節點開始訪問節點隊列?什麼? –
看到我的圖像附件。 p6,p4,L3是p1的孩子。 c1和p1與001 – dev1