首页 > 编程语言 >C/C++小型文本搜索引擎

C/C++小型文本搜索引擎

时间:2022-11-26 12:11:08浏览次数:78  
标签:遍历 C++ 二叉 单词 搜索引擎 文档 用词 文本 查找

C/C++小型文本搜索引擎

小型文本搜索引擎的设计与实现
实验要求:
(1)构造二叉查找树
① 从文件中读入内容,过滤掉阿拉伯数字和标点符号,并将英文字母的大写形式
全部转换成小写形式。
② 按照英文字母表的顺序构造英文单词的二叉查找树。当两个英文单词的首字母
相同时,按第二个字母进行排序,依次类推。
③ 为每个英文单词建立一个单链表,用于存放该单词在文档中的位置信息(即:
该单词是文档的第几个单词,序号从1开始)。如果一个单词在文档中出现多次,则该链表中将包含多个结点,并按照单词在文档中出现的次序(位置信息)递增排序。
(2)遍历二叉查找树
① 实现二叉查找树的先序遍历,以便能够找出出现次数最多的单词;
② 搜索:输入一个待检索单词,以先序遍历的方式从二叉查找树中查找单词,如
果能找到该单词,则输出该单词在原始文档中出现的位置信息,否则提示文档中不包含该检索词;
③ 实现二叉查找树的中序遍历,并将遍历结果保存到文件中(words.txt)。(要求:
每个单词占一行,每行依次记录单词、该单词出现的次数、以及该单词在文档中的位置信息。)
(3)删除结点
① 给定一个停用词列表(停用词是指对搜索没有作用的词,如:of, and, a, an, the
等等),将二叉查找树中的属于停用词表中的单词依次删除(不仅删除结点,还需清空记录该单词位置信息的单链表);
② 在搜索时,当输入的查询词是停用词时,则不进行查询。
(4)多关键词查询
① 允许一次输入两个或者更多个单词进行查询,即:先获得这些单词各自在文档中出现的位置信息,然后再分析这些单词的位置信息,判断这些单词在原始文档中是否存在连续出现的情况。
② 在搜索时,当输入的查询词包含停用词时,先去除停用词,再进行查询。

源码传送门

传送门:https://pan.baidu.com/s/1JJs9vbZahUCB6cQvXLgAVg?pwd=1111

标签:遍历,C++,二叉,单词,搜索引擎,文档,用词,文本,查找
From: https://www.cnblogs.com/codewriter/p/16927201.html

相关文章

  • C++ --- mingw编译提示too many sections…File too big
    现象:在WindowsQt下使用MingW编译,报错toomanysections…Filetoobig当代码中使用了大量模板时,会导致编译出的OBJ文件巨大,编译器会报错,在MSVC下错误为FatalErro......
  • C++(二)(未完成)
    选择与循环选择语句if语句if(){ GRAM}else{ GRAM}switch语句switch(){ case常量表达式1: 语句序列1; break; case常量表达式2: 语句序列2;......
  • C/C++航空客运订票系统
    C/C++航空客运订票系统航空客运订票系统的设计与实现:本系统可以实现航空客运订票的主要业务活动。例如,浏览和查询航班信息、机票预订和办理退票等。(全部完成起评分“良好......
  • 分享WordPress博客搜索引擎优化的六点经验
    wordpress是非常不错的博客程序,也是很多博客爱好者所喜欢的建站程序之一,wordpress不仅仅模版丰富,而且有足够的插件可以供我们选择,wordpress在搜索引擎......
  • C++的字符串流
    sstream使用,注意clear和str("")#include<iostream>#include<sstream>#include<string>usingnamespacestd;intmain(){stringstreamss;ss.put......
  • C++ 设计模式 目录
    设计模式推荐阅读ohmyfish.net​未来更新会先在​​ohmyfish.net​​更新,等到一定规模会发到平台上,如果有修改和补充也会在​​ohmyfish​​上进行。目标理解松耦合设计思......
  • 《C++ 并发编程实战 第二版》:条件变量唤醒丢失与虚假唤醒
    《C++并发编程实战第二版》:条件变量唤醒丢失与虚假唤醒本文主要是对《C++并发编程实战第二版》第4章中条件变量部分做进一步探究,主要内容为使用条件变量时可能会碰到......
  • C++ Primer 0x0D 练习题解
    ......
  • C++ Primer 0x09 学习笔记
    ......
  • C++ Primer 0x09 练习题解
    ......