Remove incomplete zig code from docs. (#1837)

This commit is contained in:
Yudong Jin
2025-12-31 19:47:59 +08:00
committed by GitHub
parent 2778a6f9c7
commit 10f76bd59a
68 changed files with 0 additions and 1343 deletions

View File

@@ -361,12 +361,6 @@
end
```
=== "Zig"
```zig title=""
```
## 推算方法
空间复杂度的推算方法与时间复杂度大致相同,只需将统计对象从“操作数量”转为“使用空间大小”。
@@ -529,12 +523,6 @@
end
```
=== "Zig"
```zig title=""
```
**在递归函数中,需要注意统计栈帧空间**。观察以下代码:
=== "Python"
@@ -807,12 +795,6 @@
end
```
=== "Zig"
```zig title=""
```
函数 `loop()` 和 `recur()` 的时间复杂度都为 $O(n)$ ,但空间复杂度不同。
- 函数 `loop()` 在循环中调用了 $n$ 次 `function()` ,每轮中的 `function()` 都返回并释放了栈帧空间,因此空间复杂度仍为 $O(1)$ 。

View File

@@ -201,21 +201,6 @@
end
```
=== "Zig"
```zig title=""
// 在某运行平台下
fn algorithm(n: usize) void {
var a: i32 = 2; // 1 ns
a += 1; // 1 ns
a *= 2; // 10 ns
// 循环 n 次
for (0..n) |_| { // 1 ns
std.debug.print("{}\n", .{0}); // 5 ns
}
}
```
根据以上方法,可以得到算法的运行时间为 $(6n + 12)$ ns
$$
@@ -499,29 +484,6 @@ $$
end
```
=== "Zig"
```zig title=""
// 算法 A 的时间复杂度:常数阶
fn algorithm_A(n: usize) void {
_ = n;
std.debug.print("{}\n", .{0});
}
// 算法 B 的时间复杂度:线性阶
fn algorithm_B(n: i32) void {
for (0..n) |_| {
std.debug.print("{}\n", .{0});
}
}
// 算法 C 的时间复杂度:常数阶
fn algorithm_C(n: i32) void {
_ = n;
for (0..1000000) |_| {
std.debug.print("{}\n", .{0});
}
}
```
下图展示了以上三个算法函数的时间复杂度。
- 算法 `A` 只有 $1$ 个打印操作,算法运行时间不随着 $n$ 增大而增长。我们称此算法的时间复杂度为“常数阶”。
@@ -721,20 +683,6 @@ $$
end
```
=== "Zig"
```zig title=""
fn algorithm(n: usize) void {
var a: i32 = 1; // +1
a += 1; // +1
a *= 2; // +1
// 循环 n 次
for (0..n) |_| { // +1每轮都执行 i ++
std.debug.print("{}\n", .{0}); // +1
}
}
```
设算法的操作数量是一个关于输入数据大小 $n$ 的函数,记为 $T(n)$ ,则以上函数的操作数量为:
$$
@@ -1012,27 +960,6 @@ $T(n)$ 是一次函数,说明其运行时间的增长趋势是线性的,因
end
```
=== "Zig"
```zig title=""
fn algorithm(n: usize) void {
var a: i32 = 1; // +0技巧 1
a = a + @as(i32, @intCast(n)); // +0技巧 1
// +n技巧 2
for(0..(5 * n + 1)) |_| {
std.debug.print("{}\n", .{0});
}
// +n*n技巧 3
for(0..(2 * n)) |_| {
for(0..(n + 1)) |_| {
std.debug.print("{}\n", .{0});
}
}
}
```
以下公式展示了使用上述技巧前后的统计结果,两者推算出的时间复杂度都为 $O(n^2)$ 。
$$