北京化工大学数据结构2022/12/1作业 题解
创始人
2024-04-16 11:25:07
0

 这两天弄工程东西去了,,,忘更了。。。刚想起来

目录

问题 A: 二叉排序树 - 文本输出

问题 B: 销售排行榜

问题 C: 二叉排序树-平衡因子

问题 D: 案例 1-1.1 二分查找

问题 E: 进阶实验 1-3.1:两个有序序列的中位数


问题 A: 二叉排序树 - 文本输出

struct Node
{int val;Node *lc,*rc; 
}tr;
int n;
void insert(Node *&T,int t){if(T==NULL){T=new Node();T->val=t;return ;}if(T->val>t){insert(T->lc,t);}else {insert(T->rc,t);}return ;
}
void order(Node *T,int t){for(int i=1;i<=t;i++){cout<<"    ";}if(T){cout<val<<'\n';}else{cout<<"#"<<'\n';return ;}if(T->lc||T->rc){order(T->lc,t+1);order(T->rc,t+1);}return ;
}
signed main(){Node* T=NULL;cin>>n;fer(i,1,n){int t;cin>>t;insert(T,t);}order(T,0);
}

问题 B: 销售排行榜

楞排序

const int N = 1e6+10;
map nums;
map vals;
bool cmp(string &a, string &b) {if(nums[a]!=nums[b])return nums[a]>nums[b];return a>name>>num>>val>>date){val*=num;nums[name]+=num;vals[name]+=val;}vector v;for(auto t:nums){v.pb(t.first);}sort(v.begin(),v.end(),cmp);for(int i=0;i

问题 C: 二叉排序树-平衡因子

从子树更新上去

using namespace std;
struct Node{int data;Node *l,*r;int avl = 0;
};
Node* Insert(Node*& t,int e){if(t==nullptr){t=new Node;t->data = e;t->l = nullptr;t->r = nullptr;}else{if(edata){t->l = Insert(t->l,e);}else if(e>=t->data){t->r = Insert(t->r,e);}}return t;
}
int Balance(Node*& T){if(!T){return 0;}int l_height = Balance(T->l)+1;int r_height = Balance(T->r)+1;T->avl = l_height-r_height;if(l_height>r_height){return l_height;}else{return r_height;}
}void Previsit(Node* t,string s){cout<data<<"("<avl<<")"<<'\n';s+="    ";if(t->l == nullptr && t->r != nullptr){cout<r,s);}if(t->l != nullptr && t->r == nullptr){Previsit(t->l,s);cout<l != nullptr && t->r != nullptr){Previsit(t->l,s);Previsit(t->r,s);}return ;
}
signed main(){Node* T;int n;while(cin>>n){T = nullptr;string s = "";fer(i,0,n-1){int v;cin>>v;Insert(T,v);}Balance(T);Previsit(T,s);}
}

问题 D: 案例 1-1.1 二分查找

const int N=1e6+10;
int a[N];
signed main(){int n,x;cin>>n;fer(i,1,n) cin>>a[i];cin>>x;int l=1;int r=n;while(l

问题 E: 进阶实验 1-3.1:两个有序序列的中位数

const int N = 1e6+10;
const int mod=998244353;
int a[N];
signed main(){int n;cin>>n;n=n*2;fer(i,1,n){cin>>a[i];}sort(a+1,a+1+n);cout<

相关内容

热门资讯

高科技产业商业秘密保护的挑战与... 一、高科技产业商业秘密纠纷频发 智能驾驶、芯片、动力电池等高科技产业,商业秘密纠纷频发。2025年7...
百利科技(603959)披露公... 截至2025年12月31日收盘,百利科技(603959)报收于5.74元,较前一交易日下跌1.88%...
2025年山西破获经济犯罪案件... 中新网太原12月31日电 (记者 李庭耀)记者31日从山西省公安厅获悉,2025年,山西警方累计破获...
澄星股份:为员工提供符合国家法... 有投资者在互动平台向澄星股份提问:“您好,请问公司是否针对员工生育或育儿设有相关的福利或激励政策? ...
成都市新都区举行劳动纠纷处置比... 近日,2025年“新工司南”主题交流活动暨成都市新都区劳动纠纷处置比武竞赛在四川科伦药业股份有限公司...
2700余人“虚假住院”,成都... 记者12月31日从成都市公安局召开的2025年“向人民报告”刑侦专场新闻通气会上获悉,成都公安成功打...
首钢自动化申请法律文本审核方法... 国家知识产权局信息显示,北京首钢自动化信息技术有限公司申请一项名为“法律文本审核方法、装置和介质”的...
宜宾纸业(600793)披露全... 截至2025年12月31日收盘,宜宾纸业(600793)报收于21.1元,较前一交易日下跌3.39%...
激发行业协会商会发展活力,上海... 行业协会商会是推动经济社会高质量发展的重要力量。 近日表决通过的《上海市行业协会商会条例》(下称《条...
闪电律解|“退货羽绒服口袋现机... 齐鲁网·闪电新闻12月31日讯 近日,一则“退货羽绒服口袋现机票”的视频,引发网友热议。原来是供货厂...