数据结构题集(严蔚敏)2.39 稀疏多项式
来源:互联网 发布:怎么重置网络 编辑:程序博客网 时间:2024/06/06 00:08
数据结构 稀疏多项式:各项的最高次幂相差很大,很稀疏的意思。
struct PolyTerm{int coef;int exp;};struct SqPoly{PolyTerm *data;int last;};float GetValue_SqPoly(SqPoly P,int x0)//求升幂顺序存储的稀疏多项式的值 {float exx=1.0,sum=0;int ex=0;PolyTerm *p=P.data;while(p->coef){while(ex<p->exp){exx*=x0;++ex;}sum+=p->coef*exx;++p;}return sum;}//时间复杂度O(m*e(m))void Subtract_SqPoly(SqPoly P1,SqPoly P2,SqPoly &P3)//求稀疏多项式 P1 减 P2 的差式 P3 { PolyTerm *p,*q,*r; p=P1.data;q=P2.data;r=P3.data; while(p->coef&&q->coef) { if(p->exp<q->exp) { r->coef=p->coef; r->exp=p->exp; p++;r++; } else if(p->exp<q->exp) { r->coef=-q->coef; r->exp=q->exp; q++;r++; } else { if((p->coef-q->coef)!=0) //只有同次项相减不为零时才需要存入 P3 中 { r->coef=p->coef-q->coef; r->exp=p->exp;r++; }//if p++;q++; }//else }//while while(p->coef) //处理 P1 或 P2 的剩余项 { r->coef=p->coef; r->exp=p->exp; p++;r++; } while(q->coef) { r->coef=-q->coef; r->exp=q->exp; q++;r++; }}//Subtract_SqPoly
typedef struct PolyNode {PolyTerm data;struct PolyNode *next;} PolyNode, *PolyLink;typedef PolyLink LinkedPoly;void QiuDao_LinkedPoly(LinkedPoly &L)//对有头结点循环链表结构存储的稀疏多项式 L 求导 { PolyNode *p=L->next; if(!p->data.exp) { L->next=p->next;p=p->next; //跳过常数项 } while(p!=L) { p->data.coef*=p->data.exp--;//对每一项求导 p=p->next; } }//QiuDao_LinkedPoly void Divide_LinkedPoly(LinkedPoly &L,LinkedPoly &A,LinkedPoly &B)//把循环链表存储的稀疏多项式 L 拆成只含奇次项的 A 和只含偶次项的 B { PolyNode *p=L->next; A=(PolyNode*)malloc(sizeof(PolyNode)); B=(PolyNode*)malloc(sizeof(PolyNode)); PolyNode *pa=A;PolyNode *pb=B; while(p!=L) { if(p->data.exp!=2*(p->data.exp/2)) { pa->next=p;pa=p; } else { pb->next=p;pb=p; } p=p->next; }//while pa->next=A;pb->next=B; }//Divide_LinkedPoly
- 数据结构题集(严蔚敏)2.39 稀疏多项式
- 数据结构课程设计一元稀疏多项式计算器
- 一元稀疏多项式(加减法)
- 一元稀疏多项式计算器:一次数据结构实验的题目
- 数据结构_链表_稀疏多项式求值_C++实现
- 数据结构1——稀疏多项式乘法计算器
- 一元稀疏多项式计算器
- 一元稀疏多项式
- 一元稀疏多项式计算器
- 一元稀疏多项式加减
- 一元稀疏多项式相加
- 数据结构--稀疏矩阵(转置)
- 数据结构--稀疏矩阵(相乘)
- 数据结构之多项式(C++)
- 一元稀疏多项式加减法(自动排序降序版)
- 数据结构和算法C语言实现:使用链表实现稀疏多项式
- 数据结构和算法C++语言实现:使用链表实现稀疏多项式
- 数据结构-多项式
- 深入理解C语言
- 信息资源规划思路
- Uboot移植
- 【哈夫曼树】hdu 1053
- 呜呼
- 数据结构题集(严蔚敏)2.39 稀疏多项式
- python3+PAM30,刷新小工具
- jsp 的四个作用域 :page、request、session和application的区别
- eclipse 插件之 mylyn 待定
- ArrayList-asp.net入门笔记
- Java多线程(全)学习笔记(上)
- ArryList应用
- el表达式简单的集合输出方式
- 好文收藏