algorithm - 算法中的递归求解
解决方案
请记住,log ab = log a + log b
也log (1/a) = - log a
所以当你有2(n/2) log(n/2)
你可以写成log(n/2)
which log(1/2 x n)
using log ab = log a + log b
equalslog(n) + log(1/2)
2(n/2) log(n/2) = 2(n/2) (log n + log(1/2)) = n(log n + log(1/2))
也log (1/a) = - log a
,因此log(1/2) = - log 2
这就是你得到的方式
2(n/2) log(n/2) + n = 2(n/2) (log n + log(1/2)) + n = n(log n + log(1/2))
= n(log n - log 2 ) + n
由于log 2 = 1
在base 2中,您将拥有n(log n - log 2 ) + n = n(log n - 1) + n = n lg n
推荐阅读
- apache-spark - 合并来自 DataFrame 的列
- javascript - 找不到模块'@babel/runtime-corejs2/core-js/reflect/construct'
- python - Mac Poppler + pdf2image 路径错误
- android - 片段旋转上带有edittext的saveInstanceState不起作用
- c++ - 从 CDC 创建 CBitmap?
- angular - 如何在 Angular 应用程序启动之前获取提供者数据
- graphql - GraphQL/Apollo Server 上同一字段的多个输入
- node.js - 通过利用 Mongoose 中的 _v 键对 mongoose 中的用户输入进行版本控制
- c# - 我怎么做才能让 catch 停止循环并回到循环的开头
- r - 如何对 R data.table 中的变量词进行排序?