Java求助:如何建立一个树形结构

Java求助:如何建立一个树形结构,第1张

如下 ,介于父节点跟子节点是一对多,把父节点放在子节点里。
class node{
String node name;
node base // 父节点
}
如果遍历起来可能会比较麻烦,这里我就不写了,但是不会很难。

你说的意思应该是用数组的方式存储二叉树,这需要利用到完全二叉树的性质,
,完全二叉树通常采用数组而不是链表存储,其存储结构如下:
var
tree:array[1n]of
longint;{n:integer;n>=1}
对于tree[i],有如下特点:
(1)若i为奇数且i>1,那么tree的左兄弟为tree[i-1];
(2)若i为偶数且i<n,那么tree的右兄弟为tree[i+1];
(3)若i>1,tree的双亲为tree[i
div
2];
(4)若2i<=n,那么tree的左孩子为tree[2i];若2i+1<=n,那么tree的右孩子为tree[2i+1];
(5)若i>n
div
2,那么tree[i]为叶子结点(对应于(3));
(6)若i<(n-1)
div
2那么tree[i]必有两个孩子(对应于(4))。
(7)满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树。
完全二叉树第i层至多有2^(i-1)个节点,共i层的完全二叉树最多有2^i-1个节点。
代码简单,网上很多,不懂也可以问我


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13319722.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-14
下一篇 2023-07-14

发表评论

登录后才能评论

评论列表(0条)

保存