使用 QT C++过滤大数据的最佳方式

Best way for filtering BIG data with QT C++

本文关键字:最佳 方式 数据 QT C++ 过滤 使用      更新时间:2023-10-16

在我开始编写程序之前,我需要建议。 我有大量的数据(~15m行,300 MB txt文件,每行10个简单的数字,用空格分隔,每行都是唯一的数字序列(。 此数据是固定的,不会更改。

我需要在各种条件下过滤这些数据。(例如,搜索具有十个数字中的三个相同的所有序列,或查找具有相同总和的所有序列等(。

QT C++中此任务的推荐方法是什么? 从哪里开始?如何处理数据?将其保存在 txt 文件中并从那里加载或将它们插入到 SQLite。完成此任务的推荐方法是什么?

300 兆字节对于应用程序来说并不是很多内存。TXT文件是最简单的,但你可以使用任何东西。您可以简单地读取C++中的数据并对其进行处理。

通常可以优化基于条件的过滤。但每个需求都有不同的优化。因此,没有一种算法可以快速满足所有标准。

您可以从增量方法开始,遍历所有行并验证条件:

for (size_t i = 0; i < 15000000; ++i)
{
read_line();
if (check_criteria())
save_result();
}

然后研究适用于所有情况的优化解决方案。