《 数 据 结 构 》 课 程 设 计 报 告 学 号 : 57 54 39 37 20 25 27 姓 名 : 周 田 张 永 鹏 武 警 温 凯 侨 李 坤 米 昌 华 阮 健 健 班 级 : 10 计 算 机 科 学 与 技 术 ( 2) 班 指 导 教 师 : 成 绩 : 数 学 与 计 算 机 科 学 系 池 州 学 院 CHIZHOU COLLEGE 一、 课程设计基本情况 1 、设计名称 一元多项式计算 2 、主要功能 能够按照指数降序排列建立并输出多项式;能够完成两个多项式的相加、相减,并将结果输出; 3 、设计平台 电脑、Visual c++ 6.0 二、 系统设计 1 、算法思想 根据一元多项式相加的运算规则:对于两个一元多项式中所有指数相同的项,对应指数相加(减),若其和(差)不为零,则构成“和(差)多项式”中的一项;对于两个一元多项式中所有指数不相同的项,则分别写到“和(差)多项式”中去。 因为多项式指数最高项以及项数是不确定的,因此采用线性链表的存储结构便于实现一元多项式的运算。为了节省空间,我采用两个链表分别存放多项式a和多项式b,对于最后计算所得的多项式则利用多项式a 进行存储。主要用到了单链表的插入和删除操作。 (1 )一元多项式加法运算 它从两个多项式的头部开始,两个多项式的某一项都不为空时,如果指数相等的话,系数就应该相加;相加的和不为零的话,用头插法建立一个新的节点。P 的指数小于q 的指数的话就应该复制 q 的节点到多项式中。P 的指数大于q 的指数的话,就应该复制 p 节点到多项式中。当第二个多项式空,第一个多项式不为空时,将第一个多项式用新节点产生。当第一个多项式空,第二个多项式不为空时,将第二个多项式用新节点产生。 (2 )一元多项式的减法运算 它从两个多项式的头部开始,两个多项式的某一项都不为空时,如果指数相等的话,系数就相减;相加的和不为零的话,用头插法建立一个新的节点。p 的指数小于q 的指数的话,就应该复制 q 的节点到多项式中。P 的指数大于q 的指数的话就应该复制 p 的节点到多项式中,并且建立的节点的系数为原来的相反数;当第二个多项式空,第一个多项式不为空时,将第一个多项式用新节点产生。当第一个多项式空,第二个多项式不为空时,将第二个多项式用新节点产生,并且建立的节点的系数为原来的相反数。 2 、概要设计 (1 )主函数流程图: (注:a 代表第一个一元二次方程,b 代表第二...