调试二叉树

本文关键字:二叉树 调试 | 更新日期: 2023-09-27 18:02:36

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

调试二叉树

您可以通过重写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:-,-]]