算法与分析平时作业

发布 2022-06-26 16:59:28 阅读 9216

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<<"请输入元素个数">d;

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个随机整数,利用选择排序 起泡排序 快速排序 合并排序等排序方法进行排序,并统计每一种排...