64,676
社区成员
发帖
与我相关
我的任务
分享
建立了一棵完全二叉树,不知道搜索算法如何写?很普通的二叉树。
问题1:实现搜索算法
问题2: 搜索普通的完全二叉树,效率和数组相比,如何?? 普通数组(没有排序什么的)
//这是树节点
struct node
{
node* lchild;
node* rchild;
int data;
node():lchild(NULL),rchild(NULL){}
node(int val):data(val),lchild(NULL),rchild(NULL){}
};
//二叉树
class BiTree
{
node* root;
public:
......................//省去部分函数,节省篇幅
//查找
void find(int data) const //查找,接口
{
search(root,data);
}
private:
void serarch(node* p, int data) const //这个私有函数,实现查找data,如何书写??
{
static int pos=0;
if(p->data==data)
{
cout<<"找到了,在顺序表中,其索引为:"<<pos<<endl;
return;
}
}
};
普通的二叉树的搜索和数组相比谁快????