文档专题设计分析和总结a.docxVIP

  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文档。上传文档
查看更多
PAGE PAGE 1 专题设计 二、树型结构 简易计算器(二叉树) 问题描述 由键盘输入一算术表达式,以中缀形式输入,试编写程序将中缀表达式转换成一棵二叉表达式树,通过对该的后序遍历求出计算表达式的值。 基本要求 a.要求对输入的表达式能判断出是否合法。不合法要有错误提示信息。b.将中缀表达式转换成二叉表达式树。 c.后序遍历求出表达式的值 数据结构与算法分析 一棵表达式树,它的树叶是操作数,如常量或变量名字,而其他的结点为操作符。 建立表达式树。二叉树的存储可以用顺序存储也可用链式存储。当要创建二叉树时,先从表达式尾部向前搜索,找到第一个优先级最低的运算符,建立以这个运算符为数据元素的根结点。注意到表达式中此运算符的左边部分对应的二叉绔为根结点的左子树,右边部分对应的是二叉绔为根结点的右子树,根据地这一点,可用递归调用自己来完成对左右子树的构造。 求表达式的值。求值时同样可以采用递归的思想,对表达式进行后序遍历。先递归调用自己计算左子树所代表的表达式的值,再递归调用自 己计算右子树代表的表达式的值,最后读取根结点中的运算符,以刚才得到的左右子树的结果作为操作数加以计算,得到最终结果。 测试 文件压缩(哈夫曼树) 问题描述 在信息通信过程中,我们需要传输大量文件。在大的文件中有许多冗余,为了提高信道利用率、缩短信息传输时间、降低传输成本,我们设计一个编译系统,发送方利用哈夫曼编码对文件进行压缩后传输,接收方将接收到的数据进行译码。 具体要求 传输文件存于文本文件中,如:源文件 textfile。基于哈夫曼编码的信息通信系统具体要求如下: 预处理:从文件中读取数据,处理并建立字符集频率表。即统计源文件中各字符出现的频度,以字符出现频度为权建立字符集频率表。 初始化:利用字符集频率表建立哈夫曼树。 C.编码:利用建立好的哈夫曼树对源文件进行编码,实现文件压缩, 然后将结果以文件形式保存,如编码文件 codefile。 d.译码:利用建立好的哈夫曼树对codefile 中的代码进行译码。结果存入译码文件 decofile 中。 e.输出:可以显示 testfile、codefile、decofile 和哈夫曼树。 数据结构及算法分析 利用字符和权值建立哈夫曼树求得哈夫曼编码。利用二叉树先序遍历输出哈夫曼树。 测试 This program is my Huffman. 专家系统应用—动物游戏 专家系统是一个智能计算机程序系统,其内部含有大量的某个领域专家水平的知识与经验,能够利用人类专家的知识和解决问题的方法来处理该领域问题。也就是说,专家系统是一个具有大量的专门知识与经验的程序系统,它应用人工智能技术和计算机技术,根据某领域一个或多个专家提供的知识和经验,进行推理和判断,模拟人类专家的决策过程,以便解决那些需要人类专家处理的复杂问题,简而言之,专家系统是一种模拟人类专家解决领域问题的计算机程序系统。 动物游戏的程序是一个特殊的自学习专家系统的例子,当他们遇见新的情况时就增加新的动物园到基本知识里。这个改变基本知识的能力,使得动物程序能模仿学习的过程。 问题描述 动物游戏有两个参与者:玩者和猜者。玩者想出一种动物,由猜者去猜。猜者要问玩者一系列问题,主要是动物的一些特征。通过玩者的答复, 猜者尽力去猜玩者想出的动物。猜对了猜者赢,否则,玩者赢。 如果玩者所想的动物不在猜者的知识库中,则玩者将新动物的名称及其特征告诉猜者,猜者将新动物添加到知识库中,以便在后继游戏中使用。 具体要求 编写一个程序,实现猜动物名称的游戏。猜者猜出动物名称为赢,猜不出为输。猜者通过不断的学习,可猜到更多的动物,终将成为动物专家。 设程序用户为游戏的玩者,计算机为游戏的猜者。用户想赢,就尽量想出计算机知识库中没有的动物,但赢后要将新动物的名称及特征告诉计算机。 作为猜者的计算机要建立一个基本问题的知识库,每个问题让它减少考虑的动物数,这些问题是关于某种动物的基本特征。计算机利用这些基本问题向用户提问,根据用户回答,来控制程序流程。当程序已经减少到它考虑的动物仅有一只时,就猜这个动物。如果猜对了,计算机赢, 否则,用户赢。此时,计算机要问用户所想动物的名称及该动物用于区分其它动物的特征,并将这些信息添加到知识库中。 计算机要想赢,就要不断学习以丰富自己的知识库。随着时间的流逝,随着程序基本知识的增长,计算机将成为猜动物的专家。该程序实现了模拟学习过程。 数据结构与算法分析 知识库内容包括两部分:一是用于提问的基本问题,回答是“是”或是“否”。程序根据回答决定下一步操作;二是所猜动物名称。 程序利用知识库以二叉树的数据结构建立一棵决策树。它包含了问题和“知道”的动物。 决策树的每一个分支结点是用于提问的“基本问题”,叶结

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

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

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档