2014-05-10 9 views
3

아주 원시적 인 이진 트리를 작성했으며 정상적으로 작동합니다. 문제는 디버깅하는 것이 고통이며 실제로 각 노드에 포함 된 내용과 모든 자식 및 손자를 보는 것이 매우 지루하다는 점입니다. 비주얼 라이저가 있습니까? 그래서 디버깅 할 때 데이터의 트리 표현을 얻을 수 있습니까?이진 트리 디버깅

답변

2
당신은 다음과 같이 ToString을 무시하고 인간이 읽을 수있는 트리 표현을 생산하여 "가난한 사람의 시각화"를 구축 할 수 있습니다

: 예를 들어

string ToString() { 
    var leftSub = left != null ? left.ToString() : "-"; 
    var rightSub = right != null ? right.ToString() : "-"; 
    return string.Format("[{0}:{1},{2}]", data, leftSub, rightSub); 
} 

 6 
    /\ 
    / 9 
    3 
/\ 
1 4 
과 같은 이진 트리에 대한

이 코드는이 출력을 생성한다 :

[6:[3:[1:-,-],[4:-,-]],[9:-,-]] 
+1

을 경우, 당신은 할 수 없습니다 ToString을 재정의하려면 DebugDisplayAttribute : http://msdn.microsoft.com/en-us/library/ms228992(v=vs.110).aspx를 사용하여 시각적 표현을 표시하는 임의의 메서드를 할당 할 수 있습니다. – KevinS