搜索
首页 电脑/网络 程序设计 C/C++

两个多项式相乘时间复杂度的怎么算,请给出详细过程

两个多项式相乘时间复杂度的怎么算,请给出详细过程

全部回答

2006-04-15

0 0

    #include#include#include#include/*显示帮助信息*/voidhelp(){printf("\ \n");printf(" \n");exit(0);}/*显示错误信息*/voidprinterror(errno,num,base1)charerrno,*num,*base1;{switch(errno){case1:printf("\ (%s)isvalid!!!\n",num,base1);break;case2:printf("\ (%s)isinvalid!!!\n%s\n",base1," >=2andradix36))printerror(2,"",base1);/*有效吗?*/ibase2=atoi(base2);/*数基2*/if((ibase236))printerror(2,"",base2);/*有效吗?*/for(j=0;j=48)&&(num[j]10){/*求每个字母所代表的十进制值*/if((num[j]>=''A'')&&(num[j]=''a'')&&(num[j]<=m))k=num[j]-''a''+10;elseprinterror(1,num,base1);}elseprinterror(1,num,base1);inum+=k*(int)r;/*累加计算结果*/}/*输出转换结果*/printf("%s(%d)=%s(%d)\n",num,ibase1,ltoa(inum,temp,ibase2),ibase2);}/*主程序*/main(argc,argv)intargc;char*argv[];{staticcharnum[10],base1[10],base2[10];printf("(TNS)TranslatorofNumberSystem1。
    0Copyright(c)1995DongZhanshan\n");switch(argc){case1:case2:case3:help();break;case4:strcpy(num,argv[1]);strcpy(base1,argv[2]);strcpy(base2,argv[3]);transnum(num,base1,base2);}。
    。

2006-04-15

274 0

    不知道你是要问两个多项式相乘这个问题的时间复杂度 还是两个多项式时间复杂度的问题相乘得到的复杂度 如果是前者,那么和具体存储结构以及算法有关 如果是后者,那么就是二者的乘积,O(n2)*O(n2)=O(n4) 这是根据O(m)*O(n)=O(mn)得到的,很多算法分析的书上都有。
     ----------------- 建入链表的时间复杂度为O(n) 计算的时候,二重循环的时间复杂度为O(n^2) 输出建立链表的时间复杂度为O(n) 所以总的时间复杂度为O(n^2) 采用链表可以减少占用的空间,对改善时间复杂度没有作用 如果要改进时间复杂度,放到数组里面用FFT计算,其复杂度 为O(nlogn)。
    。

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
C/C++
程序设计
电脑装机
操作系统/系统故障
硬件
笔记本电脑
百度
互联网
反病毒
软件
程序设计
C/C++
数据库
VB
JAVA相关
C#/.NET
VC++
汇编语言
其他编程语言
C/C++
C/C++
举报
举报原因(必选):
取消确定举报