太原科技大学
毕业设计(论文)
设计(论文)题目:字典树算法的分析和实现
姓名相姝
学院(系)应用科学学院
专业信息与计算科学
年级 131801班
指导教师王嘉
2017 年06月01日
太原科技大学毕业设计(论文)任务书
(由指导教师填写发给学生)
学院(直属系):应用科学学院时间:2017 年 3 月 7 日
说明:一式两份,一份装订入学生毕业设计(论文)内,一份交学院(直属系)。
目录
摘要 ....................................................................................................... III ABSTRACT........................................................................................... IV 第1章绪论.......................................................................................... - 1 -
1.1字典树算法研究的背景 ........................................................................ - 1 -
1.2字典树算法的应用现状 ........................................................................ - 1 -
1.3调研问题及论文工作 ............................................................................ - 2 -第2章字典树算法............................................................................ - 4 -
2.1字典树算法简介 .................................................................................... - 4 -
2.1.1 字典树算法的定义.......................................................................................... - 4 -
2.1.2 字典树算法的性质.......................................................................................... - 5 -
2.1.3 字典树算法的优缺点...................................................................................... - 5 -
2.1.4 字典树算法的核心思想.................................................................................. - 5 -
2.2字典树算法步骤 ................................................................................... - 5 -
2.3 字典树算法流程图 .............................................................................. - 7 -
2.4 算法复杂度分析 .................................................................................. - 9 -
2.4.1 时间复杂度...................................................................................................... - 9 -
2.4.2 空间复杂度...................................................................................................... - 9 - 第3章算法仿真界面设计 ............................................................... - 10 -
3.1 Java界面设计 ...................................................................................... - 10 -
3.2 功能实现............................................................................................. - 12 -
第4章字典检索算法的实现 .......................................................... - 14 -
4.1导入数据包.......................................................................................... - 14 -
4.2 传统Hash搜索................................................................................. - 14 -
4.2.1 Hash搜索原理................................................................................................. - 14 -
4.2.2 Hash算法的Java实现 .................................................................................... - 14 -
4.3 Trie算法原理演示和Java实现 ........................................................ - 14 -
4.2 传统Hash算法................................................................................. - 15 -
4.2.1 Hash算法原理................................................................................................. - 15 -
4.2.2 Hash算法的Java实现 .................................................................................... - 16 -
4.3 Trie算法原理演示和Java实现 ........................................................ - 16 -
4.3.1 Trie算法原理演示........................................................................................... - 16 -
4.3.2 Trie算法的Java实现 ...................................................................................... - 17 -
4.3.3 算法对比的Java实现 .................................................................................... - 18 -
4.4 Java程序设计 ................................................................................... - 20 -
4.4.1程序设计思路.................................................................................................. - 20 -
4.4.2 程序中的类..................................................................................................... - 21 - 第5章程序测试.............................................................................. - 23 -总结 ................................................................................................... - 29 -参考文献 ........................................................................................... - 30 -致谢 ................................................................................................... - 31 -
字典树算法的分析和实现
摘要
检索工具在现实生活中占据着很重要的位置,小到我们使用过的汉语字典、英语字典,大到图书检索目录等等。那么如何提高检索效率就显得至关重要。传统的Hash算法在数据量庞大的情况下,查询效率会逐渐下降,因此产生了相应的解决问题的字典树算法。
字典树算法的核心思想是:用空间换时间。它利用公共前缀来缩短建树以及节点数量,从而提高检索效率[1]。本文中,我们首先介绍了字典树算法,学习了算法思路和算法步骤,对字典树算法进行了初步了解;然后我们连接单词数据库,实现了算法仿真程序,此程序主要凸显出字典树算法与Hash算法在数据加载与单词查询的时间差,最后对程序进行测试。根据本文设计的算法仿真程序计算出如下结果:1、字典树算法比Hash算法在加载数据方面效率提高了大约80%;2、字典树算法比Hash算法在查询单词方面效率提高了大约64%。
关键词:检索,字典树算法,Java Swing,查询仿真
The Tire tree Analysis and Realization of algorithm
ABSTRACT
The search tool occupies an important place in the real world, small to the Chinese dictionary we used, the English dictionary, the book search directory, and so on.How to improve retrieval efficiency is crucial.The traditional Hash algorithm, in the case of large data volumes, will gradually decrease query efficiency, resulting in the corresponding problem solving Trie tree algorithm.
The key idea of the Trie tree algorithm is to change time in space.It uses public prefixes to shorten the number of trees and nodes and improve retrieval efficiency.In this paper, we first introduced the Trie tree algorithm, learned the algorithm thought and the algorithm step, the Trie tree algorithm was first understood.Then we connect the word database, realized the algorithm simulation program, this program is mainly highlighted the Trie tree algorithm and the Hash algorithm in data loading and words in query time, the final testing program.According to the algorithm simulation program designed in this paper, the following results are calculated: 1, the Trie tree algorithm is about 80% more efficient than the Hash algorithm in loading data.The Trie tree algorithm is about 64% more efficient than the Hash algorithm in querying words.
Key words:Retrieve,Trie tree algorithm,Java Swing ,Query emulation
第1章绪论
1.1字典树算法研究的背景
我们都使用过字典,如成语字典、英汉字典,电话簿、图书的检索目录等等也可以看作广义上的字典。在计算机科学中,字典被视为一种数据结构。
我们把字典定义为“键-值对”的集合。在实际存储中,将“键-值对”存储于记录中,通过键来标识该“键-值对”。“键-值对”的存放位置和其键之间的对应关系用一个二元组表示:(键,值的位置) 。
从字典中查找“键-值对”的最简单方法就是使用数组存储键的索引,然后在有序储存的数据中,查找的时候遍历此数组,当遍历到和被查找的“键-值对”的名字相同项的时候,这个“键-值对”就被找到了。因此René de la Briandais在1959年首次描述了字典树算法。
1.2字典树算法的应用现状
字典树算法的应用主要分为四个部分:检索与查询、词频统计、前缀存储、排序、其他数据结构和算法的辅助结构。
1、检索与查询
事先将已知的一些字符串(字典)的有关信息保存到trie树里,查找另外一些未
知字符串是否出现过或者出现频率[1]。举例:
(1)给出一段文本,文本的每一行由小写字母构成。判断文本中是否含有指定的
前缀。例如,文本problem含有前缀rob。
(2)寻找热门查询:搜索引擎会通过日志文件把用户每次检索使用的所有检索串
都记录下来,每个查询串的长度为1-255字节。假设目前有一千万个记录,这些查询串
的重复读比较高,虽然总数是1千万,但是如果去除重复和,不超过3百万个。一个查
询串的重复度越高,说明查询它的用户越多,也就越热门。请你统计最热门的10个查
询串,要求使用的内存不能超过1G。
2、词频统计
当统计一篇英文文献中,某单词出现的频率,即词频统计,使用哈希表或者堆都可以,但是如果内存有限,就可以用Trie树来压缩空间,因为Trie树的公共前缀都是用
一个节点保存的。
3、前缀存储
Trie树利用多个字符串的公共前缀来节省存储空间,反之,当我们把大量字符串存
储到一棵Trie树上时,我们可以快速得到某些字符串的公共前缀[1]。
4、排序
Trie树是一棵多叉树,只要先序遍历整棵树,输出相应的字符串便是按字典序排序
的结果。举例:给你N个互不相同的仅由一个单词构成的英文名,让你将它们按字典序
从小到大排序输出。
5、辅助结构
如后缀树,AC自动机等。
1.3调研问题及论文工作
本文以查询检索为研究方向,结合英文单词数据库,应用字典树算法,实现了单词查询功能,并进行了效率分析。根据输入的单词快速查询出相应的词义从而节省时间,提高效率。本文详细分析了字典树算法,并与常用的Hash算法进行对比实现,体现出字典树算法的优越性。
首先第一章论文介绍了字典树算法的研究背景和应用现状;接下来第二章详细介绍了字典树算法的简介,算法步骤,算法流程图,复杂度分析等;第三章是算法仿真界面设计及功能实现;第四章是字典检索算法的实现,主要叙述了程序数据的来源和导入,程序中Trie算法和Hash算法的实现;最后第五章对程序进行了测试,验证了我们分析研究字典树算法的正确性。
第2章字典树算法
2.1字典树算法简介
2.1.1 字典树算法的定义
在计算机科学中,字典树(Trie tree),又称键树或单词查找树,这是一种有序树,。它的英文单词Trie来自于发明者Edward Fredkin在1960年玩的一个文字游戏,因为这个数据结构的作用是取出(retrieval)数据。
字典树与字典很相似,当你要查一个单词是不是在字典树中,首先看单词的第一个字母是不是在字典的第一层,如果不在,说明字典树里没有该单词,如果在就在该字母的孩子节点里找是不是有单词的第二个字母,没有说明没有该单词,有的话用同样的方法继续查找。字典树不仅可以用来储存字母,也可以储存数字等其它数据。
字典树结点的存储结构用Java描述如下:
class Node{
char content; // 结点的值
boolean isEnd;// 是不是最后一个结点
int count; // 有多少单词通过这个结点,即由根至该结点组成的字符串模式出现的次数LinkedList
String mean; //将词义放入最后一个结点
}Node,*TrieTree;
上述定义的Trie树中的结点与叶子结点用具象的图形表示如下所示:
图2.1 Trie 树
2.1.2 字典树算法的性质 1、根结点不包含字符,除根结点外每一个结点都只包含一个字符;
2、从根结点到某一结点,路径上经过的字符连接起来,为该结点对应的字符串;
3、每个结点的所有子结点包含的字符都不相同[2]。
2.1.3 字典树算法的优缺点
优点:检索中,不需要预知待查询词的长度,沿树链逐字匹配,查询效率比哈希表高
[3]。
缺点:如果系统中存在大量字符串且这些字符串基本没有公共前缀,则相应的字典树内存消耗将会很大。
2.1.4 字典树算法的核心思想
字典树的核心思想是空间换时间;利用字符串的公共前缀来降低查询时间,最大限度地减少无谓的字符串比较,以达到提高效率的目的[4]。
2.2字典树算法步骤
搜索字典项目的步骤为(以查询单词:add 为例):
1. 从根结点开始一次搜索;
图2.2 根节点
2. 取得要查找关键词的第一个字母,对孩子链表进行遍历判断该字母节点是否存在,若存在则选择对应的子树并转到该子树继续进行检索;
图2.3 进入子树
3. 在相应的子树上,取得要查找关键词的第二个字母,并进一步选择对应的子树进行检索。
图2.4 进入第二个字母子树
4. 迭代过程……
5.在某个结点处,关键词的所有字母已被取出,则读取附在该结点上的信息,即完成查找
图2.5 查找结果图
2.3 字典树算法流程图
根据上述2.2小节算法步骤,用流程图的形式将算法的运行过程具象的表示出来,如
图2.6 流程图
2.4 算法复杂度分析
2.4.1 时间复杂度
假设Trie树的平均高度h为len,所以Trie树的查询复杂度为O(h)=O(len),字符串个数为n。当查询如字符串abc是否为某个字符串的前缀时,显然以b,c,d....等不是以a开头的字符串就不用查找了[6]。所以建立trie的复杂度为O(n*len),而建立+查询在trie中是可以同时执行的,建立的过程也就可以成为查询的过程。所以总的复杂度为O(n*len),实际查询的复杂度也只是O(len)。例如若要查找的字符长度是5,而总共有单词的数目是265 ,利用trie树,通过5次比较可以从11881376个可能的关键字中检索出指11881376
定的关键字。
2.4.2 空间复杂度
假设字符串个数为n,当字典只存26个英文小写字母,那么每个结点下应该有一个长度为26的数组。字典树每一层的结点数是n
26,所以其空间复杂度为n
26级别的,非常庞
大。
第3章算法仿真界面设计
3.1 Java界面设计
首先设计出一个主控制面板,如下图所示。其次,在主控制面板上半部分设置一个下拉显示框,可以选择数据条数;单词搜索框,用来输入要查询的单词;搜索结果框,用来显示查询结果;在主控制面板下半部分设置时间显示框用来显示Tire算法和Hash算法加载数据、查询单词所用时间以及对比时间差。然后,设置几个按钮分别用来加载数据、搜索单词及动态演示。
图3.1 界面图
1、定义一个jpBannerPanel容器,就是界面的主面板;
jpBannerPanel类:首先建立一个主面板容器。它继承了Jpanel类。JPanel
为javax.swing包中的,为面板容器,它自身是个容器,可以把其他组件加入到JPanel中。调用面板容器的jpBannerPanel.setBackground方法设置背景颜色为白色。调用setBound方法对坐标进行设定。然后通过调用this.setTitle("字典算法对比");this.setIconImage(Icon.IM(Constants.icon.DICT_SMALL));this.setSize(600, 500);定义程序标题为"字典算法对比",并设置窗口小图标以及大小。通过add方法将所有控件添加到jpBannerPanel中。
2、在主面板中添加一个选择数据条数的下拉菜单式复选框comLoadData,以及加载按钮btnLoadData;
3、在主面板中添加一个单词搜索文本框txtSearch,搜索结果文本框txtSearchResult以及搜索按钮btnSearch;
4、在主面板中添加五个文本框分别为:Trie算法加载耗时txtTrieLoadTime,Trie算法搜索耗时txtTrieSearchTime,Hash算法加载耗时txtHashLoadTime,Hash算法搜索耗时txtHashSearchTime,结论显示框txtResult;
5、最后在主面板中添加一个鼠标监听的功能按钮:动态演示按钮player。
此外我们还需要定义程序图标以及程序内的图片,这些图片来自com.swing.img包下面。这样的话,我们就基本完成了前端届面设计和界面上主要控件的添加。
下面列出面板上的主要控件及其功能介绍:
表3.2 控件介绍
3.2 功能实现
首先设置数据加载区的控件:1、建立一个名为“数据条数”的标签labLoadData,文字排列方式为右对齐。2、创建下拉列表comLoadData,选择要加载的数据条数。3、创建btnLoadData按钮,命名为“加载”。调用setBound方法对坐标进行设定;调用addActionListener方法为btnLoadData按钮添加事件监听器。
图3.3 btnLoadData按钮程序
然后设置单词搜索区的控件:1、建立一个名为“单词搜索”的标签labSearch,文字排列方式为右对齐。2、创建一个空的文本框txtSearch,用来输入要查询的单词。3、创建btnSearch按钮,命名为“搜索”。调用btnSearch.addActionListener方法为btnSearch按钮添加事件监听。
图3.4 btnSearch按钮程序
接着设置搜索结果区的控件:1、建立一个名为“搜索结果”的标签labSearchResult,文字排列方式为右对齐。2、创建一个空的文本框txtSearchResult,用来显示查询结果。调用setEditable(false)方法,使调用的这个文本框不能被编辑。
图3.5 txtSearchResult程序
最后设置算法对比区的控件:1、建立名分别为“加载耗时”的标签labLoadTime、“搜索耗时”的标签labSearchTime、“Trie”的标签labTrie、“Hash”的标签labHash、文字排列方式为右对齐;“纳秒”的标签timeTrieUnits、timeHashUnits,文字排列方式为右对齐。
2、创建文本框txtTrieLoadTime、txtTrieSearchTime、txtHashLoadTime、txtHashSearchTime,用来显示加载耗时与搜索耗时。
3、设置名为“结论”的标签labResult,创建文本框txtResult,调用setEditable(false)方法,使文本框不能被编辑。
图3.6 txtResult程序
第4章字典检索算法的实现
4.1导入数据包
首先说明一下此次程序里使用到的数据是从互联网的上下载的My SQL适用的单词表,这个数据库中包含65535条数据,每条数据由三部分构成:id(编号)、word(单词)、mean(词性及词义),数据库如下图所示:
为了能直接明了的显示出Trie算法比传统的Hash算法在搜索方面的优势,我们通过利用编写的java程序算法分析得到结论:1、Trie比Hash加载速度快;2、Trie比Hash搜索速度快。由此可以看出使用Trie算法可以大大节省搜索单词所要花费的时间,提高办事效率。
4.2 传统Hash搜索
4.2.1 Hash搜索原理
4.2.2 Hash算法的Java实现
4.3 Trie算法原理演示和Java实现
图4.1 数据库
收集到所需数据后,使用JDBC将Eclipse与My SQL连接起来,JDBC的主要功能包括:(1)建立与My SQL的连接;
(2)向My SQL发送请求,通过SQL语言操作其中的数据;
小学生查字典口诀 学查字典并不难,偏旁部首看端详。 没有部首查起笔,形声字儿查形旁; 头底两层是部首,要让字头当偏旁; 左右两边是部首,取左去右有保障; 内心外壳是部首,舍去里边查外框; 整个字儿是部首,此字本身是偏旁; 一字头上生“二角”,取其下底把“角”砍; 下底如果不成部,左上角当此字旁; 有些生字较特殊,顶天立地当偏旁; 多查多想抓规律,相同部首不能忘。 查字典常用的三种方法是: 音序查字法、部首查字法和数笔画查字法。 ?如果很容易确定部首,但不确定读音就可以用部首查字法;?如果知道读音,但不会写这个字,就用音序查字法; ?如果是独体字就用数笔画查字法。
字、词典是无声的老师,这位老师随时会帮你解决疑难,扫除 学习中的“拦路虎”。你会只花少量的时间,非常方便地得到 较多、较全面、较准确的知识。熟练查字、词典,首先要学会 检字。下边以《新华字典》为例介绍这几种查字法。 一、音序查字法 音序检字法是按字音查字词的一种方法。很多字典或词典是按汉语拼音字母的顺序编排的。根据一个字的汉语拼音第一个字母,就可以在“汉语拼音音节表”中找到这个字的拼音音节在正文中的页码,再按照这个字的声调到那一页中去找。凡是要查只知道读音而不知道写法或意义的字,都可以用这种方法,但必须熟悉汉语拼音字母顺序和汉语拼音音节。 运用条件: ①字音要读得正确; ②准确无误地了解这个字的声母、韵母; ③掌握字母的写法。 知道了这个字的读音,不知道它的写法,或不知道它的意思, 就必须运用音序查字法查字。 查字步骤: ①确定音部。按要查字的读音确定音节的第一个字母——音部。
②查音节索引。在《汉语拼音音节索引》中所确定的音部栏里,找出要查字的音节,并看准该音节后面所标的正文页码。 ③翻阅正文。按页码翻阅正文,找出要查的字。 在学习中遇到不理解的字或不会写的字,只要能读准字音,就可以运用音序检字法去查检。 下面的歌诀,可以帮助同们掌握这种检字法: 音序检字须认真,读准字音很要紧。 打头字母定音部,再找音节看《索引》; 按照例字找同音,对照页码翻正文; 根据声调找汉字,字形字义记在心。 部首检字法:部首检字法属于按形查字中的一种方法。它是根据汉字的部首去查检的。凡字典正文中的单字是按部首归类进行排列的,都可以运用部首检字。 部首检字的基本步骤? ⑴确定出部首。先对所要查的字确定出查什么部。 ⑵查《部首目录》。在《部首目录》中查出该部首在《检字表》中的页码。 ⑶查《检字表》。按照页码在《检字表》中这个字的余画(即除去部首还余几画)里查出这个字在字典正文中的页码。
第三讲排序算法(7.28)(语言提高班) 目录 训练1.明明的随机数(Noip2006普及组第1题) (1) 训练2.众数(masses.cpp) (2) 训练3.车厢重组(carry.cpp) (2) 训练4.军事机密(secret.cpp) (2) 训练5.排名 (3) 训练6.奖学金(Noip2007 普及组第1题) (3) 训练7.统计数字(Noip2007) (5) 训练8.输油管道问题 (5) 训练9.奇数单增序列 (6) 训练10.整数奇偶排序 (6) 训练11:合影效果 (7) 训练12:分数线划定 (7) 训练13:病人排队 (8) 训练14:单词排序 (9) 训练1.明明的随机数(Noip2006普及组第1题) 【问题描述】 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。 【输入文件】 输入文件random.in 有2行, 第1行为1个正整数,表示所生成的随机数的个数:N 第2行有N个用空格隔开的正整数,为所产生的随机数。 【输出文件】 输出文件random.out 也是2行,第1行为1个正整数M,表示不相同的随机数的个数。第2行为M个用空格隔开的正整数,为从小到大排好序的不相同的随机数。 【输入样例】 10 20 40 32 67 40 20 89 300 400 15 【输出样例】 8 15 20 32 40 67 89 300 400
本文由我司收集整编,推荐下载,如有疑问,请与我司联系实现全排列的两种算法:字典序列法以及递归算法(java)2014/10/19 0 一.全排列之字典序列法 /** * 这是一个实现全排列的字典序列算法,可适用于有数据重复以及无数据重复 的字符串----注意:字符要先从小到大排序* 算法描述:例如:645321 的下一个数: * 1.左边的数要大于右边:从最右- 最左,遍历查询是否有邻近左边的数小于右边的 数,有就停止遍历,本例:4 5. * 2.把找到的左边那个数,与其右边的所有数比较,从 右向左逐一比较,找到第一个比它大的,然后交换。本例:比4 大的右边第一个数 是5. * 3.将两个数对换,则字符可分为65,4321,把4321 从小到大排序:1234* 4. 下一个字符序列是:651234. span > * * @param ary //要排列的数组*/public static void dictorySerial(int[] ary1) {Arrays.sort(ary1);System.out.println( 1: + Arrays.toString(ary1));int i = 2;while (true) {int j;for (j = ary1.length - 1; j j--) {if (ary1[j - 1] ary1[j]) {for (int k = ary1.length - 1; k j - 1; k--) {if (ary1[k] ary1[j - 1]) {int temp = ary1[j - 1];ary1[j - 1] = ary1[k];ary1[k] = temp;break;}}int[] ary2 = new int[ary1.length - j];System.arraycopy(ary1, j, ary2, 0, ary2.length);Arrays.sort(ary2);System.arraycopy(ary2, 0, ary1, j, ary2.length);System.out.println((i++) + : + Arrays.toString(ary1));break;}}if (j == 0) {break;}}}二.全排列之递归算法 /** * 这是关于java 全排列的递归算法,本算法不适用于字符串中有重复数字。- --注意:交换两个数后,后面要在交换过来,不要影响要排列的字符序列(*)* 算法过程:如:123 的全排列:* 1.可以看成:以1 开头的全排列,以2 开头的全 排列,以3 开头的全排列/span 表示成1(23),2(13),3(12)的全排列,即23 全排列,13 全排列,12 全排列. span > span > span > span > span > span > span > span > span > span > span > span > span >public static void recurrence(int[] ary2, int start, int end) {if (start == end) {System.out.println((++i) + : + Arrays.toString(ary2));} else {for (int i = start; i = end; i++) {swap(ary2, start, i);recurrence(ary2, start + 1, end);swap(ary2, start, i);System.out.println(Arrays.toString(ary2));}}}public static void swap(int[] ary2, int start,
百度笔试题及答案-百度笔试题及答 案 百度java笔试题(含答案) 更多面试题, 百度面试笔试题解答答案 专家回答: 第一题 简评 百度的主要业务是搜索,搜索的基本原理如下 1.编写爬虫程序到互联网上抓取网
页海量的网页。 2.将抓取来的网页通过抽取,以一定的格式保存在能快速检索的文件系统中。 3.把用户输入的字符串进行拆分成关键字去文件系统中查询并返回结果。 由以上3点可见,字符串的分析,抽取在搜索引擎中的地位是何等重要。 因此,百度的笔试面试题中,出现这样的题就变得理所当然了。 以下是该题的java实现,代码如下: 程序代码程序代码 import *; import *;
import *; /** * @author tzy * 在下测试通过*/ public class FileNameStat{ private String srcPath;//要统计的文件路径 private Map statMap;//用于统计的map public FileNameStat(String srcPath) { =srcPath; 软件开发网 statMap=new TreeMap(); }
/*获得要统计的URL的文件名*/ public String getFileName(String urlString) { URL url=null; String filePath=null; String fileName=null; try { url=new URL(urlString); filePath=(); int index=0; if ((index=(“/”))!=-1) {
查字典练习题 一、填空:(12分) 1查字典有①. 淤 快, -查字法、② _______ 查字法、③ _________ 查字法等三种方法。在 (yu )、疡、氏”三个字中, ______ 用第①种查字法更快, ________ 用第②种方法更 用第③种方法更快。 2、 安。 慰”应先查 ______ 部,再查. 在安慰”一词中应选第 ______ ___ 画。在字典里的解释有:①使人心情安适。②心 .种解释。 3、 拘束”的 拘”字查大写字母是 ________ ;要查的部首是 _________ ;字典里的解释有:① 逮捕或扣押;②限,限制;③固执。这里应取第 __________种解释。 4、穷”读音 _________ ;按音序查字法应先查大写字母 __________ ;按部首查字法应先查 —部,再查 __________ 画。字典里 穷”字的解释有:①缺乏财物。②完了。③达到极点。 ④环境恶劣没有出路。 穷凶极恶”中的 穷”应选第________ 种解释。 贫穷”中的 穷”应选第. 屈词穷”中的穷”应选第 _________ 种解释。 种解释, 理 5、用音序查字法查 漫”,应先查音序 ___________ ,再查音节 ________ 。 漫”在字典里的解释 有五种:(1)水过满,向外流 (2 )到处都是 (3 )莫,不要(4)不受约束,随便 (5) 广阔,长。 漫天风沙”的漫”应选第 _________ 种解释。 无目的”的漫”应选第 _________ 种解释。 长夜漫漫”的 漫”应选第. 种解释。 二按要求选择填空 1、盛气凌人”的凌”用部首查字法应先查( )部,再查()画,第九笔是( 凌”在字典里的解 释有:①冰;②迫近;③侵犯;④欺凌。 盛气凌人”的凌”应选第 ()种解释。 ) 。 2、秉”字按音序查字法应查大写字母();按部首查字法应查( )部,再查()画; 按数笔画查字法应查()画。秉”字在字典里有四种解释:1掌握,主持;2拿着,握着; 3古代容量单位; ()解释。 4姓。 秉烛夜游”的 秉”应取第()种解释; 秉公办事”的 秉”应取第 3、固”按部首查字法应先查( )部,再查( )画;按音序查字法,应先查大写字母 (),再查音节()。固”在字典里的解释有:①结实;②坚定;③本来。 人固有一 死”的固”应取第( )。 )种解 释。 4、崇”按部首查字法应先查( )部,再查( )画;按音序查字法应查大写字母 (),读音是(),第六画名称是( )。崇”在字典里的解释有:①高;②重视; ③姓。崇山峻岭”的崇”应选第()种解释。 )。 5、释”在字典里的解释有:①说明,解说;②消除;③放开,放下。 ()种解释; 爱不释手”的 释”应选第()种解释。 解释”的释”应选第
算法分析与设计实验报告 第 2 次实验
这次的实验和上一次的字典序问题有一些相似,主要不同的地方在于要写出下 附录:完整代码 #include