网站大量收购闲置独家精品文档,联系QQ:2885784924

单词统计问题.docVIP

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
湖南第一师范学院数学系 课程设计报告 所 属 专 业: 信息与计算科学 课 程 名 称: 数据结构课程设计 课程设计名称: 单词统计问题 学 号:_________ ______ _ 姓 名: 指 导 教 师: 田 祖 伟 2013年6月28日 课 程 设 计 情 况 表 课程设计名称 单词统计问题 完成时间(起、止) 2013 年6 月 16 日 至 2013 年 6 月 28 日 课程设计的目的 通过课程设计,加深对《数据结构——C语言描述》课程所学知识的理解,熟练掌握和巩固C语言的基本知识和语法规范,包括二叉树的定义和创建;二叉树的三种(先序、中序、后序)遍历;文件的读入和写出;学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备利用计算机编程分析解决综合性实际问题的能力。 调动学生的积极性和能动性,培养学生的自学能力。 课程设计的任务和要求 1、使用二叉排序树实现 从文件中读入一篇英文短文,统计该短文中不同单词和它的出现次数; 输出单词和它的出现次数;按词典编辑顺序将单词及它的出现次数输出。 2、要求界面友好美观,操作方便易行。 3、设计成果:课程设计报告一份,源程序代码一份。 成绩评定     指导教师签名: 年   月  日  备注 单词统计问题的设计与实现 1 需求分析 1.1 性能需求 用户可以通过该程序查询和统计一篇英文文章中单词出现次数。 1.2 功能需求 用户可以输入一篇文章来查询单词按词典顺序输出且统计其出现出现次数并输出; 程序可以正确显示查询结果; 用户可以选择是否在一次输出后继续查询; 2 概要设计 2.1 功能模块设计 本设计主要分为个模块:二叉树定义模块、获取一个tree数据结构模块、将单词插入二叉树模块、二叉排序树生成模块。 二叉树定义模块,由struct Tree;char value【20】,int count;struct tree*Lchild;struct tree*Rchild构成,此模块是解决问题的关键算法,贯穿整个设计的始终。 获取tree数据结构模块,由struct Tree * get_allocated_tree构成,此模块用于用户获取一个tree数据结构。 将单词插入二叉树模块模块:由struct Tree * tree,char value[]构成,此模块是使用先序遍历按词典比较单词的先后顺序。 二叉排序树生成模块:由struct Tree* get_sort_binary_tree(FILE *file){char* value = (char *)malloc(sizeof(char));struct Tree* tree = get_allocated_tree();构成,此模块用来存储单词生成的二叉排序树。 2.2 系统分析与设计 首先,拿到一篇英语文章,保存然后插入到二叉排序树中。利用二叉树的先序遍历来实现对单词的排序,先遍历它的左子树,若左子树不为空,则递归判断左子树与value的先后顺序;若左子树为空,则新建一个子树,其值为value,同时进行相同单词的计数。依次循环,生成新的二叉排序树,初始化树的最根部为文件中读取出的第一个单词。然后按单词序列输出,并输出它在文章中所出现的次数。 3 详细设计 3.1 功能模块设计 void insert_int_value_to_tree(struct Tree * tree,char value[]){ if(strcmp(value,tree-value)==-1) if(tree - leftNode == NULL ){ tree - leftNode = get_allocated_tree(); strcpy(tree - leftNode - value,value); return; } insert_int_value_to_tree(tree - leftNod

文档评论(0)

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

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

1亿VIP精品文档

相关文档