用什么样的算法来分解数据



我有一个包含大量数据的表,需要对每个表进行查找并分解每个数据。下面是一个简化的数值例子。我有这个表:

1 [1]
2 [1, 1]
4 [2, 2]

现在我想分解4。我抬头一看,2+2=4。然后我查一下2,看看是否可以分解成1+1,所以我知道2+1+1=4和1+1+1+1=4。对于这个问题,我应该(使用计算表)将其分解为4个结果(前面提到的3和4 *1 =4)。

我不确定,但这是一个图问题吗?还是其他类型的?我想我可以通过使用递归来分解它来解决这个问题,但我想知道是否有一种普遍接受的方法,这个过程将处理大量数据,所以我需要设计一种分解可以分布在多个cpu上的方式。

你知道这是什么类型的问题或解决它的逻辑吗?

根据我对你的具体例子的理解,它可能是递归的,它可能是一个图问题,它可能是几个其他的东西,或者是组合。并不是每一个编程问题都可以被分类成一个简单的类别,对于任何问题,通常至少有六种不同的有效方法。

在处理大量数据方面,可以采用很多很多不同的策略,这取决于需要如何访问数据(顺序访问?随机按偏移量?随机按键还是按某种搜索?),更新的频率,与存储层次结构的不同级别的大小有关的数据量,等等。

然后有多个cpu——并行处理——数据同步成为一个重要的问题,除了其他问题。

你的例子真的太模糊了——你不是把它作为一个真实的场景或要解决的问题,而是作为一个算法——

我抬头看到2+2=4。然后我查一下2,看看是否可以分解成1+1,所以我知道2+1+1=4和1+1+1+1=4。对于这个问题,我应该(使用计算表)将其分解为4个结果(前面提到的3和4 *1 =4)。

你不是在问如何做某件事——你是在告诉我们你想做什么,并询问该活动的名称。

从你的问题中,很明显你知道你需要做什么。你的流程应该是
  • 编写程序来做任何需要做的事情
  • 如果你被困在一个特定的点上,那么研究或问一个特定的问题
  • ,如果它不起作用或需要改进,然后问一个与问题区域相关的问题

最新更新