Java中的k-ary树

Pam*_*Pam 2 java tree

我在我的Java应用程序中使用非UI用于所谓的"k-ary"树,并且想知道javax.swing.tree包是否是适合该作业的工具,即使它与Swing打包在一起.

我有一类,比如,需要组织成树的Widget对象.此Widget树的每个节点可以有0个以上的子节点,因此它不一定是对称的.

我需要一个通用的Tree/Node结构,允许我使用Widgets或任何其他对象.具体来说,我需要一个遍历(至少)后序遍历的遍历.

如果我没有找到正确的方案,有人能指出我正确的方向吗?

Tim*_*Tim 7

虽然你可能能够让那个班级做你想做的事情,但我感觉它与JTree的联系比你想要的更紧密.谷歌的一般共识是建立自己的一个快速的练习,得到了很好的回报 - 我能够在前几个结果中找到两个不同的实现.

如果您需要自己动手,那么一般的想法是定义一个带有List<Node>子项的Node类.然后你所要做的就是提供你自己的方法,比如insert,delete等等.递归后序遍历就像做一个常规的二进制后序一样简单,除了左右根,你只需要走每个做后序的孩子的列表. ,然后最后迭代根.