分治法实现两个方阵相乘
摘要:A、B是两个n*n的矩阵,计算C=A*B。 传统算法: 按照下面公式计算,需要n3次乘法和n3-n2次加法,时间复杂度为Θ(n3)。 递归算法: 假定n为2的幂,将A、B、C分成4个大小为(n/2)*(n/2)的子矩阵。 用分治法来计算C。需要8次(n/2)*(n/2)矩阵的乘法和4次(n/2)*(
阅读全文
递归建立二叉树
摘要:转载:递归建立二叉树 假设二叉树为: a b c d e 因为程序中要知道叶子结点(终点),所以要将上面的二叉树变成扩展二叉树 (把叶子结点的孩子补成#, 用作标记), 扩展后就变成了: a b c # d # e # # # # 那么,在输入的时候,需要输入: ab#d##C#e## (注意,输入
阅读全文