递归树分析时间复杂度 递归的思想就是,将大问题分解为小问题来求解,然后再将小问题分为小小问题。直到问题的数据规模分解的足够小,不用继续递归分解为止 方法: 1.知道树的高度h,用高度h乘以每一层的时间消耗n,可以得到总的时间O(n*h),或者是每层消耗相加O(1层+ 2层 + 3层 +...+N层) 应用: 2.对于二分法归并排序来说,每一层的消耗时间为n,树高度为lgn,所以总时间为O(nlogn) 3.对于斐波那契函数来说,f(n)分解成f(n-1)和f(n-2),规模减小1或2,树共有n层。所以时间复杂度为 O(1+2+4+8+...+2^(n-1)) = O(2^n -1)
递归树分析时间复杂度
最新推荐文章于 2024-06-12 12:28:46 发布