3

我写了一个非常原始的二叉树,它工作得很好。问题是,调试很痛苦,实际上查看每个节点包含的内容及其所有子孙非常繁琐。是否有任何可视化工具,以便在调试时获得数据的树状表示?

4

1 回答 1

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:-,-]]
于 2014-05-10T10:50:11.517 回答