问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

二叉树怎么做

发布网友 发布时间:2022-04-23 18:55

我来回答

1个回答

热心网友 时间:2023-07-15 15:21

(1)前序:1245736 特点:根左右
中序: 4275136 特点:左根右
后序: 4752631 特点:左右根
(2)前序:1245736
排序法:直接插入法
void print(int a[], int n ,int i){
cout<<i <<":";
for(int j= 0; j<8; j++){
cout<<a[j] <<" ";
}
cout<<endl;
}

void InsertSort(int a[], int n) {
for(int i= 1; i<n; i++){
if(a[i] < a[i-1]){ //若第i个元素大于i-1元素,直接插入。小于的话,移动有序表后插入
int j= i-1;
int x = a[i]; //复制为哨兵,即存储待排序元素
a[i] = a[i-1]; //先后移一个元素
while(x < a[j]){ //查找在有序表的插入位置
a[j+1] = a[j];
j--; //元素后移
}
a[j+1] = x; //插入到正确位置
}
print(a,n,i); //打印每趟排序的结果
}
}
int main(){
int a[8] = {3,1,5,7,2,4,9,6};
InsertSort(a,8);
print(a,8,8);
}
时间复杂度 O(n^2)
排序法:简单选择法
void print(int a[], int n ,int i){
cout<<"第"<<i+1 <<"趟 : ";
for(int j= 0; j<8; j++){
cout<<a[j] <<" ";
}
cout<<endl;
}
/**
* 数组的最小值
*
* @return int 数组的键值
*/
int SelectMinKey(int a[], int n, int i)
{
int k = i;
for(int j=i+1 ;j< n; ++j) {
if(a[k] > a[j]) k = j;
}
return k;
}
/**
* 选择排序
*
*/
void selectSort(int a[], int n){
int key, tmp;
for(int i = 0; i< n; ++i) {
key = SelectMinKey(a, n,i); //选择最小的元素
if(key != i){
tmp = a[i]; a[i] = a[key]; a[key] = tmp; //最小元素与第i位置元素互换
}
print(a, n , i);
}
}
int main(){
int a[8] = {3,1,5,7,2,4,9,6};
cout<<"初始值:";
for(int j= 0; j<8; j++){
cout<<a[j] <<" ";
}
cout<<endl<<endl;
selectSort(a, 8);
print(a,8,8);
}
时间复杂度 O(n^2)
直接插入法:简单,当初始序列为顺序时,时间复杂度为O(n), 当初始序列为逆序时,时间复杂度为O(n^2),平均时间复杂度为O(n^2)。
简单选择法:
第一趟,从n 个记录中找出关键码最小的记录与第一个记录交换;
第二趟,从第二个记录开始的n-1 个记录中再选出关键码最小的记录与第二个记录交换;
以此类推.....

第i 趟,则从第i 个记录开始的n-i+1 个记录中选出关键码最小的记录与第i 个记录交换,
直到整个序列按关键码有序。
无论初始序列如何,时间复杂度都为O(n^2)。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
平安e家保是什么险 2023年高级会计师报名时间和条件 2022高级会计师报考条件要求是什么? 问几个英文语法问题,希望能正确回答~ 女生锁骨下长痣,左右都有 不是很对称 寓意什么呐? 抖音上传照片音乐短怎么办 断夜奶好方法 婴儿断夜奶最佳方法 建设银行,你打算坑害多少优质客户? 【PS教程】如何做出凹陷字体效果的氛围海报 php中怎么进行页面权限访问控制,给点实例 怎么用word做目标树? php,网站制作权限问题,怎样设置权限? 如何做知识树 怎样制作树型目录? 树结构怎么做? 你知道仿真树是如何做成的吗? php ,请问如何设置用户权限。比如管理员和普通用户的登录页面看到的信息... 3dmax如何制作树 如何做圣诞树 php、HTML、网页设计,如何设定权限? 如何自己做圣诞树 关于PHP权限设计,该怎么处理 这是什么植物 路边常见。好大像灌木,有圆球状果实? 这是什么果实呢 这是什么果实,可以吃吗? 什么植物? 有一种果实很像杨梅的树,是什么树 有种树结深红色的果实 什么树?有红色果实 怎么做水果树 华为手机怎么重新安装微信? 如何做树贴画 怎样制作假树 PPT中逻辑树怎么做 华为手机微信双开为什么会让安装会员呢,现在微信打不开? 如何制作臭豆腐的调料汁? 湖南臭豆腐汤汁的做法是怎么样的呢 怎样做臭豆腐调料汁,自己在家做简单臭豆腐 苹果4怎么设置时间和日期 苹果4怎么调时间 iphone4手机时间怎么调整 iphone4改时间怎么改年分? iphone4时间不准, iphone 4 时间日期格式怎么改中文的? iphone4怎么改短信铃声 苹果4的QQ时间错误,怎么改? 苹果4如何改闹钟声 想用一个英文名字做商标有什么好的建议? 我要起一个英文名字的商标,有什么建议吗?