算法设计与分析的题目求解
考虑下面的算法:输入:n个元素的组数A输出:按递增顺序排序的数组Avoidsort(intA[],intn){inti,j,temp;for(i=0;i<n-1;i++)...
考虑下面的算法:
输入:n个元素的组数A
输出:按递增顺序排序的数组A
void sort (int A[ ],int n)
{
int i, j, temp;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(A[j]<A[i]){
temp=A[i];
A[i]=A[j];
A[j]=temp;
}
}
(1)什么时候算法所执行的元素赋值的次数最少?最少多少次?
(2)什么时候算法所执行的元素赋值的次数最多?最多多少次? 展开
输入:n个元素的组数A
输出:按递增顺序排序的数组A
void sort (int A[ ],int n)
{
int i, j, temp;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(A[j]<A[i]){
temp=A[i];
A[i]=A[j];
A[j]=temp;
}
}
(1)什么时候算法所执行的元素赋值的次数最少?最少多少次?
(2)什么时候算法所执行的元素赋值的次数最多?最多多少次? 展开
展开全部
冒泡~
所有元素都是排好的,一次赋值都木有
所有元素都是递减的,每次都赋值,(1+n-1)*(n-1)/2次
更多追问追答
追问
大神 求过程 再追你10分 考试用 没过程 没分啊
追答
赋值次数最少-->
if(A[j]<A[i])没有一次满足-->a[j]>=a[i]永真-->后面的元素都要大于或等于前面的元素赋值次数最多-->
if(A[j]<A[i])每一次满足-->a[j]<[i]永真-->后面的元素都要小于前面的元素,次数为子循环次数,然后
后面就是高中数学的东西了,子循环次数公式给你了~
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
上海华然企业咨询
2024-10-28 广告
2024-10-28 广告
在上海华然企业咨询有限公司,我们深知模型训练数据集对于AI项目成功至关重要。我们的数据集构建遵循高标准,确保数据质量、多样性与代表性。这些数据集涵盖广泛行业案例,如市场趋势分析、客户行为预测等,通过精心筛选与标注,为机器学习模型提供丰富的学...
点击进入详情页
本回答由上海华然企业咨询提供
展开全部
上面那个完全是照搬别人的嘛,问题也都不一样的。关键点在于子规模与合并这间的关系
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |