This commit is contained in:
krahets
2025-01-21 20:03:36 +08:00
parent f7cbcbbd75
commit c458348df2
11 changed files with 50 additions and 41 deletions
@@ -417,7 +417,7 @@ $$
<p align="center"> 图 14-14 &nbsp; 暴力搜索递归树 </p>
每个状态都有向下和向右两种选择,从左上角走到右下角总共需要 $m + n - 2$ 步,所以最差时间复杂度为 $O(2^{m + n})$ 。请注意,这种计算方式未考虑临近网格边界的情况,当到达网络边界时只剩下一种选择,因此实际的路径数量会少一些。
每个状态都有向下和向右两种选择,从左上角走到右下角总共需要 $m + n - 2$ 步,所以最差时间复杂度为 $O(2^{m + n})$ ,其中 $n$ 和 $m$ 分别为网格的行数和列数。请注意,这种计算方式未考虑临近网格边界的情况,当到达网络边界时只剩下一种选择,因此实际的路径数量会少一些。
### 2. &nbsp; 方法二:记忆化搜索
+1 -1
View File
@@ -6,7 +6,7 @@ comments: true
!!! tip
阅读本节前,请确保已学完“堆章节。
阅读本节前,请确保已学完“堆章节。
<u>堆排序(heap sort</u>是一种基于堆数据结构实现的高效排序算法。我们可以利用已经学过的“建堆操作”和“元素出堆操作”实现堆排序。
+2 -2
View File
@@ -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 # 更新尾节点
+4
View File
@@ -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"