Add Zig code blocks.

This commit is contained in:
Yudong Jin
2023-02-01 22:03:04 +08:00
parent 6cd6d5589e
commit 7ce7386bab
25 changed files with 599 additions and 0 deletions
+18
View File
@@ -234,6 +234,12 @@ $$
}
```
=== "Zig"
```zig title="binary_search.zig"
```
### “左闭右开”实现
当然,我们也可以使用“左闭右开”的表示方法,写出相同功能的二分查找代码。
@@ -422,6 +428,12 @@ $$
}
```
=== "Zig"
```zig title="binary_search.zig"
```
### 两种表示对比
对比下来,两种表示的代码写法有以下不同点:
@@ -517,6 +529,12 @@ $$
let m = i + (j - 1) / 2
```
=== "Zig"
```zig title=""
```
## 10.2.2. 复杂度分析
**时间复杂度 $O(\log n)$** :其中 $n$ 为数组或链表长度;每轮排除一半的区间,因此循环轮数为 $\log_2 n$ ,使用 $O(\log n)$ 时间。
+12
View File
@@ -116,6 +116,12 @@ comments: true
}
```
=== "Zig"
```zig title="hashing_search.zig"
```
再比如,如果我们想要给定一个目标结点值 `target` ,获取对应的链表结点对象,那么也可以使用哈希查找实现。
![hash_search_listnode](hashing_search.assets/hash_search_listnode.png)
@@ -221,6 +227,12 @@ comments: true
}
```
=== "Zig"
```zig title="hashing_search.zig"
```
## 10.3.2. 复杂度分析
**时间复杂度 $O(1)$** :哈希表的查找操作使用 $O(1)$ 时间。
+12
View File
@@ -150,6 +150,12 @@ comments: true
}
```
=== "Zig"
```zig title="linear_search.zig"
```
再比如,我们想要在给定一个目标结点值 `target` ,返回此结点对象,也可以在链表中进行线性查找。
=== "Java"
@@ -297,6 +303,12 @@ comments: true
}
```
=== "Zig"
```zig title="linear_search.zig"
```
## 10.1.2. 复杂度分析
**时间复杂度 $O(n)$** :其中 $n$ 为数组或链表长度。