gpt4 book ai didi

c - 哪个更快 : Appropriate data input or appropriate data structure?

转载 作者:太空狗 更新时间:2023-10-29 15:06:34 25 4
gpt4 key购买 nike

我有一个数据集,其列如下所示:

Consumer ID | Product ID | Time Period | Product Score
1 | 1 | 1 | 2
2 | 1 | 2 | 3

等等。

作为程序的一部分(用 C 语言编写),我需要处理所有消费者对特定产品和时间段组合给出的所有可能组合的产品评分。假设有 3 个产品和 2 个时间段。然后我需要处理所有可能组合的产品分数,如下所示:

Product ID | Time Period 
1 | 1
1 | 2
2 | 1
2 | 2
3 | 1
3 | 2

我将需要按照上述方式多次处理数据(> 10k)并且数据集相当大(例如,48k 消费者、100 种产品、24 个时间段等)。所以速度是个问题。

我想出了两种处理数据的方法,我想知道哪种方法更快,或者可能无关紧要? (速度很重要,但不能以过度维护/可读性为代价):

  1. 根据产品 ID 和时间段对数据进行排序,然后遍历数据以提取所有可能组合的数据。

  2. 存储为特定产品 ID 和时间段组合提供产品评分的所有消费者的消费者 ID,并相应地处理数据。

有什么想法吗?还有其他方法可以加快处理速度吗?谢谢

最佳答案

与许多与性能相关的问题一样,唯一真实、明确的答案是编写基准。速度将取决于很多因素,听起来您并不是在谈论线性算法与二次算法的简单情况(甚至这会对输入大小产生额外的依赖性)。

因此,实现这两种方法,在样本数据上运行它们,并对结果进行计时。这比我们试图用有限的信息在头脑中解决问题要快得多,也更有说服力。

关于c - 哪个更快 : Appropriate data input or appropriate data structure?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2874640/

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