摘要: 一般的乘方算法,时间复杂度是O(n)通过下面的方式,能达到O(logn)——递归实现:int Power(int num, int exponent){ if (1 == exponent) { return num; } if (0 == exponent) { return 1; } int result = 0; if (exponent & 1) {//if exponent is odd result = num * Power(num * num, exponent >> 1); } else {/... 阅读全文
posted @ 2013-08-27 13:00 Wolves_群狼 阅读(486) 评论(0) 推荐(0) 编辑
摘要: 转载自:http://www.cnblogs.com/wu8685/archive/2010/12/21/1912347.html博主:@心灵深处 递归算法时间复杂度的计算方程式一个递归方程: 在引入递归树之前可以考虑一个例子: T(n) = 2T(n/2) + n2 迭代2次可以得: T(n) = n2 + 2(2T(n/4) + (n/2) 2) 还可以继续迭代,将其完全展开可得: T(n) = n2 + 2((n/2) 2 + 2((n/22)2 + 2((n/23) 2 + 2((n/24) 2 +…+2((n/2i) 2 + 2T(n/2i + 1)))…)))) ... 阅读全文
posted @ 2013-08-27 10:21 Wolves_群狼 阅读(203) 评论(0) 推荐(0) 编辑