【发布时间】:2015-04-24 06:24:38
【问题描述】:
我需要实现一个 AVL 树,每个节点都有一个 AVL 树。概念是您从 e 文件中获取一些链接,例如
ID LinksTO
0 0
0 1
0 2
0 3
1 0
1 4
1 6
等等。
我设法实现了一个存储 ID 的 AVL 树,但我们还需要将每个 ID 的链接存储在 AVL 树中。 最好的方法是什么?是否有一个节点指针显示到带有连接的 AVL 树的根?
class node
{ public:
int ht;
int conNum=0;
int data;
node *left,*right , *connections;
};
或者可能是类节点中的 AVL 对象?不知道这在 C++ 中是否可行
{ public:
int ht;
int conNum=0;
int data;
node *left,*right;
AVLtree connections;
};
假设所有方法都可以从 AVL 树中正常工作,这怎么可能?
class AVL{
node *root;
int height(node*);
node *rotate_right(node*);
node *rotate_left(node*);
node *RR(node*);
node *LL(node*);
node *LR(node *);
node *RL(node *);
int BF(node*);
public:
AVL(){
root=NULL;
}
node *insert(node*,int);
node *delet(node*,int);
void inorder(node*,ostream&);
};
【问题讨论】:
-
通常编译器会告诉你在语法上什么是可能的。你的方法有什么特别的问题吗?
-
其实问题不在于语法。我不知道如何以及何时开始为连接构建子树。有什么想法吗?