数据结构习题及答案

源代码在线查看: 2.39.c

软件大小: 52 K
上传用户: GUAIGUAICHENGTI
关键词: 数据结构
下载地址: 免注册下载 普通下载 VIP

相关代码

				◆2.39③  试对稀疏多项式Pn(x)采用存储量同多项式项
				数m成正比的顺序存储结构,编写求Pn(x0)的算法(x0为
				给定值),并分析你的算法的时间复杂度。
				
				实现下列函数:
				float Evaluate(SqPoly pn, float x);
				/* pn.data[i].coef 存放ai,                      */
				/* pn.data[i].exp存放ei (i=1,2,...,m)            */
				/* 本算法计算并返回多项式的值。不判别溢出。      */
				/* 入口时要求0≤e1				
				多项式的顺序存储结构:
				typedef struct {
				   int  coef;
				   int  exp;
				} PolyTerm;
				
				typedef struct {
				   PolyTerm *data;
				   int       length;
				} SqPoly;
				float Evaluate(SqPoly pn, float x)
				/* pn.data[i].coef 存放ai,                      */
				/* pn.data[i].exp存放ei (i=1,2,...,m)            */
				/* 本算法计算并返回多项式的值。不判别溢出。      */
				/* 入口时要求0≤e1				{
				  PolyTerm *q;
				  int ex;                               //t用于记录多项式每一项系数外的部分
				  float sum,t=1;                        //ex用于和每一项指数部分比较
				  q=pn.data;
				  sum=0;ex=0;
				  while(q->coef)
				  {
				    while(exexp)
				       {t*=x;ex++;}
				    sum+=q->coef*t;
				    q++;
				  }
				  return sum;
				
				}
				
							

相关资源