![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
KK-Greyson
在校计算机专业学生
展开
-
求多项式f(x)=anxn +an-1xn-1+…+a1x+a0和f(x)=((anx+an-1)x+…+a1)x+a0
求多项式f(x)=anxn +an-1xn-1+…+a1x+a0算法思想:将系数放进数组a[n]中,for循环每次系数与x的幂次相乘,再将每次相乘的结果相加即可。public double fun1(double[] a, int n, double x){ double sum=0; for(int i=0;i<=n;i++){ sum=sum+a[i]*pow(x,i); } return sum;}求多项式f(x)=(…(anx+an-1)x+…+a1)x+a0算法思想原创 2021-09-26 17:57:09 · 1486 阅读 · 0 评论 -
找假币问题
有N枚硬币,其中至多有一枚假币,假币偏轻。设有一架天平找出假币。给出算法的流程图描述,说明算法的时间复杂度和空间复杂度。算法思想:设有7枚硬币,分别为a,b,c,d,e,f,g。方法一:两两比较,最少比较1次,最多比较6次。n枚硬币,时间复杂度O(n);方法二:二分法比较,最少比较1次,最多比较3次。n枚硬币,时间复杂度O(logn)。...原创 2021-09-25 17:01:11 · 1851 阅读 · 0 评论 -
求一组整型数组中的最大值与最小值。
求一组整型数组A[n]中的最大值与最小值,给出求解性能尽可能好的算法了类语言描述。算法思想:采用打擂台的方法,假设数组中的第一个元素是最小值,也是最大值,遍历数组进行比较,如果后一个元素大于前一个元素,那么max=后一个元素;如果后一个元素小于前一个元素,那么min=后一个元素。采用if…else…可以使算法性能更好。类语言描述:MaxMin(int A[],int n,int &max, int &min){ max=min=A[0]; for(int i=1;i<n;i原创 2021-09-25 16:50:40 · 2972 阅读 · 0 评论 -
删除顺序表中值为x的元素,删除顺序表中所有值为x的元素。
删除顺序表中值为x的元素删除成功,返回被删元素的序号;不成功,返回0。按照最基本的方法:遍历顺序表,找到要删除的元素,然后将后面的元素往前覆盖。删除顺序表中所有值为x的元素注意:和上面问题不同最基本的方法,遍历顺序表,找到那个元素,然后往前覆盖。(但是时间效率和空间效率较低)一边遍历,一边覆盖的方法。假设要删除的元素是x,记录顺序表中x的个数,那么每个x后面的元素只要向前移动它前面总共的x的数量即可。//第一个方法:public void delete1(int x, int[] ar原创 2021-09-24 15:29:59 · 6017 阅读 · 4 评论