我有一个必须做两件事的功能:
- 遍历
n*n*n
数组 - 根据阵列状态更新引脚
此功能将重复运行。
我有两种算法来执行函数的工作:
首先,它遍历整个数组并且具有复杂性
Th(n**3)
,但它的digitalWrite
操作最少,大致为 Th(n)(因为某些引脚状态取决于相邻引脚状态)。其次,它遍历数组的某些部分并且具有
Th(n**2)
,但它具有最大digitalWrite
操作数Th(n**2)
。
我遇到的问题:
对于 small
n
,我采用哪种方法是否重要?digitalWrite
与三维数组访问操作相比,一个操作的成本是多少?(作为优化一个,会导致对另一个的调用增加。)