解析:如果直接计算A*B的结果进行比较,则时间复杂度为O(n3)。
一个基于概率的算法是随机生成一个n*1的矩阵R,然后判断A*B*R是否等于C*R,而前者相当于A*(B*R),与后者一样都可以在O(n^2)的时间里算出来。如果算出来的结果相等,几乎可以肯定A*B和C也是相等的。
代码略。
解析:如果直接计算A*B的结果进行比较,则时间复杂度为O(n3)。
一个基于概率的算法是随机生成一个n*1的矩阵R,然后判断A*B*R是否等于C*R,而前者相当于A*(B*R),与后者一样都可以在O(n^2)的时间里算出来。如果算出来的结果相等,几乎可以肯定A*B和C也是相等的。
代码略。