1、给定下述二分搜索算法,请判断算法的正确性,指出错误算法的产生原因。
a) int binarysearch(type a,const type& x, int l, int r)
return -1;
答:正确。b) int binarysearch(type a,const type& x, int l, int r)
return -1;
答:错误,if (x < a[m]) r = m-1;
else l = m+1;
c) int binarysearch(type a,const type& x, int l, int r)
return -1;
答:错误,while (r >=l)
return a[n];
int main()
int n;
cout<<"请输入一个不大于1000的自然数:n=";
cin>>n;
for(int i=0;i<=n;i++)
a[i]=i;
if(n<=0||n>1000)
cout< else
return 0;
4、设计一个算法,找出由n个数组成的序列的最长单调递增子序列的长度。
答:#include<>
#definem10
/快速排序。
voidquicksort(intr,ints,intt)
inti=s,j=t;
inttmp;
if(selseif(b[i][j]==2)
lcs(i-1,j,x,b);
elselcs(i,j-1,x,b);
voidmain()
intx[m],y[m],d;
cout<<"请输入元素个数"
cout<<"请输入元素" quicksort(x,0,d-1); lcslength(x,y,d,c,b); cout<<"最长单调递增子序列为:" 5、会场安排问题:假设要在足够多的会场里安排一批活动,并希望使用尽可能少的会场。设计一个有效的贪心算法进行安排。 对于给定的n个待安排的活动,计算使用最少会场的个数。每个活动i都有一个开始时间和结束时间,分别表示为b(i),f(i)。 第七章上机题作业。1 解 由于步长h要改变,故将其设为变量,则编程实现romberg求积算法7.1的程序为 romberg 使用romberg积分算法求积分值。function i,n,err romberg fun,a,b,h,ep fun是被积函数,a,b是积分下 上限,h是步长,ep是误差精度... 第三章上机题作业。1 p111 解 编程实现矩阵的lu分解以及回代和前代过程的函数文件程序如下 function a,l,u,x,x1 ex0301 a,b 算法3.5,用高斯消去过程进行lu分解。n length a for k 1 n 1 for i k 1 n a i,k a i,k a k,... 题一。一 设计目的。1 掌握各种排序的基本思想。2 掌握各种排序方法的算法实现。3 掌握各种排序方法的优劣分析及花费的时间的计算。4 掌握各种排序方法所适应的不同场合。二 设计内容和要求。利用随机函数产生3000个随机整数,利用选择排序 起泡排序 快速排序 合并排序等排序方法进行排序,并统计每一种排...数值分析与算法作业
数值分析与算法作业
《算法分析与设计》课程作业