Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 1d40dbf

Browse files
committed
Update 01.Divide-And-Conquer-Algorithm.md
1 parent decd26c commit 1d40dbf

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

‎Contents/09.Algorithm-Base/03.Divide-And-Conquer-Algorithm/01.Divide-And-Conquer-Algorithm.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -84,21 +84,21 @@ $T(n) = \begin{cases} \begin{array} \ O{(1)} & n = 1 \cr 2T(n/2) + O(n) & n > 1
8484

8585
根据归并排序的递归表达式,当 $n > 1$ 时,可以递推求解:
8686

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}$
8888

89-
递推最终规模为 1ドル,ドル令 $n = 2^x,ドル则 $x = log_2n,ドル则:
89+
递推最终规模为 1ドル,ドル令 $n = 2^x,ドル则 $x = \log_2n,ドル则:
9090

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}$
9292

93-
则归并排序的时间复杂度为 $O(nlog_2n)$。
93+
则归并排序的时间复杂度为 $O(n \times \log_2n)$。
9494

9595
### 3.2 递归树法
9696

9797
递归树求解方式其实和递推求解一样,只不过递归树能够更清楚直观的显示出来,更能够形象地表达每层分解的节点和每层产生的时间成本。
9898

9999
使用递归树法计算时间复杂度的公式为:
100100

101-
$时间复杂度 = 叶子数 * T(1) + 成本和 = 2^xT(1) + xO(n)$。
101+
$时间复杂度 = 叶子数 * T(1) + 成本和 = 2^x \times T(1) + x \times O(n)$。
102102

103103
我们还是以「归并排序算法」为例,通过递归树法计算一下归并排序算法的时间复杂度。
104104

@@ -110,7 +110,7 @@ $T(n) = \begin{cases} \begin{array} \ O{(1)} & n = 1 \cr 2T(n/2) + O(n) & n > 1
110110

111111
![](https://qcdn.itcharge.cn/images/20220414171458.png)
112112

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)$。
114114

115115
## 4. 分治算法的应用
116116

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /