调试二叉树

时间:2014-05-10 10:44:04

标签: c# debugging binary-tree debuggervisualizer

我已经编写了一个非常原始的二叉树,它运行得很好。问题是,调试它是一种痛苦,实际上看到每个节点包含的内容以及他们所有的子孙都非常繁琐。有没有可视化工具,所以我可以在调试时获得数据的树形图?

1 个答案:

答案 0 :(得分: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:-,-]]