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