【发布时间】:2011-03-09 18:33:52
【问题描述】:
以我正在处理的任务为例。我们将使用二叉搜索树来查找一组数据中的一部分,然后使用链表查找该组中的另一部分。教授建议的方法是:
struct treeNode
{
data * item;
treeNode *left, *right;
};
struct listNode
{
data * item;
listNode *next, *prev;
};
class collection
{
public:
........
}
其中 data 是包含每条记录的详细信息的类。很明显,既然设置好了,treeNode就不能存在于链表中。
这样会不会更简单:
struct node
{
data * item;
node *listNext, *listPrev, *treeLeft, *treeRight;
};
然后我们可以声明:
node * listHead;
node * treeRoot;
并将两种插入算法都包含在类中。
我有什么遗漏吗?
【问题讨论】:
标签: c pointers data-structures binary-search-tree