【数据结构】二叉搜索树,AVL作业存档-创新互联
目录
成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站建设、成都网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的高阳网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!A:二叉排序树 - 文本输出
B:销售排行榜
C: 二叉排序树-平衡因子
D: 案例 1-1.1 二分查找
E: 进阶实验 1-3.1:两个有序序列的中位数
A:二叉排序树 - 文本输出
·上课写的
#includeusing namespace std;
struct BSTnode{
int data;
BSTnode*lc;
BSTnode*rc;
int level;
};
BSTnode* insert(BSTnode* &B,int x)
{
if(B==nullptr){
B=new BSTnode;
B->data=x;
B->lc=B->rc=nullptr;
// cout<data<data>x){
insert(B->lc,x);
}else if(B->datarc,x);
}
return B;
}
void level(BSTnode* &B)
{
queueQ;
Q.push(B);
B->level=0;
while(!Q.empty())
{
BSTnode*node=Q.front();Q.pop();
if(node->lc!=nullptr)
{
node->lc->level=node->level+1;
Q.push(node->lc);
}
if(node->rc!=nullptr)
{
node->rc->level=node->level+1;
Q.push(node->rc);
}
}
}
int Pre(BSTnode* &B,int level)
{
if(B==nullptr){for(int i=0;ilevel;i++)
cout<<" ";
cout<data<lc!=nullptr||B->rc!=nullptr)
{
Pre(B->lc,B->level+1);
Pre(B->rc,B->level+1);
}
return 0;
}
int main()
{
int n,x;cin>>n;
BSTnode*B=nullptr;
for(int i=0;i>x;
insert(B,x);
}
level(B);
Pre(B,0);
return 0;
}
B:销售排行榜·蓝了aaaaa
#includeusing namespace std;
struct item{
string name;
int time;
int value;
};
item t[100000];
int cmp1(item a,item b)
{
return a.nameb.time;
else return a.name>name>>time>>price>>date)
{
t[i].name=name;
t[i].time=time;
t[i].value=price*time;
i++;
}
sort(t,t+i,cmp1);
for(int j=0;j
C: 二叉排序树-平衡因子·平衡因子=左子树深度-右子树深度
#includeusing namespace std;
struct BSTnode{
int data;
BSTnode*lc;
BSTnode*rc;
int level;
};
BSTnode* insert(BSTnode* &B,int x)
{
if(B==nullptr){
B=new BSTnode;
B->data=x;
B->lc=B->rc=nullptr;
// cout<data<data>x){
insert(B->lc,x);
}else if(B->datarc,x);
}
return B;
}
void level(BSTnode* &B)
{
queueQ;
Q.push(B);
B->level=0;
while(!Q.empty())
{
BSTnode*node=Q.front();Q.pop();
if(node->lc!=nullptr)
{
node->lc->level=node->level+1;
Q.push(node->lc);
}
if(node->rc!=nullptr)
{
node->rc->level=node->level+1;
Q.push(node->rc);
}
}
}
int getdepth(BSTnode* &B)
{
if(B==nullptr)return 0;
return max(getdepth(B->lc),getdepth(B->rc))+1;
}
int Pre(BSTnode* &B,int level)
{
if(B==nullptr)
{for(int i=0;ilevel;i++)
cout<<" ";
cout<data<<"("<lc)-getdepth(B->rc)<<")"<lc!=nullptr||B->rc!=nullptr)
{
Pre(B->lc,B->level+1);
Pre(B->rc,B->level+1);
}
return 0;
}
int main()
{
int n,x;cin>>n;
BSTnode* B=nullptr;
for(int i=0;i>x;
insert(B,x);
}
level(B);
Pre(B,0);
return 0;
}
D: 案例 1-1.1 二分查找·不注意细节就会浪费很多很多时间
#includeusing namespace std;
int binary(int n,int a[],int x)
{
int mid,l=0,r=n-1;
while(r>=l)
{
mid=l+(r-l)/2;
//cout<0;i--)
{
if(a[i]!=x)return i+2;
}
return 1;
}
else if(a[mid]>x)
{
r=mid-1;
}
else l=mid+1;
}
return -1;
}
int main()
{
int n;cin>>n;
int a[n];
for(int i=0;i>a[i];
int x;cin>>x;
cout<
E: 进阶实验 1-3.1:两个有序序列的中位数 #includeusing namespace std;
int main()
{
int n;cin>>n;
int a[n],b[n];
for(int i=0;i>a[i];
for(int i=0;i>b[i];
if(n%2==0)
cout<<(a[n/2-1]+b[n/2-1])/2;
else
cout<<(a[n/2]+b[n/2])/2;
return 0;
}
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
当前名称:【数据结构】二叉搜索树,AVL作业存档-创新互联
文章路径:http://myzitong.com/article/ddhseh.html