diff --git a/docs/chapter_backtracking/backtracking_algorithm.md b/docs/chapter_backtracking/backtracking_algorithm.md index 83a1bab9f..1405692bc 100644 --- a/docs/chapter_backtracking/backtracking_algorithm.md +++ b/docs/chapter_backtracking/backtracking_algorithm.md @@ -186,7 +186,18 @@ comments: true === "C" ```c title="preorder_traversal_i_compact.c" - [class]{}-[func]{preOrder} + /* 前序遍历:例题一 */ + void preOrder(TreeNode *root) { + if (root == NULL) { + return; + } + if (root->val == 7) { + // 记录解 + vectorPushback(res, root, sizeof(int)); + } + preOrder(root->left); + preOrder(root->right); + } ``` === "Zig" diff --git a/docs/chapter_computational_complexity/iteration_and_recursion.md b/docs/chapter_computational_complexity/iteration_and_recursion.md index 04a19fd67..7adc67549 100644 --- a/docs/chapter_computational_complexity/iteration_and_recursion.md +++ b/docs/chapter_computational_complexity/iteration_and_recursion.md @@ -1632,7 +1632,24 @@ status: new === "C" ```c title="recursion.c" - [class]{}-[func]{forLoopRecur} + /* 使用迭代模拟递归 */ + int forLoopRecur(int n) { + int stack[1000]; // 借助一个大数组来模拟栈 + int top = 0; + int res = 0; + // 递:递归调用 + for (int i = n; i > 0; i--) { + // 通过“入栈操作”模拟“递” + stack[top++] = i; + } + // 归:返回结果 + while (top >= 0) { + // 通过“出栈操作”模拟“归” + res += stack[top--]; + } + // res = 1+2+3+...+n + return res; + } ``` === "Zig" diff --git a/docs/chapter_computational_complexity/space_complexity.md b/docs/chapter_computational_complexity/space_complexity.md index 92dba0ce9..c37b7486f 100755 --- a/docs/chapter_computational_complexity/space_complexity.md +++ b/docs/chapter_computational_complexity/space_complexity.md @@ -1027,7 +1027,11 @@ $$ === "Zig" ```zig title="space_complexity.zig" - [class]{}-[func]{function} + // 函数 + fn function() i32 { + // 执行某些操作 + return 0; + } // 常数阶 fn constant(n: i32) void { diff --git a/docs/chapter_hashing/hash_collision.md b/docs/chapter_hashing/hash_collision.md index 381465310..395bcf91c 100644 --- a/docs/chapter_hashing/hash_collision.md +++ b/docs/chapter_hashing/hash_collision.md @@ -1152,7 +1152,7 @@ comments: true /* 链表节点 */ struct node { Pair *pair; - struct Node *next; + struct node *next; }; typedef struct node Node; diff --git a/docs/chapter_hashing/hash_map.md b/docs/chapter_hashing/hash_map.md index 6a6be2c48..66c911a6d 100755 --- a/docs/chapter_hashing/hash_map.md +++ b/docs/chapter_hashing/hash_map.md @@ -965,14 +965,18 @@ index = hash(key) % capacity ```swift title="array_hash_map.swift" /* 键值对 */ - class Pair { - var key: Int - var val: String + class Pair: Equatable { + public var key: Int + public var val: String - init(key: Int, val: String) { + public init(key: Int, val: String) { self.key = key self.val = val } + + public static func == (lhs: Pair, rhs: Pair) -> Bool { + lhs.key == rhs.key && lhs.val == rhs.val + } } /* 基于数组简易实现的哈希表 */