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>是一種基於堆積資料結構實現的高效排序演算法。我們可以利用已經學過的“建堆積操作”和“元素出堆積操作”實現堆積排序。
@@ -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"