3《数据结构》课程设计指导书.pdfVIP

  • 39
  • 0
  • 约3.42万字
  • 约 37页
  • 2017-06-27 发布于浙江
  • 举报
3《数据结构》课程设计指导书

HeilongjiangInstituteof ScienceandTechnology 课程设计指导书 数 据 结 构 计算机与信息工程学院 一、课程教学目标 用所学的数据结构有关理论知识,结合实际问题设计相关算法及程序, 达到理论与实践相结合的目的 (该课程设计为必修课,2学分)。 二、设计目的 1、掌握如何利用合适的数据结构和相应的算法来解决实际问题的方法, 巩固和掌握 《数据结构》这门课的理论知识和实践技能。 2、进一步加强学生的程序设计能力的培养,增强分析问题、解决问题 的能力,掌握软件设计思想。 三、设计题目 1.一元多项式的表示及其运算 (要求:包括相加、相减、相乘等运算) 符号多项式的操作,已经成为表处理的典型用例。在数学上,一个一元 2 n 多项式Pn(x)可按升幂写成: Pn(x) p +p x+p x +….+p x 它由n+1个系 0 1 2 n 数唯一确定,因此,在计算机里,它可用一个线性表P来表示: P (p ,p ,p ,…p )每一项的指数i隐含在其系数pi的序号里。 0 1 2 n 假设Qm(x)是一元m次多项式,同样可用线性表Q来表示:Q (q ,q ,q ,…q )。 0 1 2 m 不失一般性,设mn,则两个多项式相加的结果 Rn(x) Pn(x)+Qm(x) 可用线性表R表示:R (p +q ,p +q ,p +q , …,p +q ,p +1,…p )。显 0 0 1 1 2 2 m m m n 然,我们可以对P、Q和R采用顺序存储结构,使得多项式相加的算法定义 十分简洁。至此,一元多项式的表示及相加问题似乎已经解决了。 然而在通常的应用中,多项式的次数可能很高且变化很大,使得顺 序存储结构的最大长度很难决定。特别是在处理形如:S(x) 1+3x10000+2x20000 的多项式时,就要用一长度为20001的线性表来表示,表中仅有三个非零元 素,这种对内存空间的浪费是应当避免的,但是如果只存储非零系数项则显 然必须同时存储相应的指数。 一般情况下的一元n次多项式可写成: e1 e2 em Pn(x) p x +p x + …+p x 1 2 m 其中pi,是指数为ei的项的非零系数,且满足0≤ e1 e2 … em n,若用一个长度为m且每个元素有两个数据项(系数项和指数项)的线性表 便可唯一确定多项式Pn(x)。 ((p ,e1) ,(p ,e2) , …,(p ,em)) 1 2 m 在最坏情况下,n+1(m)个系数都不为零,则比只存储每项系数的 方案要多存储一倍的数据。但是,对于S(x)类的多项式,这种表示将大大节 省空间。 本题要求选用线性表的一种合适的存储结构来表示一个一元多项式,并 在此结构上实现一元多项式的加法,减法和乘法操作。可以参考教材中P54 页的2.4.2小节。 2. Josephu环问题和反Josephu环问题 (1)Josephu环问题 Josephu环问题为:设编号为1,2,…n 的n个人围坐一圈,约定编号 为k (1 k n)的人开始从1报数,数到m

文档评论(0)

1亿VIP精品文档

相关文档