gpt4 book ai didi

c++ - 处理复杂直方图数据的最有效方法?

转载 作者:行者123 更新时间:2023-11-30 03:03:49 25 4
gpt4 key购买 nike

我目前正在实现一个直方图,它将使用 Qt 显示非常大规模的数据,我对我应该使用哪种数据结构来解决我的问题有一些疑问。我将显示从应用程序用户那里收到的查询量,我应该显示的方式如下 - 在单个应用程序中,单击不同的“显示此数据等”时将显示不同的直方图。按钮-

1) 在此处显示每个月-4 个月数据的总查询的直方图,我
保留了四个变量并在我捕获属于那几个月的查询时递增它们
在 CSV 文件中-

2) 显示选定月份中每一天的总查询量的直方图 - 我正在考虑使用 4 个 QVectors 来表示这个月份的月份,递增 vector 的每个元素(天),正如我得到的那样具体日期 - 例如该 vector 表示八月,每当我遇到 2011-08-XY 的数据时,我都会将该 vector 的第 (XY + 1) 个元素增加 1-我的第二个选择是使用 4 个 QLinkedList更好的复杂性,但我不确定我提出的方法是否足够有效,我愿意听取任何其他想法。

3) 这就是事情变得有点复杂的地方。显示选定日期和月份中每小时的查询总数直方图。表示的数据以大量方式成倍增加,我不知道应该使用哪种数据结构或结构组合来实现它。也许是列表列表?

关于 2) 和 3) 中我的问题的任何想法都会有所帮助,在此先感谢。

最佳答案

实际上,总是每小时查询一次应该不会太难管理。假设每小时的查询数量永远不会大于最大 int 值,那么每天只有 24 个 int = 32 位或 64 位,具体取决于您的机器。假设是 32 位,则每 MB 最多可以获得 28 年的数据。

无需传输月/年 - 您的程序可以解决这个问题。只需将 0 小时分配给数据中的最早点,您将其保持为常数,然后根据从那时起经过的小时数计算出日期。

这避免了必须有一个列表列表或任何花哨的东西 - 只需使用一个数组,其中每个地址包含从 0 小时开始的小时数,以及该小时的查询数。

关于c++ - 处理复杂直方图数据的最有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9154563/

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