数据结构课程设计完整版.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构课程设计完整版

西安郵電學院 目: 魔王语言翻译/多项式相乘 系部名称 : 专业名称 : 班 级 : 学号 : 学生姓名 : 指导教师 : 时间 : 课程设计目的 通过本次课程设计,强化上机动手能力,使我们在理论和实践的基础上进一步巩固《C语言程序设计》、《数据结构——使用C语言》课程学习的内容,初步掌握工程软件设计的基本方法,熟知链表,栈,队以及文件的使用方法,学会将知识应用于实际,提高分析和解决问题的能力,为毕业设计和以后工作打下基础。 二、课程设计内容 【1】、魔王语言 问题描述 有一个魔王总是使用自己的一种非常精炼的而抽象的语言讲话,没有人能听懂。但他的语言是能够逐步解释成人能听懂的语言的,因为他的语言是由以下两种形式的规则由人的语言逐步抽象上去的: (1)α→β1β2 …… βm (2)(θδ1δ2 …… δn)→ θδnθδn-1 …… θδ1 θ 在这两种形式中,从左到右均表示解释;从右到左均表示抽象。试写一个魔王语言的解释系统,把他的话解释成人能听懂的话。 基本规则 现在有以下三种规则,设大写字母表示魔王语言解释的词汇,小写字母表示人的语言的词汇;希腊字母表示可以用大写或小写替换的变量。魔王语言可含人的词汇。 (1)B-tAdA (2)A-sae (3)示例: 魔王说:B(ehnxgz)B 解释成人的语言:tsaedsaeezegexenehetsaedsae 若每个小写字母含义如下表示: t d s a e z g x n h 天 地 上 一只 鹅 追 赶 下 蛋 恨 则魔王说的话是:天上一只鹅地上一只鹅鹅追鹅赶鹅下鹅蛋鹅恨鹅天上一只鹅地上一只鹅 【2】、多项式相乘 问题描述 用带头结点的动态单链表来表示多项式,在此基础上完成多项式的乘法运算。 三、需求分析 对所开发系统功能、性能的描述,想要实现的目标。 【1】魔王语言 有一个魔王总是使用自己的一种非常精炼的而抽象的语言讲话,没有人能听懂。但他的语言是能够逐步解释成人能听懂的语言的,因为他的语言是由以下两种形式的规则由人的语言逐步抽象上去的。本系统即按照所给出的规则,逐步将魔王的抽象语言解释成具体易懂的人类语言。 【2】多项式相乘 对于项数比较多,数据比较复杂的多项式在进行人工的相乘,不仅浪费时间,而且耗费精力。本系统主要通过程序,将复杂的多项式进行相乘,并完成相乘后多项式的合并同类项,排序等问题。 四、概要设计 【1】魔王语言 1.系统结构图(功能模块图) - 2.功能模块说明 【1】魔王语言 去括号处理模块: 本模块主要应用递归算法。从L[ ]中读取魔王原始语言,将魔王的原始语言进栈,如果遇到右括号,向左遍历,直至遇到左括号,记录左括号后第一个字符。利用队列翻译括号内内容,将队列中内容入栈,处理完之后,剩下的魔王原始语言继续进栈。借用一个新栈将栈中的元素存入L[ ]中。遍历L[ ],如果有括号重复以上操作。 字符替换模块 从文件mean.txt中读取替换规则存放在结构体中,此结构体 含有两个成员,第一个成员存放标记性字符,第二个成员存放用于替换的字符。栈顶元素出栈,与结构体第一个成员进行对比,如果相同将此结构体第二个成员入队列;如果不同,直接进队。再取栈顶元素,如此循环,直至所有的元素出栈进队。将队列中的元素存放到L[ ]中。 汉语含义替换模块 从文件rule.txt中读取字母及其对应的汉语含义存放在mean结构体中,此链表仍含有两个成员,第一个成员存放小写字母,第二个成员 存放对应的汉语含义。遍历L[ ],如果与结构体第一个成员相同,将此结构体第二个成员输出及保存,如此循环。 【2】多项式相乘 1.系统结构图(功能模块图) 2、功能模块说明 多项式输入模块 从键盘输入多项式,并保存在多项式链表中。 多项式相乘模块 本模块主要包括两层循环。先分别记录下多项式A和B的项数,然后通过循环将多项式A的每一项与多项式B的每一项进行相乘:系数相乘,指数相加。然后每乘得一项,便调用函数以头插法的方法存放在新的多项式链表C中。 (3)排序模块 利用冒泡排序的思想。比较指数,如果指数相同,将系数相加如果相加为零,将两个节点删除,如果不为零,将第二个节点删除。如果前一个节点的指数大于后一个,交换两个节点的系数域和指数域。 五、详细设计及运行结果。 【

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档