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

西安交通大学2008级软件工程数据结构和算法课程综合训练题目.doc

西安交通大学2008级软件工程数据结构和算法课程综合训练题目.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
西安交通大学2008级软件工程数据结构和算法课程综合训练题目

2008级软件工程专业数据结构与算法课程综合训练 第一部分:实验题目 实验一. Word Search Puzzle 问题描述: Word Search Puzzle(以下简称WSP)是一个由字母组成的二维数组和单词列表构成的单词游戏。该游戏的目标就是要在这个字符数组中寻找单词列表中的单词。这些单词在二维数组中可以以水平、垂直和斜线这三种形式出现(注意:对于斜线方式,则本身就含有两种不同角度的斜线形式,即从左上向右下和从右上向左下),同时对于任何一种形式都可以有两种方向(例如,水平形式则可以从左向右的方向,也可以是从右向左的方向)。图1则是一个具体的WSP的示意图: badmintonbaseballboccebowlingboxingfencingfootballgolfhockeypolorugbyskiingsoccertennis 图 1 现在我们要改变WSP的构成部分,也就是只出现字母组成的二维数组,而不提供候选的单词列表。这样做的目的是让我们能够在给定的字母数组中去探索或者发现里面都有什么单词。也就是说原有的WSP的单词候选列表中的单词个数是少量的,而现在我们则将单词候选列表扩展为整个英语词典。可以想象,这将带来大量的搜索操作。怎么解决?这需要我们从数据结构的选择和算法的设计上下功夫。 输入: 一个文本文件,这个文件是由如下形式构成: 第一行为两个数组构成,该数字表明字符矩阵的行数和列数,数字之间用空格分开; 从第二行开始就是一行行的字母了。 参看:example1.txt 输出: 一个文本文件,这个文件是由若干行构成,每行都是一个单词发现的结果,该行是由如下格式构成: 单词 (行数,列数) (行数,列数) 形式 注:其中第一组坐标代表单词的开始位置,第二组坐标代表单词的结束位置 形式由如下三个单词表示:horizon、vertical、diagonal 例如例子中的部分结果表示如下: golf (1,5) (1,2) horizon football (4,14) (11,14) vertical bowling (7,12) (13,6) diagonal 要求: 1、用图形界面的方式或者控制台界面的方式来完成都可以; 2、时间性能尽可能控制好。 实验二.复杂记事本 问题描述: “记事本”是一个用来创建简单文档的文本编辑器。“记事本”最常用来查看或编辑文本 (.txt) 文件,在我们开发的这个记事本中,需要支持的功能如下: 常规编辑,不需要支持格式; 支持查找的简单逻辑表达式; 替换特定的字符或词; 具有英文单词的拼写检查能力; 具有自动提示输入功能(仅限于英语单词)。 要求: 界面必须是图形界面 关于“支持查找的简单逻辑表达式”的说明: 当输入一个词时,能够标记出出现这个词的所有地方; 当输入超过一个词时,可能会出现如下形式: word1 word2:代表了在一个句子中既要出现word1,也要出现word2,并且word1要先于word2; word1 AND word2:代表了在一个句子中既要出现word1,也要出现word2,出现顺序无所谓; word1 OR word2:代表了在一个句子中要么出现word1,要么出现word2; word1 – word2:代表了在一个句子中必须出现word1,且word2决不能存在; “word1 word2”:代表了将word1 word2做为一个整体看待 解释2)中出现的空格、AND、OR、-(减号)都做为查找表达式的运算符,且这些运算符的优先级都是一致的; 解释2)中出现的“句子”,表明的是搜索的基本范围的划分,在我们所编辑的文本中应该是由一个以上的句子构成,句子则是以英文的句号、问号进行分割的; 解释2)中出现的运算符组成的表达式可以复合使用,比如: word1-word2-word3:表明在一个句子中只能出现word1,不能出现word2和word3 word1 AND word2 OR word3:表明在一个句子中要么同时出现word1和word2,要么出现word3 【注:第5条解释所涉及的功能是附加性的,可以选作】 6)请参见附1中的例子 关于“英文单词的拼写检查”和“具有自动提示输入功能”的说明 这两个功能都可以使用一种称为trie的数据结构,在题目的后面我们将会有对trie这种结构的简单解释(见附2) 附1: 原始文本:(文中的编号是为了方便后面的描述,其并不是文本中真正的内容) (1)There is not a simple answer.(2) It depends on the subject and level of students,

文档评论(0)

ktj823 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档