diff --git a/docs/chapter_appendix/index.md b/docs/chapter_appendix/index.md index f9dc31458..d7f35ec58 100644 --- a/docs/chapter_appendix/index.md +++ b/docs/chapter_appendix/index.md @@ -5,12 +5,8 @@ icon: material/help-circle-outline # 第 16 章   附录 -
- ![附录](../assets/covers/chapter_appendix.jpg){ class="cover-image" } -
- ## 本章内容 - [16.1   编程环境安装](https://www.hello-algo.com/chapter_appendix/installation/) diff --git a/docs/chapter_array_and_linkedlist/linked_list.md b/docs/chapter_array_and_linkedlist/linked_list.md index 6145922d5..75079a6e3 100755 --- a/docs/chapter_array_and_linkedlist/linked_list.md +++ b/docs/chapter_array_and_linkedlist/linked_list.md @@ -184,8 +184,8 @@ comments: true attr_accessor :val # 节点值 attr_accessor :next # 指向下一节点的引用 - def initialize(val=nil, next_node=nil) - @val = val || 0 + def initialize(val=0, next_node=nil) + @val = val @next = next_node end end @@ -1511,8 +1511,8 @@ comments: true attr_accessor :next # 指向后继节点的引用 attr_accessor :prev # 指向前驱节点的引用 - def initialize(val=nil, next_node=nil, prev_node=nil) - @val = val || 0 + def initialize(val=0, next_node=nil, prev_node=nil) + @val = val @next = next_node @prev = prev_node end diff --git a/docs/chapter_array_and_linkedlist/list.md b/docs/chapter_array_and_linkedlist/list.md index 7232800f4..1ec2ddb22 100755 --- a/docs/chapter_array_and_linkedlist/list.md +++ b/docs/chapter_array_and_linkedlist/list.md @@ -287,9 +287,9 @@ comments: true ```ruby title="list.rb" # 访问元素 - num = nums[1] + num = nums[1] # 访问索引 1 处的元素 # 更新元素 - nums[1] = 0 + nums[1] = 0 # 将索引 1 处的元素更新为 0 ``` === "Zig" @@ -299,7 +299,7 @@ comments: true var num = nums.items[1]; // 访问索引 1 处的元素 // 更新元素 - nums.items[1] = 0; // 将索引 1 处的元素更新为 0 + nums.items[1] = 0; // 将索引 1 处的元素更新为 0 ``` ??? pythontutor "可视化运行" @@ -551,10 +551,10 @@ comments: true nums << 4 # 在中间插入元素 - nums.insert 3, 6 + nums.insert 3, 6 # 在索引 3 处插入数字 6 # 删除元素 - nums.delete_at 3 + nums.delete_at 3 # 删除索引 3 处的元素 ``` === "Zig" @@ -718,7 +718,7 @@ comments: true for (var i = 0; i < nums.length; i++) { count += nums[i]; } - + /* 直接遍历列表元素 */ count = 0; for (var num in nums) { @@ -972,7 +972,7 @@ comments: true === "JS" ```javascript title="list.js" - /* 排序列表 */ + /* 排序列表 */ nums.sort((a, b) => a - b); // 排序后,列表元素从小到大排列 ``` @@ -1014,7 +1014,7 @@ comments: true ```ruby title="list.rb" # 排序列表 - nums = nums.sort { |a, b| a <=> b } + nums = nums.sort { |a, b| a <=> b } # 排序后,列表元素从小到大排列 ``` === "Zig" diff --git a/docs/chapter_backtracking/index.md b/docs/chapter_backtracking/index.md index adc6878e9..43342b5d6 100644 --- a/docs/chapter_backtracking/index.md +++ b/docs/chapter_backtracking/index.md @@ -5,12 +5,8 @@ icon: material/map-marker-path # 第 13 章   回溯 -
- ![回溯](../assets/covers/chapter_backtracking.jpg){ class="cover-image" } -
- !!! abstract 我们如同迷宫中的探索者,在前进的道路上可能会遇到困难。 diff --git a/docs/chapter_computational_complexity/index.md b/docs/chapter_computational_complexity/index.md index 57f564211..4a0d7a5cd 100644 --- a/docs/chapter_computational_complexity/index.md +++ b/docs/chapter_computational_complexity/index.md @@ -5,12 +5,8 @@ icon: material/timer-sand # 第 2 章   复杂度分析 -
- ![复杂度分析](../assets/covers/chapter_complexity_analysis.jpg){ class="cover-image" } -
- !!! abstract 复杂度分析犹如浩瀚的算法宇宙中的时空向导。 diff --git a/docs/chapter_computational_complexity/space_complexity.md b/docs/chapter_computational_complexity/space_complexity.md index c91274919..a01ad4247 100755 --- a/docs/chapter_computational_complexity/space_complexity.md +++ b/docs/chapter_computational_complexity/space_complexity.md @@ -798,7 +798,7 @@ $$

图 2-16   常见的空间复杂度类型

-### 1.   常数阶 $O(1)$ {data-toc-label="常数阶"} +### 1.   常数阶 $O(1)$ {data-toc-label="1.   常数阶"} 常数阶常见于数量与输入数据大小 $n$ 无关的常量、变量、对象。 @@ -1178,7 +1178,7 @@ $$
全屏观看 >
-### 2.   线性阶 $O(n)$ {data-toc-label="线性阶"} +### 2.   线性阶 $O(n)$ {data-toc-label="2.   线性阶"} 线性阶常见于元素数量与 $n$ 成正比的数组、链表、栈、队列等: @@ -1643,7 +1643,7 @@ $$

图 2-17   递归函数产生的线性阶空间复杂度

-### 3.   平方阶 $O(n^2)$ {data-toc-label="平方阶"} +### 3.   平方阶 $O(n^2)$ {data-toc-label="3.   平方阶"} 平方阶常见于矩阵和图,元素数量与 $n$ 成平方关系: @@ -2079,7 +2079,7 @@ $$

图 2-18   递归函数产生的平方阶空间复杂度

-### 4.   指数阶 $O(2^n)$ {data-toc-label="指数阶"} +### 4.   指数阶 $O(2^n)$ {data-toc-label="4.   指数阶"} 指数阶常见于二叉树。观察图 2-19 ,层数为 $n$ 的“满二叉树”的节点数量为 $2^n - 1$ ,占用 $O(2^n)$ 空间: @@ -2279,7 +2279,7 @@ $$

图 2-19   满二叉树产生的指数阶空间复杂度

-### 5.   对数阶 $O(\log n)$ {data-toc-label="对数阶"} +### 5.   对数阶 $O(\log n)$ {data-toc-label="5.   对数阶"} 对数阶常见于分治算法。例如归并排序,输入长度为 $n$ 的数组,每轮递归将数组从中点处划分为两半,形成高度为 $\log n$ 的递归树,使用 $O(\log n)$ 栈帧空间。 diff --git a/docs/chapter_computational_complexity/time_complexity.md b/docs/chapter_computational_complexity/time_complexity.md index c70aaec08..8053318bc 100755 --- a/docs/chapter_computational_complexity/time_complexity.md +++ b/docs/chapter_computational_complexity/time_complexity.md @@ -1047,7 +1047,7 @@ $$

图 2-9   常见的时间复杂度类型

-### 1.   常数阶 $O(1)$ {data-toc-label="常数阶"} +### 1.   常数阶 $O(1)$ {data-toc-label="1.   常数阶"} 常数阶的操作数量与输入数据大小 $n$ 无关,即不随着 $n$ 的变化而变化。 @@ -1240,7 +1240,7 @@ $$
全屏观看 >
-### 2.   线性阶 $O(n)$ {data-toc-label="线性阶"} +### 2.   线性阶 $O(n)$ {data-toc-label="2.   线性阶"} 线性阶的操作数量相对于输入数据大小 $n$ 以线性级别增长。线性阶通常出现在单层循环中: @@ -1611,7 +1611,7 @@ $$ 值得注意的是,**输入数据大小 $n$ 需根据输入数据的类型来具体确定**。比如在第一个示例中,变量 $n$ 为输入数据大小;在第二个示例中,数组长度 $n$ 为数据大小。 -### 3.   平方阶 $O(n^2)$ {data-toc-label="平方阶"} +### 3.   平方阶 $O(n^2)$ {data-toc-label="3.   平方阶"} 平方阶的操作数量相对于输入数据大小 $n$ 以平方级别增长。平方阶通常出现在嵌套循环中,外层循环和内层循环的时间复杂度都为 $O(n)$ ,因此总体的时间复杂度为 $O(n^2)$ : @@ -2146,7 +2146,7 @@ $$
全屏观看 >
-### 4.   指数阶 $O(2^n)$ {data-toc-label="指数阶"} +### 4.   指数阶 $O(2^n)$ {data-toc-label="4.   指数阶"} 生物学的“细胞分裂”是指数阶增长的典型例子:初始状态为 $1$ 个细胞,分裂一轮后变为 $2$ 个,分裂两轮后变为 $4$ 个,以此类推,分裂 $n$ 轮后有 $2^n$ 个细胞。 @@ -2564,7 +2564,7 @@ $$ 指数阶增长非常迅速,在穷举法(暴力搜索、回溯等)中比较常见。对于数据规模较大的问题,指数阶是不可接受的,通常需要使用动态规划或贪心算法等来解决。 -### 5.   对数阶 $O(\log n)$ {data-toc-label="对数阶"} +### 5.   对数阶 $O(\log n)$ {data-toc-label="5.   对数阶"} 与指数阶相反,对数阶反映了“每轮缩减到一半”的情况。设输入数据大小为 $n$ ,由于每轮缩减到一半,因此循环次数是 $\log_2 n$ ,即 $2^n$ 的反函数。 @@ -2934,7 +2934,7 @@ $$ 也就是说,底数 $m$ 可以在不影响复杂度的前提下转换。因此我们通常会省略底数 $m$ ,将对数阶直接记为 $O(\log n)$ 。 -### 6.   线性对数阶 $O(n \log n)$ {data-toc-label="线性对数阶"} +### 6.   线性对数阶 $O(n \log n)$ {data-toc-label="6.   线性对数阶"} 线性对数阶常出现于嵌套循环中,两层循环的时间复杂度分别为 $O(\log n)$ 和 $O(n)$ 。相关代码如下: @@ -3149,7 +3149,7 @@ $$ 主流排序算法的时间复杂度通常为 $O(n \log n)$ ,例如快速排序、归并排序、堆排序等。 -### 7.   阶乘阶 $O(n!)$ {data-toc-label="阶乘阶"} +### 7.   阶乘阶 $O(n!)$ {data-toc-label="7.   阶乘阶"} 阶乘阶对应数学上的“全排列”问题。给定 $n$ 个互不重复的元素,求其所有可能的排列方案,方案数量为: diff --git a/docs/chapter_data_structure/index.md b/docs/chapter_data_structure/index.md index 79382f37c..440dac468 100644 --- a/docs/chapter_data_structure/index.md +++ b/docs/chapter_data_structure/index.md @@ -5,12 +5,8 @@ icon: material/shape-outline # 第 3 章   数据结构 -
- ![数据结构](../assets/covers/chapter_data_structure.jpg){ class="cover-image" } -
- !!! abstract 数据结构如同一副稳固而多样的框架。 diff --git a/docs/chapter_divide_and_conquer/index.md b/docs/chapter_divide_and_conquer/index.md index 4afa1758e..6ee3a06c3 100644 --- a/docs/chapter_divide_and_conquer/index.md +++ b/docs/chapter_divide_and_conquer/index.md @@ -5,12 +5,8 @@ icon: material/set-split # 第 12 章   分治 -
- ![分治](../assets/covers/chapter_divide_and_conquer.jpg){ class="cover-image" } -
- !!! abstract 难题被逐层拆解,每一次的拆解都使它变得更为简单。 diff --git a/docs/chapter_dynamic_programming/index.md b/docs/chapter_dynamic_programming/index.md index 6bf09ad3c..5bed2aaba 100644 --- a/docs/chapter_dynamic_programming/index.md +++ b/docs/chapter_dynamic_programming/index.md @@ -5,12 +5,8 @@ icon: material/table-pivot # 第 14 章   动态规划 -
- ![动态规划](../assets/covers/chapter_dynamic_programming.jpg){ class="cover-image" } -
- !!! abstract 小溪汇入河流,江河汇入大海。 diff --git a/docs/chapter_graph/index.md b/docs/chapter_graph/index.md index 318d3b00c..f7343b740 100644 --- a/docs/chapter_graph/index.md +++ b/docs/chapter_graph/index.md @@ -5,12 +5,8 @@ icon: material/graphql # 第 9 章   图 -
- ![图](../assets/covers/chapter_graph.jpg){ class="cover-image" } -
- !!! abstract 在生命旅途中,我们就像是一个个节点,被无数看不见的边相连。 diff --git a/docs/chapter_greedy/index.md b/docs/chapter_greedy/index.md index aa81269c7..dd7148f3b 100644 --- a/docs/chapter_greedy/index.md +++ b/docs/chapter_greedy/index.md @@ -5,12 +5,8 @@ icon: material/head-heart-outline # 第 15 章   贪心 -
- ![贪心](../assets/covers/chapter_greedy.jpg){ class="cover-image" } -
- !!! abstract 向日葵朝着太阳转动,时刻追求自身成长的最大可能。 diff --git a/docs/chapter_hashing/index.md b/docs/chapter_hashing/index.md index c4c23b52a..43fc5a603 100644 --- a/docs/chapter_hashing/index.md +++ b/docs/chapter_hashing/index.md @@ -5,12 +5,8 @@ icon: material/table-search # 第 6 章   哈希表 -
- ![哈希表](../assets/covers/chapter_hashing.jpg){ class="cover-image" } -
- !!! abstract 在计算机世界中,哈希表如同一位聪慧的图书管理员。 diff --git a/docs/chapter_heap/index.md b/docs/chapter_heap/index.md index ff6625721..b88d3d8ea 100644 --- a/docs/chapter_heap/index.md +++ b/docs/chapter_heap/index.md @@ -5,12 +5,8 @@ icon: material/family-tree # 第 8 章   堆 -
- ![堆](../assets/covers/chapter_heap.jpg){ class="cover-image" } -
- !!! abstract 堆就像是山岳峰峦,层叠起伏、形态各异。 diff --git a/docs/chapter_introduction/index.md b/docs/chapter_introduction/index.md index 1aa715584..7574b3a6f 100644 --- a/docs/chapter_introduction/index.md +++ b/docs/chapter_introduction/index.md @@ -5,12 +5,8 @@ icon: material/calculator-variant-outline # 第 1 章   初识算法 -
- ![初识算法](../assets/covers/chapter_introduction.jpg){ class="cover-image" } -
- !!! abstract 一位少女翩翩起舞,与数据交织在一起,裙摆上飘扬着算法的旋律。 diff --git a/docs/chapter_preface/index.md b/docs/chapter_preface/index.md index cf1e30380..1edcd958c 100644 --- a/docs/chapter_preface/index.md +++ b/docs/chapter_preface/index.md @@ -5,12 +5,8 @@ icon: material/book-open-outline # 第 0 章   前言 -
- ![前言](../assets/covers/chapter_preface.jpg){ class="cover-image" } -
- !!! abstract 算法犹如美妙的交响乐,每一行代码都像韵律般流淌。 diff --git a/docs/chapter_searching/index.md b/docs/chapter_searching/index.md index b709e4dca..8d2fcb0f8 100644 --- a/docs/chapter_searching/index.md +++ b/docs/chapter_searching/index.md @@ -5,12 +5,8 @@ icon: material/text-search # 第 10 章   搜索 -
- ![搜索](../assets/covers/chapter_searching.jpg){ class="cover-image" } -
- !!! abstract 搜索是一场未知的冒险,我们或许需要走遍神秘空间的每个角落,又或许可以快速锁定目标。 diff --git a/docs/chapter_sorting/index.md b/docs/chapter_sorting/index.md index 97265cf2f..69a542a7c 100644 --- a/docs/chapter_sorting/index.md +++ b/docs/chapter_sorting/index.md @@ -5,12 +5,8 @@ icon: material/sort-ascending # 第 11 章   排序 -
- ![排序](../assets/covers/chapter_sorting.jpg){ class="cover-image" } -
- !!! abstract 排序犹如一把将混乱变为秩序的魔法钥匙,使我们能以更高效的方式理解与处理数据。 diff --git a/docs/chapter_stack_and_queue/index.md b/docs/chapter_stack_and_queue/index.md index 11ca906d2..05db5e5c4 100644 --- a/docs/chapter_stack_and_queue/index.md +++ b/docs/chapter_stack_and_queue/index.md @@ -5,12 +5,8 @@ icon: material/stack-overflow # 第 5 章   栈与队列 -
- ![栈与队列](../assets/covers/chapter_stack_and_queue.jpg){ class="cover-image" } -
- !!! abstract 栈如同叠猫猫,而队列就像猫猫排队。 diff --git a/docs/chapter_tree/index.md b/docs/chapter_tree/index.md index 0ef1ac0b6..3a6012819 100644 --- a/docs/chapter_tree/index.md +++ b/docs/chapter_tree/index.md @@ -5,12 +5,8 @@ icon: material/graph-outline # 第 7 章   树 -
- ![树](../assets/covers/chapter_tree.jpg){ class="cover-image" } -
- !!! abstract 参天大树充满生命力,根深叶茂,分枝扶疏。 diff --git a/en/docs/chapter_computational_complexity/index.md b/en/docs/chapter_computational_complexity/index.md index 2e4a3eb51..4889d18d9 100644 --- a/en/docs/chapter_computational_complexity/index.md +++ b/en/docs/chapter_computational_complexity/index.md @@ -5,12 +5,8 @@ icon: material/timer-sand # Chapter 2.   Complexity Analysis -
- ![complexity_analysis](../assets/covers/chapter_complexity_analysis.jpg){ class="cover-image" } -
- !!! abstract Complexity analysis is like a space-time navigator in the vast universe of algorithms. diff --git a/en/docs/chapter_computational_complexity/space_complexity.md b/en/docs/chapter_computational_complexity/space_complexity.md index cbfc66583..31349d845 100644 --- a/en/docs/chapter_computational_complexity/space_complexity.md +++ b/en/docs/chapter_computational_complexity/space_complexity.md @@ -744,7 +744,7 @@ $$

Figure 2-16   Common Types of Space Complexity

-### 1.   Constant Order $O(1)$ {data-toc-label="Constant Order"} +### 1.   Constant Order $O(1)$ {data-toc-label="1.   Constant Order"} Constant order is common in constants, variables, objects that are independent of the size of input data $n$. @@ -1124,7 +1124,7 @@ Note that memory occupied by initializing variables or calling functions in a lo
Full Screen >
-### 2.   Linear Order $O(n)$ {data-toc-label="Linear Order"} +### 2.   Linear Order $O(n)$ {data-toc-label="2.   Linear Order"} Linear order is common in arrays, linked lists, stacks, queues, etc., where the number of elements is proportional to $n$: @@ -1589,7 +1589,7 @@ As shown below, this function's recursive depth is $n$, meaning there are $n$ in

Figure 2-17   Recursive Function Generating Linear Order Space Complexity

-### 3.   Quadratic Order $O(n^2)$ {data-toc-label="Quadratic Order"} +### 3.   Quadratic Order $O(n^2)$ {data-toc-label="3.   Quadratic Order"} Quadratic order is common in matrices and graphs, where the number of elements is quadratic to $n$: @@ -2025,7 +2025,7 @@ As shown below, the recursive depth of this function is $n$, and in each recursi

Figure 2-18   Recursive Function Generating Quadratic Order Space Complexity

-### 4.   Exponential Order $O(2^n)$ {data-toc-label="Exponential Order"} +### 4.   Exponential Order $O(2^n)$ {data-toc-label="4.   Exponential Order"} Exponential order is common in binary trees. Observe the below image, a "full binary tree" with $n$ levels has $2^n - 1$ nodes, occupying $O(2^n)$ space: @@ -2225,7 +2225,7 @@ Exponential order is common in binary trees. Observe the below image, a "full bi

Figure 2-19   Full Binary Tree Generating Exponential Order Space Complexity

-### 5.   Logarithmic Order $O(\log n)$ {data-toc-label="Logarithmic Order"} +### 5.   Logarithmic Order $O(\log n)$ {data-toc-label="5.   Logarithmic Order"} Logarithmic order is common in divide-and-conquer algorithms. For example, in merge sort, an array of length $n$ is recursively divided in half each round, forming a recursion tree of height $\log n$, using $O(\log n)$ stack frame space. diff --git a/en/docs/chapter_computational_complexity/time_complexity.md b/en/docs/chapter_computational_complexity/time_complexity.md index c1163f5a1..934dff132 100644 --- a/en/docs/chapter_computational_complexity/time_complexity.md +++ b/en/docs/chapter_computational_complexity/time_complexity.md @@ -976,7 +976,7 @@ $$

Figure 2-9   Common Types of Time Complexity

-### 1.   Constant Order $O(1)$ {data-toc-label="Constant Order"} +### 1.   Constant Order $O(1)$ {data-toc-label="1.   Constant Order"} Constant order means the number of operations is independent of the input data size $n$. In the following function, although the number of operations `size` might be large, the time complexity remains $O(1)$ as it's unrelated to $n$: @@ -1167,7 +1167,7 @@ Constant order means the number of operations is independent of the input data s
Full Screen >
-### 2.   Linear Order $O(n)$ {data-toc-label="Linear Order"} +### 2.   Linear Order $O(n)$ {data-toc-label="2.   Linear Order"} Linear order indicates the number of operations grows linearly with the input data size $n$. Linear order commonly appears in single-loop structures: @@ -1538,7 +1538,7 @@ Operations like array traversal and linked list traversal have a time complexity It's important to note that **the input data size $n$ should be determined based on the type of input data**. For example, in the first example, $n$ represents the input data size, while in the second example, the length of the array $n$ is the data size. -### 3.   Quadratic Order $O(n^2)$ {data-toc-label="Quadratic Order"} +### 3.   Quadratic Order $O(n^2)$ {data-toc-label="3.   Quadratic Order"} Quadratic order means the number of operations grows quadratically with the input data size $n$. Quadratic order typically appears in nested loops, where both the outer and inner loops have a time complexity of $O(n)$, resulting in an overall complexity of $O(n^2)$: @@ -2073,7 +2073,7 @@ For instance, in bubble sort, the outer loop runs $n - 1$ times, and the inner l
Full Screen >
-### 4.   Exponential Order $O(2^n)$ {data-toc-label="Exponential Order"} +### 4.   Exponential Order $O(2^n)$ {data-toc-label="4.   Exponential Order"} Biological "cell division" is a classic example of exponential order growth: starting with one cell, it becomes two after one division, four after two divisions, and so on, resulting in $2^n$ cells after $n$ divisions. @@ -2491,7 +2491,7 @@ In practice, exponential order often appears in recursive functions. For example Exponential order growth is extremely rapid and is commonly seen in exhaustive search methods (brute force, backtracking, etc.). For large-scale problems, exponential order is unacceptable, often requiring dynamic programming or greedy algorithms as solutions. -### 5.   Logarithmic Order $O(\log n)$ {data-toc-label="Logarithmic Order"} +### 5.   Logarithmic Order $O(\log n)$ {data-toc-label="5.   Logarithmic Order"} In contrast to exponential order, logarithmic order reflects situations where "the size is halved each round." Given an input data size $n$, since the size is halved each round, the number of iterations is $\log_2 n$, the inverse function of $2^n$. @@ -2861,7 +2861,7 @@ Logarithmic order is typical in algorithms based on the divide-and-conquer strat This means the base $m$ can be changed without affecting the complexity. Therefore, we often omit the base $m$ and simply denote logarithmic order as $O(\log n)$. -### 6.   Linear-Logarithmic Order $O(n \log n)$ {data-toc-label="Linear-Logarithmic Order"} +### 6.   Linear-Logarithmic Order $O(n \log n)$ {data-toc-label="6.   Linear-Logarithmic Order"} Linear-logarithmic order often appears in nested loops, with the complexities of the two loops being $O(\log n)$ and $O(n)$ respectively. The related code is as follows: @@ -3076,7 +3076,7 @@ The image below demonstrates how linear-logarithmic order is generated. Each lev Mainstream sorting algorithms typically have a time complexity of $O(n \log n)$, such as quicksort, mergesort, and heapsort. -### 7.   Factorial Order $O(n!)$ {data-toc-label="Factorial Order"} +### 7.   Factorial Order $O(n!)$ {data-toc-label="7.   Factorial Order"} Factorial order corresponds to the mathematical problem of "full permutation." Given $n$ distinct elements, the total number of possible permutations is: diff --git a/en/docs/chapter_data_structure/index.md b/en/docs/chapter_data_structure/index.md index 4507bc447..94c454dd6 100644 --- a/en/docs/chapter_data_structure/index.md +++ b/en/docs/chapter_data_structure/index.md @@ -5,12 +5,8 @@ icon: material/shape-outline # Chapter 3.   Data Structures -
- ![Data Structures](../assets/covers/chapter_data_structure.jpg){ class="cover-image" } -
- !!! abstract Data structures serve as a robust and diverse framework. diff --git a/en/docs/chapter_hashing/index.md b/en/docs/chapter_hashing/index.md index 324a36a3a..78c1284c5 100644 --- a/en/docs/chapter_hashing/index.md +++ b/en/docs/chapter_hashing/index.md @@ -5,12 +5,8 @@ icon: material/table-search # Chapter 6.   Hash Table -
- ![Hash Table](../assets/covers/chapter_hashing.jpg){ class="cover-image" } -
- !!! abstract In the world of computing, a hash table is akin to an intelligent librarian. diff --git a/en/docs/chapter_introduction/index.md b/en/docs/chapter_introduction/index.md index 77c7e10d3..553205b82 100644 --- a/en/docs/chapter_introduction/index.md +++ b/en/docs/chapter_introduction/index.md @@ -5,12 +5,8 @@ icon: material/calculator-variant-outline # Chapter 1.   Introduction to Algorithms -
- ![A first look at the algorithm](../assets/covers/chapter_introduction.jpg){ class="cover-image" } -
- !!! abstract A graceful maiden dances, intertwined with the data, her skirt swaying to the melody of algorithms. diff --git a/en/docs/chapter_preface/index.md b/en/docs/chapter_preface/index.md index e727ac714..34a61d829 100644 --- a/en/docs/chapter_preface/index.md +++ b/en/docs/chapter_preface/index.md @@ -5,12 +5,8 @@ icon: material/book-open-outline # Chapter 0.   Preface -
- ![Preface](../assets/covers/chapter_preface.jpg){ class="cover-image" } -
- !!! abstract Algorithms are like a beautiful symphony, with each line of code flowing like a rhythm. diff --git a/en/docs/chapter_stack_and_queue/index.md b/en/docs/chapter_stack_and_queue/index.md index 9668fdaa2..34cb5130f 100644 --- a/en/docs/chapter_stack_and_queue/index.md +++ b/en/docs/chapter_stack_and_queue/index.md @@ -5,12 +5,8 @@ icon: material/stack-overflow # Chapter 5.   Stack and Queue -
- ![Stack and Queue](../assets/covers/chapter_stack_and_queue.jpg){ class="cover-image" } -
- !!! abstract A stack is like cats placed on top of each other, while a queue is like cats lined up one by one.