From 19dde675df58ee2f90cb6c6c07589a3be9b47040 Mon Sep 17 00:00:00 2001
From: Yudong Jin <krahets@163.com>
Date: Wed, 27 Dec 2023 00:42:55 +0800
Subject: [PATCH] translation: Add the initial translation of the array and
 linked list chapter (#1008)

* Add the translation of the data structure chapter. Synchronize the headings in mkdocs-en.yml

* Fix a typo

* Add the translation of the array and linked-list chapter
---
 .../array.assets/array_definition.png         | Bin 0 -> 21103 bytes
 .../array.assets/array_insert_element.png     | Bin 0 -> 29326 bytes
 .../array_memory_location_calculation.png     | Bin 0 -> 24268 bytes
 .../array.assets/array_remove_element.png     | Bin 0 -> 27642 bytes
 docs-en/chapter_array_and_linkedlist/array.md | 210 +++++
 docs-en/chapter_array_and_linkedlist/index.md |   9 +
 .../linkedlist_common_types.png               | Bin 0 -> 19941 bytes
 .../linkedlist_definition.png                 | Bin 0 -> 26266 bytes
 .../linkedlist_insert_node.png                | Bin 0 -> 21993 bytes
 .../linkedlist_remove_node.png                | Bin 0 -> 24346 bytes
 .../linked_list.md                            | 668 ++++++++++++++
 docs-en/chapter_array_and_linkedlist/list.md  | 870 ++++++++++++++++++
 .../computer_storage_devices.png              | Bin 0 -> 12981 bytes
 .../ram_and_cache.assets/storage_pyramid.png  | Bin 0 -> 19272 bytes
 .../ram_and_cache.md                          |  71 ++
 .../chapter_array_and_linkedlist/summary.md   |  81 ++
 .../basic_data_types.md                       |  24 +-
 17 files changed, 1921 insertions(+), 12 deletions(-)
 create mode 100644 docs-en/chapter_array_and_linkedlist/array.assets/array_definition.png
 create mode 100644 docs-en/chapter_array_and_linkedlist/array.assets/array_insert_element.png
 create mode 100644 docs-en/chapter_array_and_linkedlist/array.assets/array_memory_location_calculation.png
 create mode 100644 docs-en/chapter_array_and_linkedlist/array.assets/array_remove_element.png
 create mode 100755 docs-en/chapter_array_and_linkedlist/array.md
 create mode 100644 docs-en/chapter_array_and_linkedlist/index.md
 create mode 100644 docs-en/chapter_array_and_linkedlist/linked_list.assets/linkedlist_common_types.png
 create mode 100644 docs-en/chapter_array_and_linkedlist/linked_list.assets/linkedlist_definition.png
 create mode 100644 docs-en/chapter_array_and_linkedlist/linked_list.assets/linkedlist_insert_node.png
 create mode 100644 docs-en/chapter_array_and_linkedlist/linked_list.assets/linkedlist_remove_node.png
 create mode 100755 docs-en/chapter_array_and_linkedlist/linked_list.md
 create mode 100755 docs-en/chapter_array_and_linkedlist/list.md
 create mode 100644 docs-en/chapter_array_and_linkedlist/ram_and_cache.assets/computer_storage_devices.png
 create mode 100644 docs-en/chapter_array_and_linkedlist/ram_and_cache.assets/storage_pyramid.png
 create mode 100644 docs-en/chapter_array_and_linkedlist/ram_and_cache.md
 create mode 100644 docs-en/chapter_array_and_linkedlist/summary.md

diff --git a/docs-en/chapter_array_and_linkedlist/array.assets/array_definition.png b/docs-en/chapter_array_and_linkedlist/array.assets/array_definition.png
new file mode 100644
index 0000000000000000000000000000000000000000..ca996b71fe5218cc5532e815397633c30fdcdb24
GIT binary patch
literal 21103
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
C2kHd?

literal 0
HcmV?d00001

diff --git a/docs-en/chapter_array_and_linkedlist/array.assets/array_insert_element.png b/docs-en/chapter_array_and_linkedlist/array.assets/array_insert_element.png
new file mode 100644
index 0000000000000000000000000000000000000000..e7887341e0e47099cab5082aea66a3097a1bf234
GIT binary patch
literal 29326
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

literal 0
HcmV?d00001

diff --git a/docs-en/chapter_array_and_linkedlist/array.assets/array_memory_location_calculation.png b/docs-en/chapter_array_and_linkedlist/array.assets/array_memory_location_calculation.png
new file mode 100644
index 0000000000000000000000000000000000000000..8143a9343d7cdf3f0a2027a3da81af9e87c0ecbf
GIT binary patch
literal 24268
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

literal 0
HcmV?d00001

diff --git a/docs-en/chapter_array_and_linkedlist/array.assets/array_remove_element.png b/docs-en/chapter_array_and_linkedlist/array.assets/array_remove_element.png
new file mode 100644
index 0000000000000000000000000000000000000000..0fbadb533d941c7f8ce6b776aedfacd8f892fbbf
GIT binary patch
literal 27642
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

literal 0
HcmV?d00001

diff --git a/docs-en/chapter_array_and_linkedlist/array.md b/docs-en/chapter_array_and_linkedlist/array.md
new file mode 100755
index 00000000..c085b904
--- /dev/null
+++ b/docs-en/chapter_array_and_linkedlist/array.md
@@ -0,0 +1,210 @@
+# Arrays
+
+The "array" is a linear data structure that stores elements of the same type in contiguous memory locations. We refer to the position of an element in the array as its "index". The following image illustrates the main terminology and concepts of an array.
+
+![Array Definition and Storage Method](array.assets/array_definition.png)
+
+## Common Operations on Arrays
+
+### Initializing Arrays
+
+There are two ways to initialize arrays depending on the requirements: without initial values and with given initial values. In cases where initial values are not specified, most programming languages will initialize the array elements to $0$:
+
+=== "Python"
+
+    ```python title="array.py"
+    # Initialize array
+    arr: list[int] = [0] * 5  # [ 0, 0, 0, 0, 0 ]
+    nums: list[int] = [1, 3, 2, 5, 4]
+    ```
+
+=== "C++"
+
+    ```cpp title="array.cpp"
+    /* Initialize array */
+    // Stored on stack
+    int arr[5];
+    int nums[5] = { 1, 3, 2, 5, 4 };
+    // Stored on heap (manual memory release needed)
+    int* arr1 = new int[5];
+    int* nums1 = new int[5] { 1, 3, 2, 5, 4 };
+    ```
+
+=== "Java"
+
+    ```java title="array.java"
+    /* Initialize array */
+    int[] arr = new int[5]; // { 0, 0, 0, 0, 0 }
+    int[] nums = { 1, 3, 2, 5, 4 };
+    ```
+
+=== "C#"
+
+    ```csharp title="array.cs"
+    /* Initialize array */
+    int[] arr = new int[5]; // { 0, 0, 0, 0, 0 }
+    int[] nums = [1, 3, 2, 5, 4];
+    ```
+
+=== "Go"
+
+    ```go title="array.go"
+    /* Initialize array */
+    var arr [5]int
+    // In Go, specifying the length ([5]int) denotes an array, while not specifying it ([]int) denotes a slice.
+    // Since Go's arrays are designed to have compile-time fixed length, only constants can be used to specify the length.
+    // For convenience in implementing the extend() method, the Slice will be considered as an Array here.
+    nums := []int{1, 3, 2, 5, 4}
+    ```
+
+=== "Swift"
+
+    ```swift title="array.swift"
+    /* Initialize array */
+    let arr = Array(repeating: 0, count: 5) // [0, 0, 0, 0, 0]
+    let nums = [1, 3, 2, 5, 4]
+    ```
+
+=== "JS"
+
+    ```javascript title="array.js"
+    /* Initialize array */
+    var arr = new Array(5).fill(0);
+    var nums = [1, 3, 2, 5, 4];
+    ```
+
+=== "TS"
+
+    ```typescript title="array.ts"
+    /* Initialize array */
+    let arr: number[] = new Array(5).fill(0);
+    let nums: number[] = [1, 3, 2, 5, 4];
+    ```
+
+=== "Dart"
+
+    ```dart title="array.dart"
+    /* Initialize array */
+    List<int> arr = List.filled(5, 0); // [0, 0, 0, 0, 0]
+    List<int> nums = [1, 3, 2, 5, 4];
+    ```
+
+=== "Rust"
+
+    ```rust title="array.rs"
+    /* Initialize array */
+    let arr: Vec<i32> = vec![0; 5]; // [0, 0, 0, 0, 0]
+    let nums: Vec<i32> = vec![1, 3, 2, 5, 4];
+    ```
+
+=== "C"
+
+    ```c title="array.c"
+    /* Initialize array */
+    int arr[5] = { 0 }; // { 0, 0, 0, 0, 0 }
+    int nums[5] = { 1, 3, 2, 5, 4 };
+    ```
+
+=== "Zig"
+
+    ```zig title="array.zig"
+    // Initialize array
+    var arr = [_]i32{0} ** 5; // { 0, 0, 0, 0, 0 }
+    var nums = [_]i32{ 1, 3, 2, 5, 4 };
+    ```
+
+### Accessing Elements
+
+Elements in an array are stored in contiguous memory locations, which makes it easy to compute the memory address of any element. Given the memory address of the array (the address of the first element) and the index of an element, we can calculate the memory address of that element using the formula shown in the following image, allowing direct access to the element.
+
+![Memory Address Calculation for Array Elements](array.assets/array_memory_location_calculation.png)
+
+As observed in the above image, the index of the first element of an array is $0$, which may seem counterintuitive since counting starts from $1$. However, from the perspective of the address calculation formula, **an index is essentially an offset from the memory address**. The offset for the first element's address is $0$, making its index $0$ logical.
+
+Accessing elements in an array is highly efficient, allowing us to randomly access any element in $O(1)$ time.
+
+```src
+[file]{array}-[class]{}-[func]{random_access}
+```
+
+### Inserting Elements
+
+As shown in the image below, to insert an element in the middle of an array, all elements following the insertion point must be moved one position back to make room for the new element.
+
+![Array Element Insertion Example](array.assets/array_insert_element.png)
+
+It's important to note that since the length of an array is fixed, inserting an element will inevitably lead to the loss of the last element in the array. We will discuss solutions to this problem in the "List" chapter.
+
+```src
+[file]{array}-[class]{}-[func]{insert}
+```
+
+### Deleting Elements
+
+Similarly, as illustrated below, to delete an element at index $i$, all elements following index $i$ must be moved forward by one position.
+
+![Array Element Deletion Example](array.assets/array_remove_element.png)
+
+Note that after deletion, the last element becomes "meaningless", so we do not need to specifically modify it.
+
+```src
+[file]{array}-[class]{}-[func]{remove}
+```
+
+Overall, the insertion and deletion operations in arrays have the following disadvantages:
+
+- **High Time Complexity**: Both insertion and deletion in an array have an average time complexity of $O(n)$, where $n$ is the length of the array.
+- **Loss of Elements**: Due to the fixed length of arrays, elements that exceed the array's capacity are lost during insertion.
+- **Waste of Memory**: We can initialize a longer array and use only the front part, allowing the "lost" end elements during insertion to be "meaningless", but this leads to some wasted memory space.
+
+### Traversing Arrays
+
+In most programming languages, we can traverse an array either by indices or by directly iterating over each element:
+
+```src
+[file]{array}-[class]{}-[func]{traverse}
+```
+
+### Finding Elements
+
+To find a specific element in an array, we need to iterate through it, checking each element to see if it matches.
+
+Since arrays are linear data structures, this operation is known as "linear search".
+
+```src
+[file]{array}-[class]{}-[func]{find}
+```
+
+### Expanding Arrays
+
+In complex system environments, it's challenging to ensure that the memory space following an array is available, making it unsafe to extend the array's capacity. Therefore, in most programming languages, **the length of an array is immutable**.
+
+To expand an array, we need to create a larger array and then copy the elements from the original array. This operation has a time complexity of $O(n)$ and can be time-consuming for large arrays. The code is as follows:
+
+```src
+[file]{array}-[class]{}-[func]{extend}
+```
+
+## Advantages and Limitations of Arrays
+
+Arrays are stored in contiguous memory spaces and consist of elements of the same type. This approach includes a wealth of prior information that the system can use to optimize the operation efficiency of the data structure.
+
+- **High Space Efficiency**: Arrays allocate a contiguous block of memory for data, eliminating the need for additional structural overhead.
+- **Support for Random Access**: Arrays allow $O(1)$ time access to any element.
+- **Cache Locality**: When accessing array elements, the computer not only loads them but also caches the surrounding data, leveraging high-speed cache to improve the speed of subsequent operations.
+
+However, continuous space storage is a double-edged sword, with the following limitations:
+
+- **Low Efficiency in Insertion and Deletion**: When there are many elements in an array, insertion and deletion operations require moving a large number of elements.
+- **Fixed Length**: The length of an array is fixed after initialization. Expanding an array requires copying all data to a new array, which is costly.
+- **Space Wastage**: If the allocated size of an array exceeds the actual need, the extra space is wasted.
+
+## Typical Applications of Arrays
+
+Arrays are a fundamental and common data structure, frequently used in various algorithms and in implementing complex data structures.
+
+- **Random Access**: If we want to randomly sample some data, we can use an array for storage and generate a random sequence to implement random sampling based on indices.
+- **Sorting and Searching**: Arrays are the most commonly used data structure for sorting and searching algorithms. Quick sort, merge sort, binary search, etc., are primarily conducted on arrays.
+- **Lookup Tables**: Arrays can be used as lookup tables for fast element or relationship retrieval. For instance, if we want to implement a mapping from characters to ASCII codes, we can use the ASCII code value of a character as the index, with the corresponding element stored in the corresponding position in the array.
+- **Machine Learning**: Arrays are extensively used in neural networks for linear algebra operations between vectors, matrices, and tensors. Arrays are the most commonly used data structure in neural network programming.
+- **Data Structure Implementation**: Arrays can be used to implement stacks, queues, hash tables, heaps, graphs, etc. For example, the adjacency matrix representation of a graph is essentially a two-dimensional array.
diff --git a/docs-en/chapter_array_and_linkedlist/index.md b/docs-en/chapter_array_and_linkedlist/index.md
new file mode 100644
index 00000000..838aebe0
--- /dev/null
+++ b/docs-en/chapter_array_and_linkedlist/index.md
@@ -0,0 +1,9 @@
+# Arrays and Linked Lists
+
+![Arrays and Linked Lists](../assets/covers/chapter_array_and_linkedlist.jpg)
+
+!!! abstract
+
+    The world of data structures is like a solid brick wall.
+
+    The bricks of an array are neatly arranged, each closely connected to the next. In contrast, the bricks of a linked list are scattered, with vines of connections freely weaving through the gaps between bricks.
diff --git a/docs-en/chapter_array_and_linkedlist/linked_list.assets/linkedlist_common_types.png b/docs-en/chapter_array_and_linkedlist/linked_list.assets/linkedlist_common_types.png
new file mode 100644
index 0000000000000000000000000000000000000000..7df8d1e96226448717a09700997c361b1fc9a165
GIT binary patch
literal 19941
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

literal 0
HcmV?d00001

diff --git a/docs-en/chapter_array_and_linkedlist/linked_list.assets/linkedlist_definition.png b/docs-en/chapter_array_and_linkedlist/linked_list.assets/linkedlist_definition.png
new file mode 100644
index 0000000000000000000000000000000000000000..e31c982d648bf0cc6f39cada33277569435b29f8
GIT binary patch
literal 26266
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

literal 0
HcmV?d00001

diff --git a/docs-en/chapter_array_and_linkedlist/linked_list.assets/linkedlist_insert_node.png b/docs-en/chapter_array_and_linkedlist/linked_list.assets/linkedlist_insert_node.png
new file mode 100644
index 0000000000000000000000000000000000000000..e515c1fbba75973d45daf9bd94ed589dcd614307
GIT binary patch
literal 21993
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

literal 0
HcmV?d00001

diff --git a/docs-en/chapter_array_and_linkedlist/linked_list.assets/linkedlist_remove_node.png b/docs-en/chapter_array_and_linkedlist/linked_list.assets/linkedlist_remove_node.png
new file mode 100644
index 0000000000000000000000000000000000000000..25a9b458ba5ee659a8d08d6021dcc8f6e40d55d2
GIT binary patch
literal 24346
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
F{eO}}(pvxk

literal 0
HcmV?d00001

diff --git a/docs-en/chapter_array_and_linkedlist/linked_list.md b/docs-en/chapter_array_and_linkedlist/linked_list.md
new file mode 100755
index 00000000..6f4435b4
--- /dev/null
+++ b/docs-en/chapter_array_and_linkedlist/linked_list.md
@@ -0,0 +1,668 @@
+# Linked Lists
+
+Memory space is a common resource for all programs. In a complex system environment, free memory space can be scattered throughout memory. We know that the memory space for storing an array must be contiguous, and when the array is very large, it may not be possible to provide such a large contiguous space. This is where the flexibility advantage of linked lists becomes apparent.
+
+A "linked list" is a linear data structure where each element is a node object, and the nodes are connected via "references". A reference records the memory address of the next node, allowing access to the next node from the current one.
+
+The design of a linked list allows its nodes to be scattered throughout memory, with no need for contiguous memory addresses.
+
+![Linked List Definition and Storage Method](linked_list.assets/linkedlist_definition.png)
+
+Observing the image above, the fundamental unit of a linked list is the "node" object. Each node contains two pieces of data: the "value" of the node and the "reference" to the next node.
+
+- The first node of a linked list is known as the "head node", and the last one is called the "tail node".
+- The tail node points to "null", which is represented as $\text{null}$ in Java, $\text{nullptr}$ in C++, and $\text{None}$ in Python.
+- In languages that support pointers, like C, C++, Go, and Rust, the aforementioned "reference" should be replaced with a "pointer".
+
+As shown in the following code, a linked list node `ListNode`, apart from containing a value, also needs to store a reference (pointer). Therefore, **a linked list consumes more memory space than an array for the same amount of data**.
+
+=== "Python"
+
+    ```python title=""
+    class ListNode:
+        """Linked List Node Class"""
+        def __init__(self, val: int):
+            self.val: int = val               # Node value
+            self.next: ListNode | None = None # Reference to the next node
+    ```
+
+=== "C++"
+
+    ```cpp title=""
+    /* Linked List Node Structure */
+    struct ListNode {
+        int val;         // Node value
+        ListNode *next;  // Pointer to the next node
+        ListNode(int x) : val(x), next(nullptr) {}  // Constructor
+    };
+    ```
+
+=== "Java"
+
+    ```java title=""
+    /* Linked List Node Class */
+    class ListNode {
+        int val;        // Node value
+        ListNode next;  // Reference to the next node
+        ListNode(int x) { val = x; }  // Constructor
+    }
+    ```
+
+=== "C#"
+
+    ```csharp title=""
+    /* Linked List Node Class */
+    class ListNode(int x) {  // Constructor
+        int val = x;         // Node value
+        ListNode? next;      // Reference to the next node
+    }
+    ```
+
+=== "Go"
+
+    ```go title=""
+    /* Linked List Node Structure */
+    type ListNode struct {
+        Val  int       // Node value
+        Next *ListNode // Pointer to the next node
+    }
+
+    // NewListNode Constructor, creates a new linked list
+    func NewListNode(val int) *ListNode {
+        return &ListNode{
+            Val:  val,
+            Next: nil,
+        }
+    }
+    ```
+
+=== "Swift"
+
+    ```swift title=""
+    /* Linked List Node Class */
+    class ListNode {
+        var val: Int // Node value
+        var next: ListNode? // Reference to the next node
+
+        init(x: Int) { // Constructor
+            val = x
+        }
+    }
+    ```
+
+=== "JS"
+
+    ```javascript title=""
+    /* Linked List Node Class */
+    class ListNode {
+        constructor(val, next) {
+            this.val = (val === undefined ? 0 : val);       // Node value
+            this.next = (next === undefined ? null : next); // Reference to the next node
+        }
+    }
+    ```
+
+=== "TS"
+
+    ```typescript title=""
+    /* Linked List Node Class */
+    class ListNode {
+        val: number;
+        next: ListNode | null;
+        constructor(val?: number, next?: ListNode | null) {
+            this.val = val === undefined ? 0 : val;        // Node value
+            this.next = next === undefined ? null : next;  // Reference to the next node
+        }
+    }
+    ```
+
+=== "Dart"
+
+    ```dart title=""
+    /* 链表节点类 */
+    class ListNode {
+      int val; // Node value
+      ListNode? next; // Reference to the next node
+      ListNode(this.val, [this.next]); // Constructor
+    }
+    ```
+
+=== "Rust"
+
+    ```rust title=""
+    use std::rc::Rc;
+    use std::cell::RefCell;
+    /* Linked List Node Class */
+    #[derive(Debug)]
+    struct ListNode {
+        val: i32, // Node value
+        next: Option<Rc<RefCell<ListNode>>>, // Pointer to the next node
+    }
+    ```
+
+=== "C"
+
+    ```c title=""
+    /* Linked List Node Structure */
+    typedef struct ListNode {
+        int val;               // Node value
+        struct ListNode *next; // Pointer to the next node
+    } ListNode;
+
+    /* Constructor */
+    ListNode *newListNode(int val) {
+        ListNode *node;
+        node = (ListNode *) malloc(sizeof(ListNode));
+        node->val = val;
+        node->next = NULL;
+        return node;
+    }
+    ```
+
+=== "Zig"
+
+    ```zig title=""
+    // Linked List Node Class
+    pub fn ListNode(comptime T: type) type {
+        return struct {
+            const Self = @This();
+
+            val: T = 0, // Node value
+            next: ?*Self = null, // Pointer to the next node
+
+            // Constructor
+            pub fn init(self: *Self, x: i32) void {
+                self.val = x;
+                self.next = null;
+            }
+        };
+    }
+    ```
+
+## Common Operations on Linked Lists
+
+### Initializing a Linked List
+
+Building a linked list involves two steps: initializing each node object and then establishing the references between nodes. Once initialized, we can access all nodes sequentially from the head node via the `next` reference.
+
+=== "Python"
+
+    ```python title="linked_list.py"
+    # Initialize linked list: 1 -> 3 -> 2 -> 5 -> 4
+    # Initialize each node
+    n0 = ListNode(1)
+    n1 = ListNode(3)
+    n2 = ListNode(2)
+    n3 = ListNode(5)
+    n4 = ListNode(4)
+    # Build references between nodes
+    n0.next = n1
+    n1.next = n2
+    n2.next = n3
+    n3.next = n4
+    ```
+
+=== "C++"
+
+    ```cpp title="linked_list.cpp"
+    /* Initialize linked list: 1 -> 3 -> 2 -> 5 -> 4 */
+    // Initialize each node
+    ListNode* n0 = new ListNode(1);
+    ListNode* n1 = new ListNode(3);
+    ListNode* n2 = new ListNode(2);
+    ListNode* n3 = new ListNode(5);
+    ListNode* n4 = new ListNode(4);
+    // Build references between nodes
+    n0->next = n1;
+    n1->next = n2;
+    n2->next = n3;
+    n3->next = n4;
+    ```
+
+=== "Java"
+
+    ```java title="linked_list.java"
+    /* Initialize linked list: 1 -> 3 -> 2 -> 5 -> 4 */
+    // Initialize each node
+    ListNode n0 = new ListNode(1);
+    ListNode n1 = new ListNode(3);
+    ListNode n2 = new ListNode(2);
+    ListNode n3 = new ListNode(5);
+    ListNode n4 = new ListNode(4);
+    // Build references between nodes
+    n0.next = n1;
+    n1.next = n2;
+    n2.next = n3;
+    n3.next = n4;
+    ```
+
+=== "C#"
+
+    ```csharp title="linked_list.cs"
+    /* Initialize linked list: 1 -> 3 -> 2 -> 5 -> 4 */
+    // Initialize each node
+    ListNode n0 = new(1);
+    ListNode n1 = new(3);
+    ListNode n2 = new(2);
+    ListNode n3 = new(5);
+    ListNode n4 = new(4);
+    // Build references between nodes
+    n0.next = n1;
+    n1.next = n2;
+    n2.next = n3;
+    n3.next = n4;
+    ```
+
+=== "Go"
+
+    ```go title="linked_list.go"
+    /* Initialize linked list: 1 -> 3 -> 2 -> 5 -> 4 */
+    // Initialize each node
+    n0 := NewListNode(1)
+    n1 := NewListNode(3)
+    n2 := NewListNode(2)
+    n3 := NewListNode(5)
+    n4 := NewListNode(4)
+    // Build references between nodes
+    n0.Next = n1
+    n1.Next = n2
+    n2.Next = n3
+    n3.Next = n4
+    ```
+
+=== "Swift"
+
+    ```swift title="linked_list.swift"
+    /* Initialize linked list: 1 -> 3 -> 2 -> 5 -> 4 */
+    // Initialize each node
+    let n0 = ListNode(x: 1)
+    let n1 = ListNode(x: 3)
+    let n2 = ListNode(x: 2)
+    let n3 = ListNode(x: 5)
+    let n4 = ListNode(x: 4)
+    // Build references between nodes
+    n0.next = n1
+    n1.next = n2
+    n2.next = n3
+    n3.next = n4
+    ```
+
+=== "JS"
+
+    ```javascript title="linked_list.js"
+    /* Initialize linked list: 1 -> 3 -> 2 -> 5 -> 4 */
+    // Initialize each node
+    const n0 = new ListNode(1);
+    const n1 = new ListNode(3);
+    const n2 = new ListNode(2);
+    const n3 = new ListNode(5);
+    const n4 = new ListNode(4);
+    // Build references between nodes
+    n0.next = n1;
+    n1.next = n2;
+    n2.next = n3;
+    n3.next = n4;
+    ```
+
+=== "TS"
+
+    ```typescript title="linked_list.ts"
+    /* Initialize linked list: 1 -> 3 -> 2 -> 5 -> 4 */
+    // Initialize each node
+    const n0 = new ListNode(1);
+    const n1 = new ListNode(3);
+    const n2 = new ListNode(2);
+    const n3 = new ListNode(5);
+    const n4 = new ListNode(4);
+    // Build references between nodes
+    n0.next = n1;
+    n1.next = n2;
+    n2.next = n3;
+    n3.next = n4;
+    ```
+
+=== "Dart"
+
+    ```dart title="linked_list.dart"
+    /* Initialize linked list: 1 -> 3 -> 2 -> 5 -> 4 */
+    // Initialize each node
+    ListNode n0 = ListNode(1);
+    ListNode n1 = ListNode(3);
+    ListNode n2 = ListNode(2);
+    ListNode n3 = ListNode(5);
+    ListNode n4 = ListNode(4);
+    // Build references between nodes
+    n0.next = n1;
+    n1.next = n2;
+    n2.next = n3;
+    n3.next = n4;
+    ```
+
+=== "Rust"
+
+    ```rust title="linked_list.rs"
+    /* Initialize linked list: 1 -> 3 -> 2 -> 5 -> 4 */
+    // Initialize each node
+    let n0 = Rc::new(RefCell::new(ListNode { val: 1, next: None }));
+    let n1 = Rc::new(RefCell::new(ListNode { val: 3, next: None }));
+    let n2 = Rc::new(RefCell::new(ListNode { val: 2, next: None }));
+    let n3 = Rc::new(RefCell::new(ListNode { val: 5, next: None }));
+    let n4 = Rc::new(RefCell::new(ListNode { val: 4, next: None }));
+
+    // Build references between nodes
+    n0.borrow_mut().next = Some(n1.clone());
+    n1.borrow_mut().next = Some(n2.clone());
+    n2.borrow_mut().next = Some(n3.clone());
+    n3.borrow_mut().next = Some(n4.clone());
+    ```
+
+=== "C"
+
+    ```c title="linked_list.c"
+    /* Initialize linked list: 1 -> 3 -> 2 -> 5 -> 4 */
+    // Initialize each node
+    ListNode* n0 = newListNode(1);
+    ListNode* n1 = newListNode(3);
+    ListNode* n2 = newListNode(2);
+    ListNode* n3 = newListNode(5);
+    ListNode* n4 = newListNode(4);
+    // Build references between nodes
+    n0->next = n1;
+    n1->next = n2;
+    n2->next = n3;
+    n3->next = n4;
+    ```
+
+=== "Zig"
+
+    ```zig title="linked_list.zig"
+    // Initialize linked list
+    // Initialize each node
+    var n0 = inc.ListNode(i32){.val = 1};
+    var n1 = inc.ListNode(i32){.val = 3};
+    var n2 = inc.ListNode(i32){.val = 2};
+    var n3 = inc.ListNode(i32){.val = 5};
+    var n4 = inc.ListNode(i32){.val = 4};
+    // Build references between nodes
+    n0.next = &n1;
+    n1.next = &n2;
+    n2.next = &n3;
+    n3.next = &n4;
+    ```
+
+An array is a single variable, such as the array `nums` containing elements `nums[0]`, `nums[1]`, etc., while a linked list is composed of multiple independent node objects. **We usually refer to the linked list by its head node**, as in the linked list `n0` in the above code.
+
+### Inserting a Node
+
+Inserting a node in a linked list is very easy. As shown in the image below, suppose we want to insert a new node `P` between two adjacent nodes `n0` and `n1`. **This requires changing only two node references (pointers)**, with a time complexity of $O(1)$.
+
+In contrast, the time complexity of inserting an element in an array is $O(n)$, which is less efficient with large data volumes.
+
+![Linked List Node Insertion Example](linked_list.assets/linkedlist_insert_node.png)
+
+```src
+[file]{linked_list}-[class]{}-[func]{insert}
+```
+
+### Deleting a Node
+
+As shown below, deleting a node in a linked list is also very convenient, **requiring only the change of one node's reference (pointer)**.
+
+Note that although node `P` still points to `n1` after the deletion operation is completed, it is no longer accessible when traversing the list, meaning `P` is no longer part of the list.
+
+![Linked List Node Deletion](linked_list.assets/linkedlist_remove_node.png)
+
+```src
+[file]{linked_list}-[class]{}-[func]{remove}
+```
+
+### Accessing Nodes
+
+**Accessing nodes in a linked list is less efficient**. As mentioned earlier, any element in an array can be accessed in $O(1)$ time. However, in a linked list, the program needs to start from the head node and traverse each node sequentially until it finds the target node. That is, accessing the $i$-th node of a linked list requires $i - 1$ iterations, with a time complexity of $O(n)$.
+
+```src
+[file]{linked_list}-[class]{}-[func]{access}
+```
+
+### Finding Nodes
+
+Traverse the linked list to find a node with a value equal to `target`, and output the index of that node in the linked list. This process also falls under linear search. The code is as follows:
+
+```src
+[file]{linked_list}-[class]{}-[func]{find}
+```
+
+## Arrays vs. Linked Lists
+
+The following table summarizes the characteristics of arrays and linked lists and compares their operational efficiencies. Since they employ two opposite storage strategies, their properties and operational efficiencies also show contrasting features.
+
+<p align="center"> Table <id> &nbsp; Efficiency Comparison of Arrays and Linked Lists </p>
+
+|                    | Arrays                                           | Linked Lists            |
+| ------------------ | ------------------------------------------------ | ----------------------- |
+| Storage            | Contiguous Memory Space                          | Dispersed Memory Space  |
+| Capacity Expansion | Fixed Length                                     | Flexible Expansion      |
+| Memory Efficiency  | Less Memory per Element, Potential Space Wastage | More Memory per Element |
+| Accessing Elements | $O(1)$                                           | $O(n)$                  |
+| Adding Elements    | $O(n)$                                           | $O(1)$                  |
+| Deleting Elements  | $O(n)$                                           | $O(1)$                  |
+
+## Common Types of Linked Lists
+
+As shown in the following image, there are three common types of linked lists.
+
+- **Singly Linked List**: This is the regular linked list introduced earlier. The nodes of a singly linked list contain the value and a reference to the next node. The first node is called the head node, and the last node, pointing to null (`None`), is the tail node.
+- **Circular Linked List**: If the tail node of a singly linked list points back to the head node (forming a loop), it becomes a circular linked list. In a circular linked list, any node can be considered the head node.
+- **Doubly Linked List**: Compared to a singly linked list, a doubly linked list stores references in two directions. Its nodes contain references to both the next (successor) and the previous (predecessor) nodes. Doubly linked lists are more flexible as they allow traversal in both directions but require more memory space.
+
+=== "Python"
+
+    ```python title=""
+    class ListNode:
+        """Bidirectional linked list node class""""
+        def __init__(self, val: int):
+            self.val: int = val                # Node value
+            self.next: ListNode | None = None  # Reference to the successor node
+            self.prev: ListNode | None = None  # Reference to a predecessor node
+    ```
+
+=== "C++"
+
+    ```cpp title=""
+    /* Bidirectional linked list node structure */
+    struct ListNode {
+        int val;         // Node value
+        ListNode *next;  // Pointer to the successor node
+        ListNode *prev;  // Pointer to the predecessor node
+        ListNode(int x) : val(x), next(nullptr), prev(nullptr) {}  // Constructor
+    };
+    ```
+
+=== "Java"
+
+    ```java title=""
+    /* Bidirectional linked list node class */
+    class ListNode {
+        int val;        // Node value
+        ListNode next;  // Reference to the next node
+        ListNode prev;  // Reference to the predecessor node
+        ListNode(int x) { val = x; }  // Constructor
+    }
+    ```
+
+=== "C#"
+
+    ```csharp title=""
+    /* Bidirectional linked list node class */
+    class ListNode(int x) {  // Constructor
+        int val = x;    // Node value
+        ListNode next;  // Reference to the next node
+        ListNode prev;  // Reference to the predecessor node
+    }
+    ```
+
+=== "Go"
+
+    ```go title=""
+    /* Bidirectional linked list node structure */
+    type DoublyListNode struct {
+        Val  int             // Node value
+        Next *DoublyListNode // Pointer to the successor node
+        Prev *DoublyListNode // Pointer to the predecessor node
+    }
+
+    // NewDoublyListNode initialization
+    func NewDoublyListNode(val int) *DoublyListNode {
+        return &DoublyListNode{
+            Val:  val,
+            Next: nil,
+            Prev: nil,
+        }
+    }
+    ```
+
+=== "Swift"
+
+    ```swift title=""
+    /* Bidirectional linked list node class */
+    class ListNode {
+        var val: Int // Node value
+        var next: ListNode? // Reference to the next node
+        var prev: ListNode? // Reference to the predecessor node
+
+        init(x: Int) { // Constructor
+            val = x
+        }
+    }
+    ```
+
+=== "JS"
+
+    ```javascript title=""
+    /* Bidirectional linked list node class */
+    class ListNode {
+        constructor(val, next, prev) {
+            this.val = val  ===  undefined ? 0 : val;        // Node value
+            this.next = next  ===  undefined ? null : next;  // Reference to the successor node
+            this.prev = prev  ===  undefined ? null : prev;  // Reference to the predecessor node
+        }
+    }
+    ```
+
+=== "TS"
+
+    ```typescript title=""
+    /* Bidirectional linked list node class */
+    class ListNode {
+        val: number;
+        next: ListNode | null;
+        prev: ListNode | null;
+        constructor(val?: number, next?: ListNode | null, prev?: ListNode | null) {
+            this.val = val  ===  undefined ? 0 : val;        // Node value
+            this.next = next  ===  undefined ? null : next;  // Reference to the successor node
+            this.prev = prev  ===  undefined ? null : prev;  // Reference to the predecessor node
+        }
+    }
+    ```
+
+=== "Dart"
+
+    ```dart title=""
+    /* Bidirectional linked list node class */
+    class ListNode {
+        int val;        // Node value
+        ListNode next;  // Reference to the next node
+        ListNode prev;  // Reference to the predecessor node
+        ListNode(this.val, [this.next, this.prev]);  // Constructor
+    }
+    ```
+
+=== "Rust"
+
+    ```rust title=""
+    use std::rc::Rc;
+    use std::cell::RefCell;
+
+    /* Bidirectional linked list node type */
+    #[derive(Debug)]
+    struct ListNode {
+        val: i32, // Node value
+        next: Option<Rc<RefCell<ListNode>>>, // Pointer to successor node
+        prev: Option<Rc<RefCell<ListNode>>>, // Pointer to predecessor node
+    }
+
+    /* Constructors */
+    impl ListNode {
+        fn new(val: i32) -> Self {
+            ListNode {
+                val,
+                next: None,
+                prev: None,
+            }
+        }
+    }
+    ```
+
+=== "C"
+
+    ```c title=""
+    /* Bidirectional linked list node structure */
+    typedef struct ListNode {
+        int val;               // Node value
+        struct ListNode *next; // Pointer to the successor node
+        struct ListNode *prev; // Pointer to the predecessor node
+    } ListNode;
+
+    /* Constructors */
+    ListNode *newListNode(int val) {
+        ListNode *node, *next;
+        node = (ListNode *) malloc(sizeof(ListNode));
+        node->val = val;
+        node->next = NULL;
+        node->prev = NULL;
+        return node;
+    }
+    ```
+
+=== "Zig"
+
+    ```zig title=""
+    // Bidirectional linked list node class
+    pub fn ListNode(comptime T: type) type {
+        return struct {
+            const Self = @This();
+
+            val: T = 0, // Node value
+            next: ?*Self = null, // Pointer to the successor node
+            prev: ?*Self = null, // Pointer to the predecessor node
+
+            // Constructor
+            pub fn init(self: *Self, x: i32) void {
+                self.val = x;
+                self.next = null;
+                self.prev = null;
+            }
+        };
+    }
+    ```
+
+![Common Types of Linked Lists](linked_list.assets/linkedlist_common_types.png)
+
+## Typical Applications of Linked Lists
+
+Singly linked lists are commonly used to implement stacks, queues, hash tables, and graphs.
+
+- **Stacks and Queues**: When insertion and deletion operations are performed at one end of the linked list, it exhibits last-in-first-out characteristics, corresponding to a stack. When insertion is at one end and deletion is at the other, it shows first-in-first-out characteristics, corresponding to a queue.
+- **Hash Tables**: Chaining is one of the mainstream solutions to hash collisions, where all colliding elements are placed in a linked list.
+- **Graphs**: Adjacency lists are a common way to represent graphs, where each vertex is associated with a linked list. Each element in the list represents other vertices connected to that vertex.
+
+Doubly linked lists are commonly used in scenarios that require quick access to the previous and next elements.
+
+- **Advanced Data Structures**: For example, in red-black trees and B-trees, we need to access a node's parent, which can be achieved by storing a reference to the parent node in each node, similar to a doubly linked list.
+- **Browser History**: In web browsers, when a user clicks the forward or backward button, the browser needs to know the previously and next visited web pages. The properties of a doubly linked list make this operation simple.
+- **LRU Algorithm**: In Least Recently Used (LRU) cache eviction algorithms, we need to quickly find the least recently used data and support rapid addition and deletion of nodes. Here, using a doubly linked list is very appropriate.
+
+Circular linked lists are commonly used in scenarios requiring periodic operations, such as resource scheduling in operating systems.
+
+- **Round-Robin Scheduling Algorithm**: In operating systems, the round-robin scheduling algorithm is a common CPU scheduling algorithm that cycles through a group of processes. Each process is assigned a time slice, and when it expires, the CPU switches to the next process. This circular operation can be implemented using a circular linked list.
+- **Data Buffers**: Circular linked lists may also be used in some data buffer implementations. For instance, in audio and video players, the data stream might be divided into multiple buffer blocks placed in a circular linked list to achieve seamless playback.
diff --git a/docs-en/chapter_array_and_linkedlist/list.md b/docs-en/chapter_array_and_linkedlist/list.md
new file mode 100755
index 00000000..d62f8d97
--- /dev/null
+++ b/docs-en/chapter_array_and_linkedlist/list.md
@@ -0,0 +1,870 @@
+# List
+
+A "list" is an abstract data structure concept, representing an ordered collection of elements. It supports operations like element access, modification, addition, deletion, and traversal, without requiring users to consider capacity limitations. Lists can be implemented based on linked lists or arrays.
+
+- A linked list naturally functions as a list, supporting operations for adding, deleting, searching, and modifying elements, and can dynamically adjust its size.
+- Arrays also support these operations, but due to their fixed length, they can be considered as a list with a length limit.
+
+When using arrays to implement lists, **the fixed length property reduces the practicality of the list**. This is because we often cannot determine in advance how much data needs to be stored, making it difficult to choose an appropriate list length. If the length is too small, it may not meet the requirements; if too large, it may waste memory space.
+
+To solve this problem, we can use a "dynamic array" to implement lists. It inherits the advantages of arrays and can dynamically expand during program execution.
+
+In fact, **many programming languages' standard libraries implement lists using dynamic arrays**, such as Python's `list`, Java's `ArrayList`, C++'s `vector`, and C#'s `List`. In the following discussion, we will consider "list" and "dynamic array" as synonymous concepts.
+
+## Common List Operations
+
+### Initializing a List
+
+We typically use two methods of initialization: "without initial values" and "with initial values".
+
+=== "Python"
+
+    ```python title="list.py"
+    # Initialize list
+    # Without initial values
+    nums1: list[int] = []
+    # With initial values
+    nums: list[int] = [1, 3, 2, 5, 4]
+    ```
+
+=== "C++"
+
+    ```cpp title="list.cpp"
+    /* Initialize list */
+    // Note, in C++ the vector is the equivalent of nums described here
+    // Without initial values
+    vector<int> nums1;
+    // With initial values
+    vector<int> nums = { 1, 3, 2, 5, 4 };
+    ```
+
+=== "Java"
+
+    ```java title="list.java"
+    /* Initialize list */
+    // Without initial values
+    List<Integer> nums1 = new ArrayList<>();
+    // With initial values (note the element type should be the wrapper class Integer[] for int[])
+    Integer[] numbers = new Integer[] { 1, 3, 2, 5, 4 };
+    List<Integer> nums = new ArrayList<>(Arrays.asList(numbers));
+    ```
+
+=== "C#"
+
+    ```csharp title="list.cs"
+    /* Initialize list */
+    // Without initial values
+    List<int> nums1 = [];
+    // With initial values
+    int[] numbers = [1, 3, 2, 5, 4];
+    List<int> nums = [.. numbers];
+    ```
+
+=== "Go"
+
+    ```go title="list_test.go"
+    /* Initialize list */
+    // Without initial values
+    nums1 := []int{}
+    // With initial values
+    nums := []int{1, 3, 2, 5, 4}
+    ```
+
+=== "Swift"
+
+    ```swift title="list.swift"
+    /* Initialize list */
+    // Without initial values
+    let nums1: [Int] = []
+    // With initial values
+    var nums = [1, 3, 2, 5, 4]
+    ```
+
+=== "JS"
+
+    ```javascript title="list.js"
+    /* Initialize list */
+    // Without initial values
+    const nums1 = [];
+    // With initial values
+    const nums = [1, 3, 2, 5, 4];
+    ```
+
+=== "TS"
+
+    ```typescript title="list.ts"
+    /* Initialize list */
+    // Without initial values
+    const nums1: number[] = [];
+    // With initial values
+    const nums: number[] = [1, 3, 2, 5, 4];
+    ```
+
+=== "Dart"
+
+    ```dart title="list.dart"
+    /* Initialize list */
+    // Without initial values
+    List<int> nums1 = [];
+    // With initial values
+    List<int> nums = [1, 3, 2, 5, 4];
+    ```
+
+=== "Rust"
+
+    ```rust title="list.rs"
+    /* Initialize list */
+    // Without initial values
+    let nums1: Vec<i32> = Vec::new();
+    // With initial values
+    let nums: Vec<i32> = vec![1, 3, 2, 5, 4];
+    ```
+
+=== "C"
+
+    ```c title="list.c"
+    // C does not provide built-in dynamic arrays
+    ```
+
+=== "Zig"
+
+    ```zig title="list.zig"
+    // Initialize list
+    var nums = std.ArrayList(i32).init(std.heap.page_allocator);
+    defer nums.deinit();
+    try nums.appendSlice(&[_]i32{ 1, 3, 2, 5, 4 });
+    ```
+
+### Accessing Elements
+
+Lists are essentially arrays, so accessing and updating elements can be done in $O(1)$ time, which is very efficient.
+
+=== "Python"
+
+    ```python title="list.py"
+    # Access elements
+    num: int = nums[1]  # Access the element at index 1
+
+    # Update elements
+    nums[1] = 0    # Update the element at index 1 to 0
+    ```
+
+=== "C++"
+
+    ```cpp title="list.cpp"
+    /* Access elements */
+    int num = nums[1];  // Access the element at index 1
+
+    /* Update elements */
+    nums[1] = 0;  // Update the element at index 1 to 0
+    ```
+
+=== "Java"
+
+    ```java title="list.java"
+    /* Access elements */
+    int num = nums.get(1);  // Access the element at index 1
+
+    /* Update elements */
+    nums.set(1, 0);  // Update the element at index 1 to 0
+    ```
+
+=== "C#"
+
+    ```csharp title="list.cs"
+    /* Access elements */
+    int num = nums[1];  // Access the element at index 1
+
+    /* Update elements */
+    nums[1] = 0;  // Update the element at index 1 to 0
+    ```
+
+=== "Go"
+
+    ```go title="list_test.go"
+    /* Access elements */
+    num := nums[1]  // Access the element at index 1
+
+    /* Update elements */
+    nums[1] = 0     // Update the element at index 1 to 0
+    ```
+
+=== "Swift"
+
+    ```swift title="list.swift"
+    /* Access elements */
+    let num = nums[1] // Access the element at index 1
+
+    /* Update elements */
+    nums[1] = 0 // Update the element at index 1 to 0
+    ```
+
+=== "JS"
+
+    ```javascript title="list.js"
+    /* Access elements */
+    const num = nums[1];  // Access the element at index 1
+
+    /* Update elements */
+    nums[1] = 0;  // Update the element at index 1 to 0
+    ```
+
+=== "TS"
+
+    ```typescript title="list.ts"
+    /* Access elements */
+    const num: number = nums[1];  // Access the element at index 1
+
+    /* Update elements */
+    nums[1] = 0;  // Update the element at index 1 to 0
+    ```
+
+=== "Dart"
+
+    ```dart title="list.dart"
+    /* Access elements */
+    int num = nums[1];  // Access the element at index 1
+
+    /* Update elements */
+    nums[1] = 0;  // Update the element at index 1 to 0
+    ```
+
+=== "Rust"
+
+    ```rust title="list.rs"
+    /* Access elements */
+    let num: i32 = nums[1];  // Access the element at index 1
+    /* Update elements */
+    nums[1] = 0;             // Update the element at index 1 to 0
+    ```
+
+=== "C"
+
+    ```c title="list.c"
+    // C does not provide built-in dynamic arrays
+    ```
+
+=== "Zig"
+
+    ```zig title="list.zig"
+    // Access elements
+    var num = nums.items[1]; // Access the element at index 1
+
+    // Update elements
+    nums.items[1] = 0; // Update the element at index 1 to 0  
+    ```
+
+### Inserting and Deleting Elements
+
+Compared to arrays, lists can freely add and remove elements. Adding elements at the end of the list has a time complexity of $O(1)$, but the efficiency of inserting and deleting elements is still the same as in arrays, with a time complexity of $O(n)$.
+
+=== "Python"
+
+    ```python title="list.py"
+    # Clear list
+    nums.clear()
+
+    # Append elements at the end
+    nums.append(1)
+    nums.append(3)
+    nums.append(2)
+    nums.append(5)
+    nums.append(4)
+
+    # Insert element in the middle
+    nums.insert(3, 6)  # Insert number 6 at index 3
+
+    # Remove elements
+    nums.pop(3)        # Remove the element at index 3
+    ```
+
+=== "C++"
+
+    ```cpp title="list.cpp"
+    /* Clear list */
+    nums.clear();
+
+    /* Append elements at the end */
+    nums.push_back(1);
+    nums.push_back(3);
+    nums.push_back(2);
+    nums.push_back(5);
+    nums.push_back(4);
+
+    /* Insert element in the middle */
+    nums.insert(nums.begin() + 3, 6);  // Insert number 6 at index 3
+
+    /* Remove elements */
+    nums.erase(nums.begin() + 3);      // Remove the element at index 3
+    ```
+
+=== "Java"
+
+    ```java title="list.java"
+    /* Clear list */
+    nums.clear();
+
+    /* Append elements at the end */
+    nums.add(1);
+    nums.add(3);
+    nums.add(2);
+    nums.add(5);
+    nums.add(4);
+
+    /* Insert element in the middle */
+    nums.add(3, 6);  // Insert number 6 at index 3
+
+    /* Remove elements */
+    nums.remove(3);  // Remove the element at index 3
+    ```
+
+=== "C#"
+
+    ```csharp title="list.cs"
+    /* Clear list */
+    nums.Clear();
+
+    /* Append elements at the end */
+    nums.Add(1);
+    nums.Add(3);
+    nums.Add(2);
+    nums.Add(5);
+    nums.Add(4);
+
+    /* Insert element in the middle */
+    nums.Insert(3, 6);
+
+    /* Remove elements */
+    nums.RemoveAt(3);
+    ```
+
+=== "Go"
+
+    ```go title="list_test.go"
+    /* Clear list */
+    nums = nil
+
+    /* Append elements at the end */
+    nums = append(nums, 1)
+    nums = append(nums, 3)
+    nums = append(nums, 2)
+    nums = append(nums, 5)
+    nums = append(nums, 4)
+
+    /* Insert element in the middle */
+    nums = append(nums[:3], append([]int{6}, nums[3:]...)...) // Insert number 6 at index 3
+
+    /* Remove elements */
+    nums = append(nums[:3], nums[4:]...) // Remove the element at index 3
+    ```
+
+=== "Swift"
+
+    ```swift title="list.swift"
+    /* Clear list */
+    nums.removeAll()
+
+    /* Append elements at the end */
+    nums.append(1)
+    nums.append(3)
+    nums.append(2)
+    nums.append(5)
+    nums.append(4)
+
+    /* Insert element in the middle */
+    nums.insert(6, at: 3) // Insert number 6 at index 3
+
+    /* Remove elements */
+    nums.remove(at: 3) // Remove the element at index 3
+    ```
+
+=== "JS"
+
+    ```javascript title="list.js"
+    /* Clear list */
+    nums.length = 0;
+
+    /* Append elements at the end */
+    nums.push(1);
+    nums.push(3);
+    nums.push(2);
+    nums.push(5);
+    nums.push(4);
+
+    /* Insert element in the middle */
+    nums.splice(3, 0, 6);
+
+    /* Remove elements */
+    nums.splice(3, 1);
+    ```
+
+=== "TS"
+
+    ```typescript title="list.ts"
+    /* Clear list */
+    nums.length = 0;
+
+    /* Append elements at the end */
+    nums.push(1);
+    nums.push(3);
+    nums.push(2);
+    nums.push(5);
+    nums.push(4);
+
+    /* Insert element in the middle */
+    nums.splice(3, 0, 6);
+
+    /* Remove elements */
+    nums.splice(3, 1);
+    ```
+
+=== "Dart"
+
+    ```dart title="list.dart"
+    /* Clear list */
+    nums.clear();
+
+    /* Append elements at the end */
+    nums.add(1);
+    nums.add(3);
+    nums.add(2);
+    nums.add(5);
+    nums.add(4);
+
+    /* Insert element in the middle */
+    nums.insert(3, 6); // Insert number 6 at index 3
+
+    /* Remove elements */
+    nums.removeAt(3); // Remove the element at index 3
+    ```
+
+=== "Rust"
+
+    ```rust title="list.rs"
+    /* Clear list */
+    nums.clear();
+
+    /* Append elements at the end */
+    nums.push(1);
+    nums.push(3);
+    nums.push(2);
+    nums.push(5);
+    nums.push(4);
+
+    /* Insert element in the middle */
+    nums.insert(3, 6);  // Insert number 6 at index 3
+
+    /* Remove elements */
+    nums.remove(3);    // Remove the element at index 3
+    ```
+
+=== "C"
+
+    ```c title="list.c"
+    // C does not provide built-in dynamic arrays
+    ```
+
+=== "Zig"
+
+    ```zig title="list.zig"
+    // Clear list
+    nums.clearRetainingCapacity();
+
+    // Append elements at the end
+    try nums.append(1);
+    try nums.append(3);
+    try nums.append(2);
+    try nums.append(5);
+    try nums.append(4);
+
+    // Insert element in the middle
+    try nums.insert(3, 6); // Insert number 6 at index 3
+
+    // Remove elements
+    _ = nums.orderedRemove(3); // Remove the element at index 3
+    ```
+
+### Traversing the List
+
+Like arrays, lists can be traversed based on index, or by directly iterating over each element.
+
+=== "Python"
+
+    ```python title="list.py"
+    # Iterate through the list by index
+    count = 0
+    for i in range(len(nums)):
+        count += nums[i]
+
+    # Iterate directly through list elements
+    for num in nums:
+        count += num
+    ```
+
+=== "C++"
+
+    ```cpp title="list.cpp"
+    /* Iterate through the list by index */
+    int count = 0;
+    for (int i = 0; i < nums.size(); i++) {
+        count += nums[i];
+    }
+
+    /* Iterate directly through list elements */
+    count = 0;
+    for (int num : nums) {
+        count += num;
+    }
+    ```
+
+=== "Java"
+
+    ```java title="list.java"
+    /* Iterate through the list by index */
+    int count = 0;
+    for (int i = 0; i < nums.size(); i++) {
+        count += nums.get(i);
+    }
+
+    /* Iterate directly through list elements */
+    for (int num : nums) {
+        count += num;
+    }
+    ```
+
+=== "C#"
+
+    ```csharp title="list.cs"
+    /* Iterate through the list by index */
+    int count = 0;
+    for (int i = 0; i < nums.Count; i++) {
+        count += nums[i];
+    }
+
+    /* Iterate directly through list elements */
+    count = 0;
+    foreach (int num in nums) {
+        count += num;
+    }
+    ```
+
+=== "Go"
+
+    ```go title="list_test.go"
+    /* Iterate through the list by index */
+    count := 0
+    for i := 0; i < len(nums); i++ {
+        count += nums[i]
+    }
+
+    /* Iterate directly through list elements */
+    count = 0
+    for _, num := range nums {
+        count += num
+    }
+    ```
+
+=== "Swift"
+
+    ```swift title="list.swift"
+    /* Iterate through the list by index */
+    var count = 0
+    for i in nums.indices {
+        count += nums[i]
+    }
+
+    /* Iterate directly through list elements */
+    count = 0
+    for num in nums {
+        count += num
+    }
+    ```
+
+=== "JS"
+
+    ```javascript title="list.js"
+    /* Iterate through the list by index */
+    let count = 0;
+    for (let i = 0; i < nums.length; i++) {
+        count += nums[i];
+    }
+
+    /* Iterate directly through list elements */
+    count = 0;
+    for (const num of nums) {
+        count += num;
+    }
+    ```
+
+=== "TS"
+
+    ```typescript title="list.ts"
+    /* Iterate through the list by index */
+    let count = 0;
+    for (let i = 0; i < nums.length; i++) {
+        count += nums[i];
+    }
+
+    /* Iterate directly through list elements */
+    count = 0;
+    for (const num of nums) {
+        count += num;
+    }
+    ```
+
+=== "Dart"
+
+    ```dart title="list.dart"
+    /* Iterate through the list by index */
+    int count = 0;
+    for (var i = 0; i < nums.length; i++) {
+        count += nums[i];
+    }
+    
+    /* Iterate directly through list elements */
+    count = 0;
+    for (var num in nums) {
+        count += num;
+    }
+    ```
+
+=== "Rust"
+
+    ```rust title="list.rs"
+    // Iterate through the list by index
+    let mut _count = 0;
+    for i in 0..nums.len() {
+        _count += nums[i];
+    }
+
+    // Iterate directly through list elements
+    _count = 0;
+    for num in &nums {
+        _count += num;
+    }
+    ```
+
+=== "C"
+
+    ```c title="list.c"
+    // C does not provide built-in dynamic arrays
+    ```
+
+=== "Zig"
+
+    ```zig title="list.zig"
+    // Iterate through the list by index
+    var count: i32 = 0;
+    var i: i32 = 0;
+    while (i < nums.items.len) : (i += 1) {
+        count += nums[i];
+    }
+
+    // Iterate directly through list elements
+    count = 0;
+    for (nums.items) |num| {
+        count += num;
+    }
+    ```
+
+### Concatenating Lists
+
+Given a new list `nums1`, we can append it to the end of the original list.
+
+=== "Python"
+
+    ```python title="list.py"
+    # Concatenate two lists
+    nums1: list[int] = [6, 8, 7, 10, 9]
+    nums += nums1  # Concatenate nums1 to the end of nums
+    ```
+
+=== "C++"
+
+    ```cpp title="list.cpp"
+    /* Concatenate two lists */
+    vector<int> nums1 = { 6, 8, 7, 10, 9 };
+    // Concatenate nums1 to the end of nums
+    nums.insert(nums.end(), nums1.begin(), nums1.end());
+    ```
+
+=== "Java"
+
+    ```java title="list.java"
+    /* Concatenate two lists */
+    List<Integer> nums1 = new ArrayList<>(Arrays.asList(new Integer[] { 6, 8, 7, 10, 9 }));
+    nums.addAll(nums1);  // Concatenate nums1 to the end of nums
+    ```
+
+=== "C#"
+
+    ```csharp title="list.cs"
+    /* Concatenate two lists */
+    List<int> nums1 = [6, 8, 7, 10, 9];
+    nums.AddRange(nums1);  // Concatenate nums1 to the end of nums
+    ```
+
+=== "Go"
+
+    ```go title="list_test.go"
+    /* Concatenate two lists */
+    nums1 := []int{6, 8, 7, 10, 9}
+    nums = append(nums, nums1...)  // Concatenate nums1 to the end of nums
+    ```
+
+=== "Swift"
+
+    ```swift title="list.swift"
+    /* Concatenate two lists */
+    let nums1 = [6, 8, 7, 10, 9]
+    nums.append(contentsOf: nums1) // Concatenate nums1 to the end of nums
+    ```
+
+=== "JS"
+
+    ```javascript title="list.js"
+    /* Concatenate two lists */
+    const nums1 = [6, 8, 7, 10, 9];
+    nums.push(...nums1);  // Concatenate nums1 to the end of nums
+    ```
+
+=== "TS"
+
+    ```typescript title="list.ts"
+    /* Concatenate two lists */
+    const nums1: number[] = [6, 8, 7, 10, 9];
+    nums.push(...nums1);  // Concatenate nums1 to the end of nums
+    ```
+
+=== "Dart"
+
+    ```dart title="list.dart"
+    /* Concatenate two lists */
+    List<int> nums1 = [6, 8, 7, 10, 9];
+    nums.addAll(nums1);  // Concatenate nums1 to the end of nums
+    ```
+
+=== "Rust"
+
+    ```rust title="list.rs"
+    /* Concatenate two lists */
+    let nums1: Vec<i32> = vec![6, 8, 7, 10, 9];
+    nums.extend(nums1);
+    ```
+
+=== "C"
+
+    ```c title="list.c"
+    // C does not provide built-in dynamic arrays
+    ```
+
+=== "Zig"
+
+    ```zig title="list.zig"
+    // Concatenate two lists
+    var nums1 = std.ArrayList(i32).init(std.heap.page_allocator);
+    defer nums1.deinit();
+    try nums1.appendSlice(&[_]i32{ 6, 8, 7, 10, 9 });
+    try nums.insertSlice(nums.items.len, nums1.items); // Concatenate nums1 to the end of nums
+    ```
+
+### Sorting the List
+
+After sorting the list, we can use algorithms often tested in array-related algorithm problems, such as "binary search" and "two-pointer" algorithms.
+
+=== "Python"
+
+    ```python title="list.py"
+    # Sort the list
+    nums.sort()  # After sorting, the list elements are in ascending order
+    ```
+
+=== "C++"
+
+    ```cpp title="list.cpp"
+    /* Sort the list */
+    sort(nums.begin(), nums.end());  // After sorting, the list elements are in ascending order
+    ```
+
+=== "Java"
+
+    ```java title="list.java"
+    /* Sort the list */
+    Collections.sort(nums);  // After sorting, the list elements are in ascending order
+    ```
+
+=== "C#"
+
+    ```csharp title="list.cs"
+    /* Sort the list */
+    nums.Sort(); // After sorting, the list elements are in ascending order
+    ```
+
+=== "Go"
+
+    ```go title="list_test.go"
+    /* Sort the list */
+    sort.Ints(nums)  // After sorting, the list elements are in ascending order
+    ```
+
+=== "Swift"
+
+    ```swift title="list.swift"
+    /* Sort the list */
+    nums.sort() // After sorting, the list elements are in ascending order
+    ```
+
+=== "JS"
+
+    ```javascript title="list.js"
+    /* Sort the list */  
+    nums.sort((a, b) => a - b);  // After sorting, the list elements are in ascending order
+    ```
+
+=== "TS"
+
+    ```typescript title="list.ts"
+    /* Sort the list */
+    nums.sort((a, b) => a - b);  // After sorting, the list elements are in ascending order
+    ```
+
+=== "Dart"
+
+    ```dart title="list.dart"
+    /* Sort the list */
+    nums.sort(); // After sorting, the list elements are in ascending order
+    ```
+
+=== "Rust"
+
+    ```rust title="list.rs"
+    /* Sort the list */
+    nums.sort(); // After sorting, the list elements are in ascending order
+    ```
+
+=== "C"
+
+    ```c title="list.c"
+    // C does not provide built-in dynamic arrays
+    ```
+
+=== "Zig"
+
+    ```zig title="list.zig"
+    // Sort the list
+    std.sort.sort(i32, nums.items, {}, comptime std.sort.asc(i32));
+    ```
+
+## List Implementation
+
+Many programming languages have built-in lists, such as Java, C++, Python, etc. Their implementations are quite complex, with very meticulous settings for parameters such as initial capacity and expansion multiplier. Interested readers can refer to the source code for learning.
+
+To deepen the understanding of how lists work, let's try implementing a simple version of a list, focusing on three key designs.
+
+- **Initial Capacity**: Choose a reasonable initial capacity for the array. In this example, we choose 10 as the initial capacity.
+- **Size Recording**: Declare a variable `size` to record the current number of elements in the list, updating in real-time with element insertion and deletion. With this variable, we can locate the end of the list and determine whether expansion is needed.
+- **Expansion Mechanism**: If the list's capacity is full when inserting an element, expansion is necessary. First, create a larger array based on the expansion multiplier, then move all elements of the current array to the new array. In this example, we define that each time the array will expand to twice its previous size.
+
+```src
+[file]{my_list}-[class]{my_list}-[func]{}
+```
diff --git a/docs-en/chapter_array_and_linkedlist/ram_and_cache.assets/computer_storage_devices.png b/docs-en/chapter_array_and_linkedlist/ram_and_cache.assets/computer_storage_devices.png
new file mode 100644
index 0000000000000000000000000000000000000000..0f2af92eec42c19b30c14e3d734d1f5218c39abc
GIT binary patch
literal 12981
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

literal 0
HcmV?d00001

diff --git a/docs-en/chapter_array_and_linkedlist/ram_and_cache.assets/storage_pyramid.png b/docs-en/chapter_array_and_linkedlist/ram_and_cache.assets/storage_pyramid.png
new file mode 100644
index 0000000000000000000000000000000000000000..354d2d4b69c6486728c10a8ffb2603e383cd79f6
GIT binary patch
literal 19272
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%0AQ<KK%9tgbW3Ps%Rg^j84&Kqh}?k#3JDa;XYv
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
b5fM#Kx)uC-eBBp*00000NkvXXu0mjfdBQo+

literal 0
HcmV?d00001

diff --git a/docs-en/chapter_array_and_linkedlist/ram_and_cache.md b/docs-en/chapter_array_and_linkedlist/ram_and_cache.md
new file mode 100644
index 00000000..3f9ff47d
--- /dev/null
+++ b/docs-en/chapter_array_and_linkedlist/ram_and_cache.md
@@ -0,0 +1,71 @@
+# Memory and Cache *
+
+In the first two sections of this chapter, we explored arrays and linked lists, two fundamental and important data structures, representing "continuous storage" and "dispersed storage" respectively.
+
+In fact, **the physical structure largely determines the efficiency of a program's use of memory and cache**, which in turn affects the overall performance of the algorithm.
+
+## Computer Storage Devices
+
+There are three types of storage devices in computers: "hard disk," "random-access memory (RAM)," and "cache memory." The following table shows their different roles and performance characteristics in computer systems.
+
+<p align="center"> Table <id> &nbsp; Computer Storage Devices </p>
+
+|            | Hard Disk                                                      | Memory                                                                   | Cache                                                                                           |
+| ---------- | -------------------------------------------------------------- | ------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------- |
+| Usage      | Long-term storage of data, including OS, programs, files, etc. | Temporary storage of currently running programs and data being processed | Stores frequently accessed data and instructions, reducing the number of CPU accesses to memory |
+| Volatility | Data is not lost after power off                               | Data is lost after power off                                             | Data is lost after power off                                                                    |
+| Capacity   | Larger, TB level                                               | Smaller, GB level                                                        | Very small, MB level                                                                            |
+| Speed      | Slower, several hundred to thousands MB/s                      | Faster, several tens of GB/s                                             | Very fast, several tens to hundreds of GB/s                                                     |
+| Price      | Cheaper, several cents to yuan / GB                            | More expensive, tens to hundreds of yuan / GB                            | Very expensive, priced with CPU                                                                 |
+
+We can imagine the computer storage system as a pyramid structure shown in the figure below. The storage devices closer to the top of the pyramid are faster, have smaller capacity, and are more costly. This multi-level design is not accidental, but the result of careful consideration by computer scientists and engineers.
+
+- **Hard disks are difficult to replace with memory**. Firstly, data in memory is lost after power off, making it unsuitable for long-term data storage; secondly, the cost of memory is dozens of times that of hard disks, making it difficult to popularize in the consumer market.
+- **It is difficult for caches to have both large capacity and high speed**. As the capacity of L1, L2, L3 caches gradually increases, their physical size becomes larger, increasing the physical distance from the CPU core, leading to increased data transfer time and higher element access latency. Under current technology, a multi-level cache structure is the best balance between capacity, speed, and cost.
+
+![Computer Storage System](ram_and_cache.assets/storage_pyramid.png)
+
+!!! note
+
+    The storage hierarchy of computers reflects a delicate balance between speed, capacity, and cost. In fact, this kind of trade-off is common in all industrial fields, requiring us to find the best balance between different advantages and limitations.
+
+Overall, **hard disks are used for long-term storage of large amounts of data, memory is used for temporary storage of data being processed during program execution, and cache is used to store frequently accessed data and instructions** to improve program execution efficiency. Together, they ensure the efficient operation of computer systems.
+
+As shown in the figure below, during program execution, data is read from the hard disk into memory for CPU computation. The cache can be considered a part of the CPU, **smartly loading data from memory** to provide fast data access to the CPU, significantly enhancing program execution efficiency and reducing reliance on slower memory.
+
+![Data Flow Between Hard Disk, Memory, and Cache](ram_and_cache.assets/computer_storage_devices.png)
+
+## Memory Efficiency of Data Structures
+
+In terms of memory space utilization, arrays and linked lists have their advantages and limitations.
+
+On one hand, **memory is limited and cannot be shared by multiple programs**, so we hope that data structures can use space as efficiently as possible. The elements of an array are tightly packed without extra space for storing references (pointers) between linked list nodes, making them more space-efficient. However, arrays require allocating sufficient continuous memory space at once, which may lead to memory waste, and array expansion also requires additional time and space costs. In contrast, linked lists allocate and reclaim memory dynamically on a per-node basis, providing greater flexibility.
+
+On the other hand, during program execution, **as memory is repeatedly allocated and released, the degree of fragmentation of free memory becomes higher**, leading to reduced memory utilization efficiency. Arrays, due to their continuous storage method, are relatively less likely to cause memory fragmentation. In contrast, the elements of a linked list are dispersedly stored, and frequent insertion and deletion operations make memory fragmentation more likely.
+
+## Cache Efficiency of Data Structures
+
+Although caches are much smaller in space capacity than memory, they are much faster and play a crucial role in program execution speed. Since the cache's capacity is limited and can only store a small part of frequently accessed data, when the CPU tries to access data not in the cache, a "cache miss" occurs, forcing the CPU to load the needed data from slower memory.
+
+Clearly, **the fewer the cache misses, the higher the CPU's data read-write efficiency**, and the better the program performance. The proportion of successful data retrieval from the cache by the CPU is called the "cache hit rate," a metric often used to measure cache efficiency.
+
+To achieve higher efficiency, caches adopt the following data loading mechanisms.
+
+- **Cache Lines**: Caches don't store and load data byte by byte but in units of cache lines. Compared to byte-by-byte transfer, the transmission of cache lines is more efficient.
+- **Prefetch Mechanism**: Processors try to predict data access patterns (such as sequential access, fixed stride jumping access, etc.) and load data into the cache according to specific patterns to improve the hit rate.
+- **Spatial Locality**: If data is accessed, data nearby is likely to be accessed in the near future. Therefore, when loading certain data, the cache also loads nearby data to improve the hit rate.
+- **Temporal Locality**: If data is accessed, it's likely to be accessed again in the near future. Caches use this principle to retain recently accessed data to improve the hit rate.
+
+In fact, **arrays and linked lists have different cache utilization efficiencies**, mainly reflected in the following aspects.
+
+- **Occupied Space**: Linked list elements occupy more space than array elements, resulting in less effective data volume in the cache.
+- **Cache Lines**: Linked list data is scattered throughout memory, and since caches load "by line," the proportion of loading invalid data is higher.
+- **Prefetch Mechanism**: The data access pattern of arrays is more "predictable" than that of linked lists, meaning the system is more likely to guess which data will be loaded next.
+- **Spatial Locality**: Arrays are stored in concentrated memory spaces, so the data near the loaded data is more likely to be accessed next.
+
+Overall, **arrays have a higher cache hit rate and are generally more efficient in operation than linked lists**. This makes data structures based on arrays more popular in solving algorithmic problems.
+
+It should be noted that **high cache efficiency does not mean that arrays are always better than linked lists**. Which data structure to choose in actual applications should be based on specific requirements. For example, both arrays and linked lists can implement the "stack" data structure (which will be detailed in the next chapter), but they are suitable for different scenarios.
+
+- In algorithm problems, we tend to choose stacks based on arrays because they provide higher operational efficiency and random access capabilities, with the only cost being the need to pre-allocate a certain amount of memory space for the array.
+- If the data volume is very large, highly dynamic, and the expected size of the stack is difficult to estimate, then a stack based on a linked list is more appropriate. Linked lists can disperse a large amount of data in different parts of the memory and avoid the additional overhead of array expansion.
diff --git a/docs-en/chapter_array_and_linkedlist/summary.md b/docs-en/chapter_array_and_linkedlist/summary.md
new file mode 100644
index 00000000..3effb5e5
--- /dev/null
+++ b/docs-en/chapter_array_and_linkedlist/summary.md
@@ -0,0 +1,81 @@
+# Summary
+
+### Key Review
+
+- Arrays and linked lists are two fundamental data structures, representing two storage methods in computer memory: continuous space storage and dispersed space storage. Their characteristics complement each other.
+- Arrays support random access and use less memory; however, they are inefficient in inserting and deleting elements and have a fixed length after initialization.
+- Linked lists implement efficient node insertion and deletion through changing references (pointers) and can flexibly adjust their length; however, they have lower node access efficiency and use more memory.
+- Common types of linked lists include singly linked lists, circular linked lists, and doubly linked lists, each with its own application scenarios.
+- Lists are ordered collections of elements that support addition, deletion, and modification, typically implemented based on dynamic arrays, retaining the advantages of arrays while allowing flexible length adjustment.
+- The advent of lists significantly enhanced the practicality of arrays but may lead to some memory space wastage.
+- During program execution, data is mainly stored in memory. Arrays provide higher memory space efficiency, while linked lists are more flexible in memory usage.
+- Caches provide fast data access to CPUs through mechanisms like cache lines, prefetching, spatial locality, and temporal locality, significantly enhancing program execution efficiency.
+- Due to higher cache hit rates, arrays are generally more efficient than linked lists. When choosing a data structure, the appropriate choice should be made based on specific needs and scenarios.
+
+### Q & A
+
+!!! question "Does storing arrays on the stack versus the heap affect time and space efficiency?"
+
+    Arrays stored on both the stack and heap are stored in continuous memory spaces, and data operation efficiency is essentially the same. However, stacks and heaps have their own characteristics, leading to the following differences.
+
+    1. Allocation and release efficiency: The stack is a smaller memory block, allocated automatically by the compiler; the heap memory is relatively larger and can be dynamically allocated in the code, more prone to fragmentation. Therefore, allocation and release operations on the heap are generally slower than on the stack.
+    2. Size limitation: Stack memory is relatively small, while the heap size is generally limited by available memory. Therefore, the heap is more suitable for storing large arrays.
+    3. Flexibility: The size of arrays on the stack needs to be determined at compile-time, while the size of arrays on the heap can be dynamically determined at runtime.
+
+!!! question "Why do arrays require elements of the same type, while linked lists do not emphasize same-type elements?"
+
+    Linked lists consist of nodes connected by references (pointers), and each node can store data of different types, such as int, double, string, object, etc.
+
+    In contrast, array elements must be of the same type, allowing the calculation of offsets to access the corresponding element positions. For example, an array containing both int and long types, with single elements occupying 4 bytes and 8 bytes respectively, cannot use the following formula to calculate offsets, as the array contains elements of two different lengths.
+
+    ```shell
+    # Element memory address = Array memory address + Element length * Element index
+    ```
+
+!!! question "After deleting a node, is it necessary to set `P.next` to `None`?"
+
+    Not modifying `P.next` is also acceptable. From the perspective of the linked list, traversing from the head node to the tail node will no longer encounter `P`. This means that node `P` has been effectively removed from the list, and where `P` points no longer affects the list.
+
+    From a garbage collection perspective, for languages with automatic garbage collection mechanisms like Java, Python, and Go, whether node `P` is collected depends on whether there are still references pointing to it, not on the value of `P.next`. In languages like C and C++, we need to manually free the node's memory.
+
+!!! question "In linked lists, the time complexity for insertion and deletion operations is `O(1)`. But searching for the element before insertion or deletion takes `O(n)` time, so why isn't the time complexity `O(n)`?"
+
+    If an element is searched first and then deleted, the time complexity is indeed `O(n)`. However, the `O(1)` advantage of linked lists in insertion and deletion can be realized in other applications. For example, in the implementation of double-ended queues using linked lists, we maintain pointers always pointing to the head and tail nodes, making each insertion and deletion operation `O(1)`.
+
+!!! question "In the image 'Linked List Definition and Storage Method', do the light blue storage nodes occupy a single memory address, or do they share half with the node value?"
+
+    The diagram is just a qualitative representation; quantitative analysis depends on specific situations.
+
+    - Different types of node values occupy different amounts of space, such as int, long, double, and object instances.
+    - The memory space occupied by pointer variables depends on the operating system and compilation environment used, usually 8 bytes or 4 bytes.
+
+!!! question "Is adding elements to the end of a list always `O(1)`?"
+
+    If adding an element exceeds the list length, the list needs to be expanded first. The system will request a new memory block and move all elements of the original list over, in which case the time complexity becomes `O(n)`.
+
+!!! question "The statement 'The emergence of lists greatly improves the practicality of arrays, but may lead to some memory space wastage' - does this refer to the memory occupied by additional variables like capacity, length, and expansion multiplier?"
+
+    The space wastage here mainly refers to two aspects: on the one hand, lists are set with an initial length, which we may not always need; on the other hand, to prevent frequent expansion, expansion usually multiplies by a coefficient, such as $\times 1.5$. This results in many empty slots, which we typically cannot fully fill.
+
+!!! question "In Python, after initializing `n = [1, 2, 3]`, the addresses of these 3 elements are contiguous, but initializing `m = [2, 1, 3]` shows that each element's `id` is not consecutive but identical to those in `n`. If the addresses of these elements are not contiguous, is `m` still an array?"
+
+    If we replace list elements with linked list nodes `n = [n1, n2, n3, n4, n5]`, these 5 node objects are also typically dispersed throughout memory. However, given a list index, we can still access the node's memory address in `O(1)` time, thereby accessing the corresponding node. This is because the array stores references to the nodes, not the nodes themselves.
+
+    Unlike many languages, in Python, numbers are also wrapped as objects, and lists store references to these numbers, not the numbers themselves. Therefore, we find that the same number in two arrays has the same `id`, and these numbers' memory addresses need not be contiguous.
+
+!!! question "The `std::list` in C++ STL has already implemented a doubly linked list, but it seems that some algorithm books don't directly use it. Is there any limitation?"
+
+    On the one hand, we often prefer to use arrays to implement algorithms, only using linked lists when necessary, mainly for two reasons.
+    
+    - Space overhead: Since each element requires two additional pointers (one for the previous element and one for the next), `std::list` usually occupies more space than `std::vector`.
+    - Cache unfriendly: As the data is not stored continuously, `std::list` has a lower cache utilization rate. Generally, `std::vector` performs better.
+
+    On the other hand, linked lists are primarily necessary for binary trees and graphs. Stacks and queues are often implemented using the programming language's `stack` and `queue` classes, rather than linked lists.
+
+!!! question "Does initializing a list `res = [0] * self.size()` result in each element of `res` referencing the same address?"
+
+    No. However, this issue arises with two-dimensional arrays, for example, initializing a two-dimensional list `res = [[0] * self.size()]` would reference the same list `[0]` multiple times.
+
+!!! question "In deleting a node, is it necessary to break the reference to its successor node?"
+
+    From the perspective of data structures and algorithms (problem-solving), it's okay not to break the link, as long as the program's logic is correct. From the perspective of standard libraries, breaking the link is safer and more logically clear. If the link is not broken, and the deleted node is not properly recycled, it could affect the recycling of the successor node's memory.
diff --git a/docs-en/chapter_data_structure/basic_data_types.md b/docs-en/chapter_data_structure/basic_data_types.md
index 6d2afa02..6d545551 100644
--- a/docs-en/chapter_data_structure/basic_data_types.md
+++ b/docs-en/chapter_data_structure/basic_data_types.md
@@ -13,23 +13,23 @@ When we think of data in computers, we imagine various forms like text, images,
 
 The range of values for fundamental data types depends on the size of the space they occupy. Below, we take Java as an example.
 
-- The integer type `byte` occupies 1 byte = 8 bits and can represent \(2^8\) numbers.
-- The integer type `int` occupies 4 bytes = 32 bits and can represent \(2^{32}\) numbers.
+- The integer type `byte` occupies 1 byte = 8 bits and can represent $2^8$ numbers.
+- The integer type `int` occupies 4 bytes = 32 bits and can represent $2^{32}$ numbers.
 
 The following table lists the space occupied, value range, and default values of various fundamental data types in Java. This table does not need to be memorized, but understood roughly and referred to when needed.
 
 <p align="center"> Table <id> &nbsp; Space Occupied and Value Range of Fundamental Data Types </p>
 
-| Type    | Symbol   | Space Occupied | Minimum Value              | Maximum Value             | Default Value    |
-| ------- | -------- | -------------- | -------------------------- | ------------------------- | ---------------- |
-| Integer | `byte`   | 1 byte         | \(-2^7\) (\(-128\))        | \(2^7 - 1\) (\(127\))     | 0                |
-|         | `short`  | 2 bytes        | \(-2^{15}\)                | \(2^{15} - 1\)            | 0                |
-|         | `int`    | 4 bytes        | \(-2^{31}\)                | \(2^{31} - 1\)            | 0                |
-|         | `long`   | 8 bytes        | \(-2^{63}\)                | \(2^{63} - 1\)            | 0                |
-| Float   | `float`  | 4 bytes        | \(1.175 \times 10^{-38}\)  | \(3.403 \times 10^{38}\)  | \(0.0\text{f}\)  |
-|         | `double` | 8 bytes        | \(2.225 \times 10^{-308}\) | \(1.798 \times 10^{308}\) | 0.0              |
-| Char    | `char`   | 2 bytes        | 0                          | \(2^{16} - 1\)            | 0                |
-| Boolean | `bool`   | 1 byte         | \(\text{false}\)           | \(\text{true}\)           | \(\text{false}\) |
+| Type    | Symbol   | Space Occupied | Minimum Value            | Maximum Value           | Default Value  |
+| ------- | -------- | -------------- | ------------------------ | ----------------------- | -------------- |
+| Integer | `byte`   | 1 byte         | $-2^7$ ($-128$)          | $2^7 - 1$ ($127$)       | 0              |
+|         | `short`  | 2 bytes        | $-2^{15}$                | $2^{15} - 1$            | 0              |
+|         | `int`    | 4 bytes        | $-2^{31}$                | $2^{31} - 1$            | 0              |
+|         | `long`   | 8 bytes        | $-2^{63}$                | $2^{63} - 1$            | 0              |
+| Float   | `float`  | 4 bytes        | $1.175 \times 10^{-38}$  | $3.403 \times 10^{38}$  | $0.0\text{f}$  |
+|         | `double` | 8 bytes        | $2.225 \times 10^{-308}$ | $1.798 \times 10^{308}$ | 0.0            |
+| Char    | `char`   | 2 bytes        | 0                        | $2^{16} - 1$            | 0              |
+| Boolean | `bool`   | 1 byte         | $\text{false}$           | $\text{true}$           | $\text{false}$ |
 
 Please note that the above table is specific to Java's fundamental data types. Each programming language has its own data type definitions, and their space occupied, value ranges, and default values may differ.