函数渐近上界
diff --git a/chapter_data_structure/basic_data_types/index.html b/chapter_data_structure/basic_data_types/index.html
index 4b373d48a..3cc7cab96 100644
--- a/chapter_data_structure/basic_data_types/index.html
+++ b/chapter_data_structure/basic_data_types/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_data_structure/character_encoding/index.html b/chapter_data_structure/character_encoding/index.html
index 8ad74292c..7140da833 100644
--- a/chapter_data_structure/character_encoding/index.html
+++ b/chapter_data_structure/character_encoding/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_data_structure/classification_of_data_structure/index.html b/chapter_data_structure/classification_of_data_structure/index.html
index a428b01ee..f2076596d 100644
--- a/chapter_data_structure/classification_of_data_structure/index.html
+++ b/chapter_data_structure/classification_of_data_structure/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_data_structure/index.html b/chapter_data_structure/index.html
index 7480af43c..a79b99a23 100644
--- a/chapter_data_structure/index.html
+++ b/chapter_data_structure/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_data_structure/number_encoding/index.html b/chapter_data_structure/number_encoding/index.html
index d30e751b7..d6f61d508 100644
--- a/chapter_data_structure/number_encoding/index.html
+++ b/chapter_data_structure/number_encoding/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_data_structure/summary/index.html b/chapter_data_structure/summary/index.html
index 6787d9dd1..52063bf55 100644
--- a/chapter_data_structure/summary/index.html
+++ b/chapter_data_structure/summary/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_divide_and_conquer/binary_search_recur/index.html b/chapter_divide_and_conquer/binary_search_recur/index.html
index a79a23180..714e52c8d 100644
--- a/chapter_divide_and_conquer/binary_search_recur/index.html
+++ b/chapter_divide_and_conquer/binary_search_recur/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_divide_and_conquer/build_binary_tree_problem/index.html b/chapter_divide_and_conquer/build_binary_tree_problem/index.html
index 858abfed8..428a24bf7 100644
--- a/chapter_divide_and_conquer/build_binary_tree_problem/index.html
+++ b/chapter_divide_and_conquer/build_binary_tree_problem/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_divide_and_conquer/divide_and_conquer/index.html b/chapter_divide_and_conquer/divide_and_conquer/index.html
index ab6ae986f..a3e9830b6 100644
--- a/chapter_divide_and_conquer/divide_and_conquer/index.html
+++ b/chapter_divide_and_conquer/divide_and_conquer/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_divide_and_conquer/hanota_problem/index.html b/chapter_divide_and_conquer/hanota_problem/index.html
index 9cdeff65d..2b15f5562 100644
--- a/chapter_divide_and_conquer/hanota_problem/index.html
+++ b/chapter_divide_and_conquer/hanota_problem/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_divide_and_conquer/index.html b/chapter_divide_and_conquer/index.html
index 4202e623c..ee0caa646 100644
--- a/chapter_divide_and_conquer/index.html
+++ b/chapter_divide_and_conquer/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_divide_and_conquer/summary/index.html b/chapter_divide_and_conquer/summary/index.html
index 71b7e3db1..c26bf6eeb 100644
--- a/chapter_divide_and_conquer/summary/index.html
+++ b/chapter_divide_and_conquer/summary/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_dynamic_programming/dp_problem_features/index.html b/chapter_dynamic_programming/dp_problem_features/index.html
index f58602c2a..c2aa0f661 100644
--- a/chapter_dynamic_programming/dp_problem_features/index.html
+++ b/chapter_dynamic_programming/dp_problem_features/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_dynamic_programming/dp_solution_pipeline/index.html b/chapter_dynamic_programming/dp_solution_pipeline/index.html
index 598f43437..5b5e12c8e 100644
--- a/chapter_dynamic_programming/dp_solution_pipeline/index.html
+++ b/chapter_dynamic_programming/dp_solution_pipeline/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_dynamic_programming/edit_distance_problem/index.html b/chapter_dynamic_programming/edit_distance_problem/index.html
index eee87ba30..cf06b8a3a 100644
--- a/chapter_dynamic_programming/edit_distance_problem/index.html
+++ b/chapter_dynamic_programming/edit_distance_problem/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_dynamic_programming/index.html b/chapter_dynamic_programming/index.html
index 2b52ddc45..26614e094 100644
--- a/chapter_dynamic_programming/index.html
+++ b/chapter_dynamic_programming/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_dynamic_programming/intro_to_dynamic_programming/index.html b/chapter_dynamic_programming/intro_to_dynamic_programming/index.html
index 05bec5c6b..dd265cc86 100644
--- a/chapter_dynamic_programming/intro_to_dynamic_programming/index.html
+++ b/chapter_dynamic_programming/intro_to_dynamic_programming/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_dynamic_programming/knapsack_problem/index.html b/chapter_dynamic_programming/knapsack_problem/index.html
index aa866e2ca..230394ab2 100644
--- a/chapter_dynamic_programming/knapsack_problem/index.html
+++ b/chapter_dynamic_programming/knapsack_problem/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_dynamic_programming/summary/index.html b/chapter_dynamic_programming/summary/index.html
index 11c50de6a..26a928ba8 100644
--- a/chapter_dynamic_programming/summary/index.html
+++ b/chapter_dynamic_programming/summary/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_dynamic_programming/unbounded_knapsack_problem/index.html b/chapter_dynamic_programming/unbounded_knapsack_problem/index.html
index bb821f6da..c11caa77b 100644
--- a/chapter_dynamic_programming/unbounded_knapsack_problem/index.html
+++ b/chapter_dynamic_programming/unbounded_knapsack_problem/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_graph/graph/index.html b/chapter_graph/graph/index.html
index 97bd5e86d..cc071aabb 100644
--- a/chapter_graph/graph/index.html
+++ b/chapter_graph/graph/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_graph/graph_operations/index.html b/chapter_graph/graph_operations/index.html
index 214ab7eda..364f3d140 100644
--- a/chapter_graph/graph_operations/index.html
+++ b/chapter_graph/graph_operations/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_graph/graph_traversal/index.html b/chapter_graph/graph_traversal/index.html
index 268671640..9a861a3ca 100644
--- a/chapter_graph/graph_traversal/index.html
+++ b/chapter_graph/graph_traversal/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_graph/index.html b/chapter_graph/index.html
index ff8c84b6b..ebf714b62 100644
--- a/chapter_graph/index.html
+++ b/chapter_graph/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_graph/summary/index.html b/chapter_graph/summary/index.html
index c6f4d63f3..5548a5cc9 100644
--- a/chapter_graph/summary/index.html
+++ b/chapter_graph/summary/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_greedy/fractional_knapsack_problem/index.html b/chapter_greedy/fractional_knapsack_problem/index.html
index 1fa9397cf..ef8358c10 100644
--- a/chapter_greedy/fractional_knapsack_problem/index.html
+++ b/chapter_greedy/fractional_knapsack_problem/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_greedy/greedy_algorithm/index.html b/chapter_greedy/greedy_algorithm/index.html
index a118c50eb..4be7cc158 100644
--- a/chapter_greedy/greedy_algorithm/index.html
+++ b/chapter_greedy/greedy_algorithm/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_greedy/index.html b/chapter_greedy/index.html
index 0977f7f05..02cae1135 100644
--- a/chapter_greedy/index.html
+++ b/chapter_greedy/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_greedy/max_capacity_problem/index.html b/chapter_greedy/max_capacity_problem/index.html
index 8b2393c94..8ce63bf95 100644
--- a/chapter_greedy/max_capacity_problem/index.html
+++ b/chapter_greedy/max_capacity_problem/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_greedy/max_product_cutting_problem/index.html b/chapter_greedy/max_product_cutting_problem/index.html
index 5f712a0cc..9c3feff98 100644
--- a/chapter_greedy/max_product_cutting_problem/index.html
+++ b/chapter_greedy/max_product_cutting_problem/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_greedy/summary/index.html b/chapter_greedy/summary/index.html
index 029e408ae..23cf4d477 100644
--- a/chapter_greedy/summary/index.html
+++ b/chapter_greedy/summary/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_hashing/hash_algorithm/index.html b/chapter_hashing/hash_algorithm/index.html
index 93dd1314c..e053fe05e 100644
--- a/chapter_hashing/hash_algorithm/index.html
+++ b/chapter_hashing/hash_algorithm/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_hashing/hash_collision/index.html b/chapter_hashing/hash_collision/index.html
index e13b2b03b..da44cbe32 100644
--- a/chapter_hashing/hash_collision/index.html
+++ b/chapter_hashing/hash_collision/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_hashing/hash_map/index.html b/chapter_hashing/hash_map/index.html
index 0f81ced98..309aa3c78 100644
--- a/chapter_hashing/hash_map/index.html
+++ b/chapter_hashing/hash_map/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_hashing/index.html b/chapter_hashing/index.html
index cde285d6c..876ffcf35 100644
--- a/chapter_hashing/index.html
+++ b/chapter_hashing/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_hashing/summary/index.html b/chapter_hashing/summary/index.html
index c1e25028c..46e14830d 100644
--- a/chapter_hashing/summary/index.html
+++ b/chapter_hashing/summary/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_heap/build_heap/index.html b/chapter_heap/build_heap/index.html
index 99c3de9a5..1561329a0 100644
--- a/chapter_heap/build_heap/index.html
+++ b/chapter_heap/build_heap/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_heap/heap.assets/heap_pop_step10.png b/chapter_heap/heap.assets/heap_pop_step10.png
index d831efbf9..450ad9b8f 100644
Binary files a/chapter_heap/heap.assets/heap_pop_step10.png and b/chapter_heap/heap.assets/heap_pop_step10.png differ
diff --git a/chapter_heap/heap.assets/heap_push_step9.png b/chapter_heap/heap.assets/heap_push_step9.png
index 8f26a52ca..14d20ceaf 100644
Binary files a/chapter_heap/heap.assets/heap_push_step9.png and b/chapter_heap/heap.assets/heap_push_step9.png differ
diff --git a/chapter_heap/heap/index.html b/chapter_heap/heap/index.html
index cd5fbf957..db6301560 100644
--- a/chapter_heap/heap/index.html
+++ b/chapter_heap/heap/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_heap/index.html b/chapter_heap/index.html
index 5dd327f7f..f4af9f591 100644
--- a/chapter_heap/index.html
+++ b/chapter_heap/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_heap/summary/index.html b/chapter_heap/summary/index.html
index 043780608..cbb3cdf72 100644
--- a/chapter_heap/summary/index.html
+++ b/chapter_heap/summary/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_heap/top_k/index.html b/chapter_heap/top_k/index.html
index 15fcf4103..d89e07248 100644
--- a/chapter_heap/top_k/index.html
+++ b/chapter_heap/top_k/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_hello_algo/index.html b/chapter_hello_algo/index.html
index 6724f83ce..34753f433 100644
--- a/chapter_hello_algo/index.html
+++ b/chapter_hello_algo/index.html
@@ -199,7 +199,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_introduction/algorithms_are_everywhere/index.html b/chapter_introduction/algorithms_are_everywhere/index.html
index eec8367d4..7b95e629c 100644
--- a/chapter_introduction/algorithms_are_everywhere/index.html
+++ b/chapter_introduction/algorithms_are_everywhere/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_introduction/index.html b/chapter_introduction/index.html
index 7e13786c8..037a25752 100644
--- a/chapter_introduction/index.html
+++ b/chapter_introduction/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_introduction/summary/index.html b/chapter_introduction/summary/index.html
index 2fa57672d..840dc0a10 100644
--- a/chapter_introduction/summary/index.html
+++ b/chapter_introduction/summary/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_introduction/what_is_dsa/index.html b/chapter_introduction/what_is_dsa/index.html
index 52504fb8a..d9178db23 100644
--- a/chapter_introduction/what_is_dsa/index.html
+++ b/chapter_introduction/what_is_dsa/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_paperbook/index.html b/chapter_paperbook/index.html
index 31f7600b7..a519968fa 100644
--- a/chapter_paperbook/index.html
+++ b/chapter_paperbook/index.html
@@ -199,7 +199,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_preface/about_the_book/index.html b/chapter_preface/about_the_book/index.html
index 9812eb6fc..f2f2c60a6 100644
--- a/chapter_preface/about_the_book/index.html
+++ b/chapter_preface/about_the_book/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_preface/index.html b/chapter_preface/index.html
index ecda90ba4..b2ee465e2 100644
--- a/chapter_preface/index.html
+++ b/chapter_preface/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_preface/suggestions/index.html b/chapter_preface/suggestions/index.html
index ffb7d77aa..f5afd085a 100644
--- a/chapter_preface/suggestions/index.html
+++ b/chapter_preface/suggestions/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_preface/summary/index.html b/chapter_preface/summary/index.html
index c71400f51..681b5e4b2 100644
--- a/chapter_preface/summary/index.html
+++ b/chapter_preface/summary/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_reference/index.html b/chapter_reference/index.html
index 8fbd637f5..edd887295 100644
--- a/chapter_reference/index.html
+++ b/chapter_reference/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_searching/binary_search/index.html b/chapter_searching/binary_search/index.html
index 8f0759c5b..b33fe8a0b 100644
--- a/chapter_searching/binary_search/index.html
+++ b/chapter_searching/binary_search/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_searching/binary_search_edge/index.html b/chapter_searching/binary_search_edge/index.html
index 25ecea80f..89761c65f 100644
--- a/chapter_searching/binary_search_edge/index.html
+++ b/chapter_searching/binary_search_edge/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_searching/binary_search_insertion/index.html b/chapter_searching/binary_search_insertion/index.html
index 02ebedc22..61f3dc14d 100644
--- a/chapter_searching/binary_search_insertion/index.html
+++ b/chapter_searching/binary_search_insertion/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_searching/index.html b/chapter_searching/index.html
index ad7080ecf..d0eca2eae 100644
--- a/chapter_searching/index.html
+++ b/chapter_searching/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_searching/replace_linear_by_hashing/index.html b/chapter_searching/replace_linear_by_hashing/index.html
index 2205baeb9..c2ece6a89 100644
--- a/chapter_searching/replace_linear_by_hashing/index.html
+++ b/chapter_searching/replace_linear_by_hashing/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_searching/searching_algorithm_revisited/index.html b/chapter_searching/searching_algorithm_revisited/index.html
index b179ab546..6f7537338 100644
--- a/chapter_searching/searching_algorithm_revisited/index.html
+++ b/chapter_searching/searching_algorithm_revisited/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_searching/summary/index.html b/chapter_searching/summary/index.html
index 6b0d0b580..5eee11ff2 100644
--- a/chapter_searching/summary/index.html
+++ b/chapter_searching/summary/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_sorting/bubble_sort/index.html b/chapter_sorting/bubble_sort/index.html
index 5d0cd73f7..dd3d44c28 100644
--- a/chapter_sorting/bubble_sort/index.html
+++ b/chapter_sorting/bubble_sort/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_sorting/bucket_sort/index.html b/chapter_sorting/bucket_sort/index.html
index 401a0aaf4..d545699c7 100644
--- a/chapter_sorting/bucket_sort/index.html
+++ b/chapter_sorting/bucket_sort/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_sorting/counting_sort/index.html b/chapter_sorting/counting_sort/index.html
index 6cdd03f5e..ef168340c 100644
--- a/chapter_sorting/counting_sort/index.html
+++ b/chapter_sorting/counting_sort/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_sorting/heap_sort/index.html b/chapter_sorting/heap_sort/index.html
index 29514b4a4..5dbb607a2 100644
--- a/chapter_sorting/heap_sort/index.html
+++ b/chapter_sorting/heap_sort/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_sorting/index.html b/chapter_sorting/index.html
index 663666676..11b095156 100644
--- a/chapter_sorting/index.html
+++ b/chapter_sorting/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_sorting/insertion_sort/index.html b/chapter_sorting/insertion_sort/index.html
index 3d99c978c..bf4381d3c 100644
--- a/chapter_sorting/insertion_sort/index.html
+++ b/chapter_sorting/insertion_sort/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_sorting/merge_sort/index.html b/chapter_sorting/merge_sort/index.html
index 412a26a07..aef9fcc6a 100644
--- a/chapter_sorting/merge_sort/index.html
+++ b/chapter_sorting/merge_sort/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_sorting/quick_sort/index.html b/chapter_sorting/quick_sort/index.html
index 99e8e6ae6..397f4dffe 100644
--- a/chapter_sorting/quick_sort/index.html
+++ b/chapter_sorting/quick_sort/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_sorting/radix_sort/index.html b/chapter_sorting/radix_sort/index.html
index ed4bae16b..704897970 100644
--- a/chapter_sorting/radix_sort/index.html
+++ b/chapter_sorting/radix_sort/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_sorting/selection_sort/index.html b/chapter_sorting/selection_sort/index.html
index 97ffe0c61..2e6176156 100644
--- a/chapter_sorting/selection_sort/index.html
+++ b/chapter_sorting/selection_sort/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_sorting/sorting_algorithm/index.html b/chapter_sorting/sorting_algorithm/index.html
index c5e47005e..15a1375cd 100644
--- a/chapter_sorting/sorting_algorithm/index.html
+++ b/chapter_sorting/sorting_algorithm/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_sorting/summary/index.html b/chapter_sorting/summary/index.html
index 4bba2618f..93ac95f16 100644
--- a/chapter_sorting/summary/index.html
+++ b/chapter_sorting/summary/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_stack_and_queue/deque/index.html b/chapter_stack_and_queue/deque/index.html
index 90872a98d..53a6cee54 100644
--- a/chapter_stack_and_queue/deque/index.html
+++ b/chapter_stack_and_queue/deque/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_stack_and_queue/index.html b/chapter_stack_and_queue/index.html
index e415d95bb..463742054 100644
--- a/chapter_stack_and_queue/index.html
+++ b/chapter_stack_and_queue/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_stack_and_queue/queue/index.html b/chapter_stack_and_queue/queue/index.html
index 304ea8d9c..84bb0e305 100644
--- a/chapter_stack_and_queue/queue/index.html
+++ b/chapter_stack_and_queue/queue/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_stack_and_queue/stack/index.html b/chapter_stack_and_queue/stack/index.html
index 2916fbe64..0032c1961 100644
--- a/chapter_stack_and_queue/stack/index.html
+++ b/chapter_stack_and_queue/stack/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_stack_and_queue/summary/index.html b/chapter_stack_and_queue/summary/index.html
index 3f0af5097..71e89cd54 100644
--- a/chapter_stack_and_queue/summary/index.html
+++ b/chapter_stack_and_queue/summary/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_tree/array_representation_of_tree/index.html b/chapter_tree/array_representation_of_tree/index.html
index 1e827c9cf..3aec7ec64 100644
--- a/chapter_tree/array_representation_of_tree/index.html
+++ b/chapter_tree/array_representation_of_tree/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_tree/avl_tree/index.html b/chapter_tree/avl_tree/index.html
index abc84b251..cd5bb5560 100644
--- a/chapter_tree/avl_tree/index.html
+++ b/chapter_tree/avl_tree/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_tree/binary_search_tree/index.html b/chapter_tree/binary_search_tree/index.html
index b8f8a980e..caba41fe1 100644
--- a/chapter_tree/binary_search_tree/index.html
+++ b/chapter_tree/binary_search_tree/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_tree/binary_tree/index.html b/chapter_tree/binary_tree/index.html
index 907849270..8f9818d10 100644
--- a/chapter_tree/binary_tree/index.html
+++ b/chapter_tree/binary_tree/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_tree/binary_tree_traversal/index.html b/chapter_tree/binary_tree_traversal/index.html
index 7af3fcb87..2a3431a08 100644
--- a/chapter_tree/binary_tree_traversal/index.html
+++ b/chapter_tree/binary_tree_traversal/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_tree/index.html b/chapter_tree/index.html
index 158718182..710c5c684 100644
--- a/chapter_tree/index.html
+++ b/chapter_tree/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/chapter_tree/summary/index.html b/chapter_tree/summary/index.html
index c440eb730..9ddfb17ce 100644
--- a/chapter_tree/summary/index.html
+++ b/chapter_tree/summary/index.html
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
diff --git a/en/404.html b/en/404.html
index 480b5d9ae..9a0f304b1 100644
--- a/en/404.html
+++ b/en/404.html
@@ -179,7 +179,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
@@ -371,7 +377,7 @@
- 0.1 About This Book
+ 0.1 About this book
@@ -392,7 +398,7 @@
- 0.2 How to Read
+ 0.2 How to read
@@ -469,7 +475,7 @@
- Chapter 1. Introduction to Algorithms
+ Chapter 1. Introduction to algorithms
@@ -485,7 +491,7 @@
- Chapter 1. Introduction to Algorithms
+ Chapter 1. Introduction to algorithms
@@ -502,7 +508,7 @@
- 1.1 Algorithms are Everywhere
+ 1.1 Algorithms are everywhere
@@ -523,7 +529,7 @@
- 1.2 What is an Algorithm
+ 1.2 What is an algorithm
@@ -604,7 +610,7 @@
- Chapter 2. Complexity Analysis
+ Chapter 2. Complexity analysis
@@ -620,7 +626,7 @@
- Chapter 2. Complexity Analysis
+ Chapter 2. Complexity analysis
@@ -637,7 +643,7 @@
- 2.1 Algorithm Efficiency Assessment
+ 2.1 Algorithm efficiency assessment
@@ -658,7 +664,7 @@
- 2.2 Iteration and Recursion
+ 2.2 Iteration and recursion
@@ -679,7 +685,7 @@
- 2.3 Time Complexity
+ 2.3 Time complexity
@@ -700,7 +706,7 @@
- 2.4 Space Complexity
+ 2.4 Space complexity
@@ -781,7 +787,7 @@
- Chapter 3. Data Structures
+ Chapter 3. Data structures
@@ -797,7 +803,7 @@
- Chapter 3. Data Structures
+ Chapter 3. Data structures
@@ -814,7 +820,7 @@
- 3.1 Classification of Data Structures
+ 3.1 Classification of data structures
@@ -835,7 +841,7 @@
- 3.2 Fundamental Data Types
+ 3.2 Fundamental data types
@@ -856,7 +862,7 @@
- 3.3 Number Encoding *
+ 3.3 Number encoding *
@@ -877,7 +883,7 @@
- 3.4 Character Encoding *
+ 3.4 Character encoding *
@@ -958,7 +964,7 @@
- Chapter 4. Array and Linked List
+ Chapter 4. Array and linked list
@@ -974,7 +980,7 @@
- Chapter 4. Array and Linked List
+ Chapter 4. Array and linked list
@@ -1012,7 +1018,7 @@
- 4.2 Linked List
+ 4.2 Linked list
@@ -1054,7 +1060,7 @@
- 4.4 Memory and Cache
+ 4.4 Memory and cache
@@ -1133,7 +1139,7 @@
- Chapter 5. Stack and Queue
+ Chapter 5. Stack and queue
@@ -1149,7 +1155,7 @@
- Chapter 5. Stack and Queue
+ Chapter 5. Stack and queue
@@ -1208,7 +1214,7 @@
- 5.3 Double-ended Queue
+ 5.3 Double-ended queue
@@ -1287,7 +1293,7 @@
- Chapter 6. Hash Table
+ Chapter 6. Hash table
@@ -1303,7 +1309,7 @@
- Chapter 6. Hash Table
+ Chapter 6. Hash table
@@ -1320,7 +1326,7 @@
- 6.1 Hash Table
+ 6.1 Hash table
@@ -1341,7 +1347,7 @@
- 6.2 Hash Collision
+ 6.2 Hash collision
@@ -1362,7 +1368,7 @@
- 6.3 Hash Algorithm
+ 6.3 Hash algorithm
diff --git a/en/assets/covers/chapter_appendix.jpg b/en/assets/covers/chapter_appendix.jpg
index a1399ac94..00a849b57 100644
Binary files a/en/assets/covers/chapter_appendix.jpg and b/en/assets/covers/chapter_appendix.jpg differ
diff --git a/en/assets/covers/chapter_array_and_linkedlist.jpg b/en/assets/covers/chapter_array_and_linkedlist.jpg
index d6997a55d..d5092e897 100644
Binary files a/en/assets/covers/chapter_array_and_linkedlist.jpg and b/en/assets/covers/chapter_array_and_linkedlist.jpg differ
diff --git a/en/assets/covers/chapter_backtracking.jpg b/en/assets/covers/chapter_backtracking.jpg
index d2d5f90a3..1c91c7818 100644
Binary files a/en/assets/covers/chapter_backtracking.jpg and b/en/assets/covers/chapter_backtracking.jpg differ
diff --git a/en/assets/covers/chapter_complexity_analysis.jpg b/en/assets/covers/chapter_complexity_analysis.jpg
index 04b079cf4..2a19ed360 100644
Binary files a/en/assets/covers/chapter_complexity_analysis.jpg and b/en/assets/covers/chapter_complexity_analysis.jpg differ
diff --git a/en/assets/covers/chapter_data_structure.jpg b/en/assets/covers/chapter_data_structure.jpg
index 22f1e6770..590a6edaa 100644
Binary files a/en/assets/covers/chapter_data_structure.jpg and b/en/assets/covers/chapter_data_structure.jpg differ
diff --git a/en/assets/covers/chapter_divide_and_conquer.jpg b/en/assets/covers/chapter_divide_and_conquer.jpg
index 4171446ad..8ad3560d1 100644
Binary files a/en/assets/covers/chapter_divide_and_conquer.jpg and b/en/assets/covers/chapter_divide_and_conquer.jpg differ
diff --git a/en/assets/covers/chapter_dynamic_programming.jpg b/en/assets/covers/chapter_dynamic_programming.jpg
index b64eece5c..5b5a6ec21 100644
Binary files a/en/assets/covers/chapter_dynamic_programming.jpg and b/en/assets/covers/chapter_dynamic_programming.jpg differ
diff --git a/en/assets/covers/chapter_graph.jpg b/en/assets/covers/chapter_graph.jpg
index c3daa59ad..bec81a2e1 100644
Binary files a/en/assets/covers/chapter_graph.jpg and b/en/assets/covers/chapter_graph.jpg differ
diff --git a/en/assets/covers/chapter_greedy.jpg b/en/assets/covers/chapter_greedy.jpg
index ed8a68214..6905df2d4 100644
Binary files a/en/assets/covers/chapter_greedy.jpg and b/en/assets/covers/chapter_greedy.jpg differ
diff --git a/en/assets/covers/chapter_hashing.jpg b/en/assets/covers/chapter_hashing.jpg
index e74403232..b41dbbead 100644
Binary files a/en/assets/covers/chapter_hashing.jpg and b/en/assets/covers/chapter_hashing.jpg differ
diff --git a/en/assets/covers/chapter_heap.jpg b/en/assets/covers/chapter_heap.jpg
index b603826a3..54fe1d4fa 100644
Binary files a/en/assets/covers/chapter_heap.jpg and b/en/assets/covers/chapter_heap.jpg differ
diff --git a/en/assets/covers/chapter_hello_algo.jpg b/en/assets/covers/chapter_hello_algo.jpg
new file mode 100644
index 000000000..8e347b3a4
Binary files /dev/null and b/en/assets/covers/chapter_hello_algo.jpg differ
diff --git a/en/assets/covers/chapter_introduction.jpg b/en/assets/covers/chapter_introduction.jpg
index 47e448f33..49e2c2a41 100644
Binary files a/en/assets/covers/chapter_introduction.jpg and b/en/assets/covers/chapter_introduction.jpg differ
diff --git a/en/assets/covers/chapter_preface.jpg b/en/assets/covers/chapter_preface.jpg
index 2ba0de189..d4dd753bd 100644
Binary files a/en/assets/covers/chapter_preface.jpg and b/en/assets/covers/chapter_preface.jpg differ
diff --git a/en/assets/covers/chapter_searching.jpg b/en/assets/covers/chapter_searching.jpg
index c6f50f15d..f5d9c2a19 100644
Binary files a/en/assets/covers/chapter_searching.jpg and b/en/assets/covers/chapter_searching.jpg differ
diff --git a/en/assets/covers/chapter_sorting.jpg b/en/assets/covers/chapter_sorting.jpg
index 0f441e9c3..f77e7050a 100644
Binary files a/en/assets/covers/chapter_sorting.jpg and b/en/assets/covers/chapter_sorting.jpg differ
diff --git a/en/assets/covers/chapter_stack_and_queue.jpg b/en/assets/covers/chapter_stack_and_queue.jpg
index ccfd8b330..8c75e4aae 100644
Binary files a/en/assets/covers/chapter_stack_and_queue.jpg and b/en/assets/covers/chapter_stack_and_queue.jpg differ
diff --git a/en/assets/covers/chapter_tree.jpg b/en/assets/covers/chapter_tree.jpg
index 50f449614..8d0001f02 100644
Binary files a/en/assets/covers/chapter_tree.jpg and b/en/assets/covers/chapter_tree.jpg differ
diff --git a/en/chapter_array_and_linkedlist/array/index.html b/en/chapter_array_and_linkedlist/array/index.html
index b6d3f9dd3..3b004f48e 100644
--- a/en/chapter_array_and_linkedlist/array/index.html
+++ b/en/chapter_array_and_linkedlist/array/index.html
@@ -91,7 +91,7 @@
-
+
Skip to content
@@ -201,7 +201,13 @@
- 中文
+ 简体中文
+
+
+
+
+
+ 繁體中文
@@ -393,7 +399,7 @@
- 0.1 About This Book
+ 0.1 About this book
@@ -414,7 +420,7 @@
- 0.2 How to Read
+ 0.2 How to read
@@ -491,7 +497,7 @@
- Chapter 1. Introduction to Algorithms
+ Chapter 1. Introduction to algorithms
@@ -507,7 +513,7 @@
- Chapter 1. Introduction to Algorithms
+ Chapter 1. Introduction to algorithms
@@ -524,7 +530,7 @@
- 1.1 Algorithms are Everywhere
+ 1.1 Algorithms are everywhere
@@ -545,7 +551,7 @@
- 1.2 What is an Algorithm
+ 1.2 What is an algorithm
@@ -626,7 +632,7 @@
- Chapter 2. Complexity Analysis
+ Chapter 2. Complexity analysis
@@ -642,7 +648,7 @@
- Chapter 2. Complexity Analysis
+ Chapter 2. Complexity analysis
@@ -659,7 +665,7 @@
- 2.1 Algorithm Efficiency Assessment
+ 2.1 Algorithm efficiency assessment
@@ -680,7 +686,7 @@
- 2.2 Iteration and Recursion
+ 2.2 Iteration and recursion
@@ -701,7 +707,7 @@
- 2.3 Time Complexity
+ 2.3 Time complexity
@@ -722,7 +728,7 @@
- 2.4 Space Complexity
+ 2.4 Space complexity
@@ -803,7 +809,7 @@
- Chapter 3. Data Structures
+ Chapter 3. Data structures
@@ -819,7 +825,7 @@
- Chapter 3. Data Structures
+ Chapter 3. Data structures
@@ -836,7 +842,7 @@
- 3.1 Classification of Data Structures
+ 3.1 Classification of data structures
@@ -857,7 +863,7 @@
- 3.2 Fundamental Data Types
+ 3.2 Fundamental data types
@@ -878,7 +884,7 @@
- 3.3 Number Encoding *
+ 3.3 Number encoding *
@@ -899,7 +905,7 @@
- 3.4 Character Encoding *
+ 3.4 Character encoding *
@@ -982,7 +988,7 @@
- Chapter 4. Array and Linked List
+ Chapter 4. Array and linked list
@@ -998,7 +1004,7 @@
- Chapter 4. Array and Linked List
+ Chapter 4. Array and linked list
@@ -1059,17 +1065,17 @@
- 4.1.1 Common Operations on Arrays
+ 4.1.1 Common operations on arrays
-
+
- 1. Initializing Arrays
+ 1. Initializing arrays
@@ -1078,7 +1084,7 @@
- 2. Accessing Elements
+ 2. Accessing elements
@@ -1087,7 +1093,7 @@
- 3. Inserting Elements
+ 3. Inserting elements
@@ -1096,7 +1102,7 @@
- 4. Deleting Elements
+ 4. Deleting elements
@@ -1105,7 +1111,7 @@
- 5. Traversing Arrays
+ 5. Traversing arrays
@@ -1114,7 +1120,7 @@
- 6. Finding Elements
+ 6. Finding elements
@@ -1123,7 +1129,7 @@
- 7. Expanding Arrays
+ 7. Expanding arrays
@@ -1137,7 +1143,7 @@
- 4.1.2 Advantages and Limitations of Arrays
+ 4.1.2 Advantages and limitations of arrays
@@ -1146,7 +1152,7 @@
- 4.1.3 Typical Applications of Arrays
+ 4.1.3 Typical applications of arrays
@@ -1172,7 +1178,7 @@
- 4.2 Linked List
+ 4.2 Linked list
@@ -1214,7 +1220,7 @@
- 4.4 Memory and Cache
+ 4.4 Memory and cache
@@ -1293,7 +1299,7 @@
- Chapter 5. Stack and Queue
+ Chapter 5. Stack and queue
@@ -1309,7 +1315,7 @@
- Chapter 5. Stack and Queue
+ Chapter 5. Stack and queue
@@ -1368,7 +1374,7 @@
- 5.3 Double-ended Queue
+ 5.3 Double-ended queue
@@ -1447,7 +1453,7 @@
- Chapter 6. Hash Table
+ Chapter 6. Hash table
@@ -1463,7 +1469,7 @@
- Chapter 6. Hash Table
+ Chapter 6. Hash table
@@ -1480,7 +1486,7 @@
- 6.1 Hash Table
+ 6.1 Hash table
@@ -1501,7 +1507,7 @@
- 6.2 Hash Collision
+ 6.2 Hash collision
@@ -1522,7 +1528,7 @@
- 6.3 Hash Algorithm
+ 6.3 Hash algorithm
@@ -2097,17 +2103,17 @@
- 4.1.1 Common Operations on Arrays
+ 4.1.1 Common operations on arrays
-
+
- 1. Initializing Arrays
+ 1. Initializing arrays
@@ -2116,7 +2122,7 @@
- 2. Accessing Elements
+ 2. Accessing elements
@@ -2125,7 +2131,7 @@
- 3. Inserting Elements
+ 3. Inserting elements
@@ -2134,7 +2140,7 @@
- 4. Deleting Elements
+ 4. Deleting elements
@@ -2143,7 +2149,7 @@
- 5. Traversing Arrays
+ 5. Traversing arrays
@@ -2152,7 +2158,7 @@
- 6. Finding Elements
+ 6. Finding elements
@@ -2161,7 +2167,7 @@
- 7. Expanding Arrays
+ 7. Expanding arrays
@@ -2175,7 +2181,7 @@
- 4.1.2 Advantages and Limitations of Arrays
+ 4.1.2 Advantages and limitations of arrays
@@ -2184,7 +2190,7 @@
- 4.1.3 Typical Applications of Arrays
+ 4.1.3 Typical applications of arrays
@@ -2226,13 +2232,13 @@
-4.1 Arrays
+4.1 Array
An "array" is a linear data structure that operates as a lineup of similar items, stored together in a computer's memory in contiguous spaces. It's like a sequence that maintains organized storage. Each item in this lineup has its unique 'spot' known as an "index". Please refer to the Figure 4-1 to observe how arrays work and grasp these key terms.
-
- Figure 4-1 Array Definition and Storage Method
+
+ Figure 4-1 Array definition and storage method
-4.1.1 Common Operations on Arrays
-1. Initializing Arrays
+4.1.1 Common operations on arrays
+1. Initializing arrays
Arrays can be initialized in two ways depending on the needs: either without initial values or with specified initial values. When initial values are not specified, most programming languages will set the array elements to \(0\) :
-2. Accessing Elements
+2. Accessing elements
Elements in an array are stored in contiguous memory spaces, making it simpler to compute each element's memory address. The formula shown in the Figure below aids in determining an element's memory address, utilizing the array's memory address (specifically, the first element's address) and the element's index. This computation streamlines direct access to the desired element.
-
- Figure 4-2 Memory Address Calculation for Array Elements
+
+ Figure 4-2 Memory address calculation for array elements
As observed in the above illustration, array indexing conventionally begins at \(0\) . While this might appear counterintuitive, considering counting usually starts at \(1\) , within the address calculation formula, an index is essentially an offset from the memory address . For the first element's address, this offset is \(0\) , validating its index as \(0\) .
Accessing elements in an array is highly efficient, allowing us to randomly access any element in \(O(1)\) time.
@@ -2491,10 +2497,10 @@
-3. Inserting Elements
+3. Inserting elements
Array elements are tightly packed in memory, with no space available to accommodate additional data between them. Illustrated in Figure below, inserting an element in the middle of an array requires shifting all subsequent elements back by one position to create room for the new element.
-
- Figure 4-3 Array Element Insertion Example
+
+ Figure 4-3 Array element insertion example
It's important to note that due to the fixed length of an array, inserting an element will unavoidably result in the loss of the last element in the array. Solutions to address this issue will be explored in the "List" chapter.
Python C++ Java C# Go Swift JS TS Dart Rust C Kotlin Ruby Zig
@@ -2674,10 +2680,10 @@
-
4. Deleting Elements
+
4. Deleting elements
Similarly, as depicted in the Figure 4-4 , to delete an element at index \(i\) , all elements following index \(i\) must be moved forward by one position.
-
-
Figure 4-4 Array Element Deletion Example
+
+
Figure 4-4 Array element deletion example
Please note that after deletion, the former last element becomes "meaningless," hence requiring no specific modification.
Python C++ Java C# Go Swift JS TS Dart Rust C Kotlin Ruby Zig
@@ -2831,11 +2837,11 @@
In summary, the insertion and deletion operations in arrays present 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 : Initializing a longer array and utilizing only the front part results in "meaningless" end elements during insertion, leading to some wasted memory space.
+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 : Initializing a longer array and utilizing only the front part results in "meaningless" end elements during insertion, leading to some wasted memory space.
-
5. Traversing Arrays
+
5. Traversing arrays
In most programming languages, we can traverse an array either by using indices or by directly iterating over each element:
Python C++ Java C# Go Swift JS TS Dart Rust C Kotlin Ruby Zig
@@ -3068,7 +3074,7 @@
-
6. Finding Elements
+
6. Finding elements
Locating a specific element within an array involves iterating through the array, checking each element to determine if it matches the desired value.
Because arrays are linear data structures, this operation is commonly referred to as "linear search."
Python C++ Java C# Go Swift JS TS Dart Rust C Kotlin Ruby Zig
@@ -3234,7 +3240,7 @@
-
7. Expanding Arrays
+
7. Expanding arrays
In complex system environments, ensuring the availability of memory space after an array for safe capacity extension becomes challenging. Consequently, in most programming languages, the length of an array is immutable .
To expand an array, it's necessary 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 are as follows:
Python C++ Java C# Go Swift JS TS Dart Rust C Kotlin Ruby Zig
@@ -3453,27 +3459,27 @@
-
4.1.2 Advantages and Limitations of Arrays
+
4.1.2 Advantages and limitations of arrays
Arrays are stored in contiguous memory spaces and consist of elements of the same type. This approach provides substantial prior information that systems can leverage to optimize the efficiency of data structure operations.
-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, utilizing high-speed cache to enchance subsequent operation speeds.
+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, utilizing high-speed cache to enchance subsequent operation speeds.
However, continuous space storage is a double-edged sword, with the following limitations:
-Low Efficiency in Insertion and Deletion : As arrays accumulate many elements, inserting or deleting elements requires shifting 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, incurring significant costs.
-Space Wastage : If the allocated array size exceeds the what is necessary, the extra space is wasted.
+Low efficiency in insertion and deletion : As arrays accumulate many elements, inserting or deleting elements requires shifting 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, incurring significant costs.
+Space wastage : If the allocated array size exceeds the what is necessary, the extra space is wasted.
-
4.1.3 Typical Applications of Arrays
+
4.1.3 Typical applications of arrays
Arrays are fundamental and widely used data structures. They find frequent application in various algorithms and serve in the implementation of complex data structures.
-Random Access : Arrays are ideal for storing data when random sampling is required. By generating a random sequence based on indices, we can achieve random sampling efficiently.
-Sorting and Searching : Arrays are the most commonly used data structure for sorting and searching algorithms. Techniques like quick sort, merge sort, binary search, etc., are primarily operate on arrays.
-Lookup Tables : Arrays serve as efficient lookup tables for quick element or relationship retrieval. For instance, mapping characters to ASCII codes becomes seamless by using the ASCII code values as indices and storing corresponding elements in the array.
-Machine Learning : Within the domain of neural networks, arrays play a pivotal role in executing crucial linear algebra operations involving vectors, matrices, and tensors. Arrays serve as the primary and most extensively used data structure in neural network programming.
-Data Structure Implementation : Arrays serve as the building blocks for implementing various data structures like stacks, queues, hash tables, heaps, graphs, etc. For instance, the adjacency matrix representation of a graph is essentially a two-dimensional array.
+Random access : Arrays are ideal for storing data when random sampling is required. By generating a random sequence based on indices, we can achieve random sampling efficiently.
+Sorting and searching : Arrays are the most commonly used data structure for sorting and searching algorithms. Techniques like quick sort, merge sort, binary search, etc., are primarily operate on arrays.
+Lookup tables : Arrays serve as efficient lookup tables for quick element or relationship retrieval. For instance, mapping characters to ASCII codes becomes seamless by using the ASCII code values as indices and storing corresponding elements in the array.
+Machine learning : Within the domain of neural networks, arrays play a pivotal role in executing crucial linear algebra operations involving vectors, matrices, and tensors. Arrays serve as the primary and most extensively used data structure in neural network programming.
+Data structure implementation : Arrays serve as the building blocks for implementing various data structures like stacks, queues, hash tables, heaps, graphs, etc. For instance, the adjacency matrix representation of a graph is essentially a two-dimensional array.
@@ -3497,7 +3503,7 @@ aria-label="Footer"
@@ -3521,7 +3527,7 @@ aria-label="Footer"