3
아주 원시적 인 이진 트리를 작성했으며 정상적으로 작동합니다. 문제는 디버깅하는 것이 고통이며 실제로 각 노드에 포함 된 내용과 모든 자식 및 손자를 보는 것이 매우 지루하다는 점입니다. 비주얼 라이저가 있습니까? 그래서 디버깅 할 때 데이터의 트리 표현을 얻을 수 있습니까?이진 트리 디버깅
아주 원시적 인 이진 트리를 작성했으며 정상적으로 작동합니다. 문제는 디버깅하는 것이 고통이며 실제로 각 노드에 포함 된 내용과 모든 자식 및 손자를 보는 것이 매우 지루하다는 점입니다. 비주얼 라이저가 있습니까? 그래서 디버깅 할 때 데이터의 트리 표현을 얻을 수 있습니까?이진 트리 디버깅
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:-,-]]
을 경우, 당신은 할 수 없습니다 ToString을 재정의하려면 DebugDisplayAttribute : http://msdn.microsoft.com/en-us/library/ms228992(v=vs.110).aspx를 사용하여 시각적 표현을 표시하는 임의의 메서드를 할당 할 수 있습니다. – KevinS