普通的完全二叉树的搜索效率如何啊???

c1sdn20003 c1sdn20003 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
建立了一棵完全二叉树,不知道搜索算法如何写?很普通的二叉树。

问题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;
}

}
};



普通的二叉树的搜索和数组相比谁快????


时间复杂度 递归这种,不会评估,很压抑。 感觉不像迭代循环好评估............



...全文
评论 8
收藏 已收藏
分享
返回顶部
c1sdn20003
C++ 语言 65,214 成员 250,514 内容