我有一個未排序的對象列表。這些對象表示一棵二叉樹。查找C#中節點的深度#
對象的列表:
new List<Object>
{
new { Id = 3, Left = /, Right =/}
new { Id = 5, Left = /, Right =/}
new { Id = 4, Left = 2, Right = 5 }
new { Id = 2, Left = 1, Right = 3 }
new { Id = 1, Left = /, Right =/}
}
二叉樹:
4
/\
2 5
/\
1 3
我需要一種算法,會發現這些節點的深度。我知道的唯一算法是深度優先搜索。這意味着我必須將對象列表轉換爲樹。考慮到.NET沒有明確的樹形數據結構,你會如何解決這個問題?我是否必須將數據結構轉換爲樹(我不是真的想寫所有的代碼)。還有其他算法嗎?