public void Test() { nAryTree sample = new nAryTree(); sample = sample.makeSampleTree(0); sample.displayTreePreOrder(); }
public nAryTree makeSampleTree(int key) { nAryTree myTree; if (!visited[key]) { visited[key] = true; myTree = new nAryTree(key); if (myDict.ContainsKey(myTree.Value)) { if (myDict[myTree.Value] == null) { myTree.decendents = null; } else { myTree.decendents = new nAryTree[myDict[myTree.Value].Length]; for (int i = 0; i < myDict[myTree.Value].Length; i++) { myTree.decendents[i] = makeSampleTree(myDict[myTree.Value][i]); if (1 == 0 && myTree.decendents[i].parents.Length < 2) { if (myTree.decendents[i].parents[0] == null) { myTree.decendents[i].parents[0] = myTree; } else { myTree.decendents[i].parents[1] = myTree; } } } } } } else { //DFS to search myTree = FetchNodeFromTree(key); } return(myTree); }