File tree Expand file tree Collapse file tree 1 file changed +6
-6
lines changed
Contents/09.Algorithm-Base/03.Divide-And-Conquer-Algorithm Expand file tree Collapse file tree 1 file changed +6
-6
lines changed Original file line number Diff line number Diff line change @@ -84,21 +84,21 @@ $T(n) = \begin{cases} \begin{array} \ O{(1)} & n = 1 \cr 2T(n/2) + O(n) & n > 1
84
84
85
85
根据归并排序的递归表达式,当 $n > 1$ 时,可以递推求解:
86
86
87
- $\begin{align} T(n) & = 2T(n/2) + O(n) \cr & = 2(2T(n / 4) + O(n/2)) + O(n) \cr & = 4T(n/4) + 2O(n) \cr & = 8T(n/8) + 3O(n) \cr & = …… \cr & = 2^xT (n/2^x) + xO (n) \end{align}$
87
+ $\begin{align} T(n) & = 2T(n/2) + O(n) \cr & = 2(2T(n / 4) + O(n/2)) + O(n) \cr & = 4T(n/4) + 2O(n) \cr & = 8T(n/8) + 3O(n) \cr & = …… \cr & = 2^x \times T (n/2^x) + x \times O (n) \end{align}$
88
88
89
- 递推最终规模为 $1$,令 $n = 2^x$,则 $x = log_2n$,则:
89
+ 递推最终规模为 $1$,令 $n = 2^x$,则 $x = \ log_2n$,则:
90
90
91
- $\begin{align} T(n) & = nT (1) + log_2nO (n) \cr & = n + log_2nO (n) \cr & = O(nlog_2n ) \end{align}$
91
+ $\begin{align} T(n) & = n \times T (1) + \log_2n \times O (n) \cr & = n + \log_2n \times O (n) \cr & = O(n \times \log_2n ) \end{align}$
92
92
93
- 则归并排序的时间复杂度为 $O(nlog_2n )$。
93
+ 则归并排序的时间复杂度为 $O(n \times \log_2n )$。
94
94
95
95
### 3.2 递归树法
96
96
97
97
递归树求解方式其实和递推求解一样,只不过递归树能够更清楚直观的显示出来,更能够形象地表达每层分解的节点和每层产生的时间成本。
98
98
99
99
使用递归树法计算时间复杂度的公式为:
100
100
101
- $时间复杂度 = 叶子数 * T(1) + 成本和 = 2^xT (1) + xO (n)$。
101
+ $时间复杂度 = 叶子数 * T(1) + 成本和 = 2^x \times T (1) + x \times O (n)$。
102
102
103
103
我们还是以「归并排序算法」为例,通过递归树法计算一下归并排序算法的时间复杂度。
104
104
@@ -110,7 +110,7 @@ $T(n) = \begin{cases} \begin{array} \ O{(1)} & n = 1 \cr 2T(n/2) + O(n) & n > 1
110
110
111
111
![ ] ( https://qcdn.itcharge.cn/images/20220414171458.png )
112
112
113
- 因为 $n = 2^x$,则 $x = log_2n$,则归并排序算法的时间复杂度为:$2^xT (1) + xO (n) = n + log_2nO (n) = O(log_2n)$。
113
+ 因为 $n = 2^x$,则 $x = \ log_2n$,则归并排序算法的时间复杂度为:$2^x \times T (1) + x \times O (n) = n + \log_2n \times O (n) = O(n \times log_2n)$。
114
114
115
115
## 4. 分治算法的应用
116
116
You can’t perform that action at this time.
0 commit comments