mirror of
https://github.com/krahets/hello-algo.git
synced 2026-07-05 12:14:20 +00:00
build
This commit is contained in:
@@ -417,7 +417,7 @@ $$
|
||||
|
||||
<p align="center"> 图 14-14 暴力搜索递归树 </p>
|
||||
|
||||
每个状态都有向下和向右两种选择,从左上角走到右下角总共需要 $m + n - 2$ 步,所以最差时间复杂度为 $O(2^{m + n})$ 。请注意,这种计算方式未考虑临近网格边界的情况,当到达网络边界时只剩下一种选择,因此实际的路径数量会少一些。
|
||||
每个状态都有向下和向右两种选择,从左上角走到右下角总共需要 $m + n - 2$ 步,所以最差时间复杂度为 $O(2^{m + n})$ ,其中 $n$ 和 $m$ 分别为网格的行数和列数。请注意,这种计算方式未考虑临近网格边界的情况,当到达网络边界时只剩下一种选择,因此实际的路径数量会少一些。
|
||||
|
||||
### 2. 方法二:记忆化搜索
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ comments: true
|
||||
|
||||
!!! tip
|
||||
|
||||
阅读本节前,请确保已学完“堆“章节。
|
||||
阅读本节前,请确保已学完“堆”章节。
|
||||
|
||||
<u>堆排序(heap sort)</u>是一种基于堆数据结构实现的高效排序算法。我们可以利用已经学过的“建堆操作”和“元素出堆操作”实现堆排序。
|
||||
|
||||
|
||||
@@ -501,7 +501,7 @@ comments: true
|
||||
val: int = self._front.val # 暂存头节点值
|
||||
# 删除头节点
|
||||
fnext: ListNode | None = self._front.next
|
||||
if fnext != None:
|
||||
if fnext is not None:
|
||||
fnext.prev = None
|
||||
self._front.next = None
|
||||
self._front = fnext # 更新头节点
|
||||
@@ -510,7 +510,7 @@ comments: true
|
||||
val: int = self._rear.val # 暂存尾节点值
|
||||
# 删除尾节点
|
||||
rprev: ListNode | None = self._rear.prev
|
||||
if rprev != None:
|
||||
if rprev is not None:
|
||||
rprev.next = None
|
||||
self._rear.prev = None
|
||||
self._rear = rprev # 更新尾节点
|
||||
|
||||
@@ -504,6 +504,8 @@ comments: true
|
||||
P->left = n2;
|
||||
// 删除节点 P
|
||||
n1->left = n2;
|
||||
// 释放内存
|
||||
delete P;
|
||||
```
|
||||
|
||||
=== "Java"
|
||||
@@ -609,6 +611,8 @@ comments: true
|
||||
P->left = n2;
|
||||
// 删除节点 P
|
||||
n1->left = n2;
|
||||
// 释放内存
|
||||
free(P);
|
||||
```
|
||||
|
||||
=== "Kotlin"
|
||||
|
||||
Reference in New Issue
Block a user