在图中查找线性

时间:2015-01-12 11:01:35

标签: c algorithm graph graph-algorithm

我正在为一个项目做自动化,我得到的结果是图表的形式,其中我得到了性能结果。

现在我所取得的表现结果通常是图表中的一条直线。

例如,假设List中图形的结果可能如下所示: 10,30,90,100,150,200,250,300,350,400,450,800,1000,1500,2000,2010,2006,2004,2000,1900,1800,1700,1600,1000,500,400,0。

正如您所看到的那样,设备的性能开始增加,然后在某个时刻保持线性状态,并且在失败时它开始下降。

我想采取的是线性线。

正如您在数字列表中看到的那样,我们看到(2000,2010,2006,2004,2000)有某种线性线。

我不是要求任何代码或算法来解决这个问题....我不需要答案。如果有人能给我一个暗示或一点线索,我会尝试做其余的事。

2 个答案:

答案 0 :(得分:1)

首先决定你可以处理的绝对或相对容差,它决定什么是直线。

然后通过数组迭代检查具有下一个点的点的值,如果它们在容差范围内,则继续迭代直到得到一个不存在的点并存储这些点。它们代表一条直线。

这个解决方案很简单,不完美,需要花费O(n)时间。

答案 1 :(得分:1)

你的意思是恒定还是线性? 如果你的意思是线性: 为什么不采用相邻值的差异并搜索一个接近常数的序列? 如果你的意思是常数: 为什么不采用相邻值的差异并搜索一个接近0的序列?