gpt4 book ai didi

C++ 搜索性能

转载 作者:行者123 更新时间:2023-11-30 00:58:28 26 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
C++ Search Performance

我有两个文本文件。一个包含大约 70,000 个名称的列表 (~1.5MB)。另一个包含将从各种来源获得的文本。也就是说,每次执行程序时,该文件的内容都会发生变化(~0.5MB)。本质上,我希望能够将一些文本粘贴到文本文件中,然后查看我的列表中找到了哪些名称。有点像查找功能 (CTR + F),但有 70,000 个关键字。

无论如何,到目前为止我所拥有的是:

 int main()
{

ifstream namesfile("names.txt"); //names list
ifstream miscfile("misc.txt"); //misc text
vector<string> vecnames; //vector to hold names
vector<string> vecmisc; //vector to hold misc text
size_t found;

string s;
string t;

while (getline(namesfile,s))
vecnames.push_back(s);

while (getline(miscfile,t))
vecmisc.push_back(t);

//outer loop iterates through names list
for (vector<string>::size_type i = 0; i != vecnames.size(); ++i) {
//inner loop iterates through the lines of the mist text file
for (vector<string>::size_type j = 0;j != vecmisc.size(); ++j) {
found=vecmisc[j].find(vecnames[i]);
if (found!=string::npos) {
cout << vecnames[i] << endl;
break;
}
}
}

cout << "SEARCH COMPLETE";

//to keep console application from exiting
getchar();

return 0;
}

现在,就提取我需要的数据而言,这非常有效,但是,它非常慢并且效率很低,因为每个名称都需要我可能再次搜索整个文件,这给出了(75000 x # of lines in misc text file)迭代。如果有人可以提供帮助,我当然会很感激。一些示例代码是最受欢迎的。此外,如果有任何不同,我正在使用 Dev C++。

有人建议我对我的数据实现哈希集,但是,我不知道该怎么做。如果有人了解我如何应用这种方法,我会很感激朝着正确的方向开始。真诚的感谢。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com