diff --git a/docs/chapter_array_and_linkedlist/array.assets/array_definition.png b/docs/chapter_array_and_linkedlist/array.assets/array_definition.png index 3703111c4..66359226c 100644 Binary files a/docs/chapter_array_and_linkedlist/array.assets/array_definition.png and b/docs/chapter_array_and_linkedlist/array.assets/array_definition.png differ diff --git a/docs/chapter_array_and_linkedlist/array.assets/array_insert_element.png b/docs/chapter_array_and_linkedlist/array.assets/array_insert_element.png index 05a9621a1..970151a70 100644 Binary files a/docs/chapter_array_and_linkedlist/array.assets/array_insert_element.png and b/docs/chapter_array_and_linkedlist/array.assets/array_insert_element.png differ diff --git a/docs/chapter_array_and_linkedlist/array.assets/array_memory_location_calculation.png b/docs/chapter_array_and_linkedlist/array.assets/array_memory_location_calculation.png index 3f5fcde7d..32a59e5f2 100644 Binary files a/docs/chapter_array_and_linkedlist/array.assets/array_memory_location_calculation.png and b/docs/chapter_array_and_linkedlist/array.assets/array_memory_location_calculation.png differ diff --git a/docs/chapter_array_and_linkedlist/array.assets/array_remove_element.png b/docs/chapter_array_and_linkedlist/array.assets/array_remove_element.png index 4b79529e7..2e60b0c39 100644 Binary files a/docs/chapter_array_and_linkedlist/array.assets/array_remove_element.png and b/docs/chapter_array_and_linkedlist/array.assets/array_remove_element.png differ diff --git a/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_common_types.png b/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_common_types.png index b7c4a726c..f36bccf9b 100644 Binary files a/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_common_types.png and b/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_common_types.png differ diff --git a/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_definition.png b/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_definition.png index da9deb32c..3e9b7fb24 100644 Binary files a/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_definition.png and b/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_definition.png differ diff --git a/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_insert_node.png b/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_insert_node.png index 64672d41e..a2591cefc 100644 Binary files a/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_insert_node.png and b/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_insert_node.png differ diff --git a/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_remove_node.png b/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_remove_node.png index 68c72b97f..35ce06c1b 100644 Binary files a/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_remove_node.png and b/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_remove_node.png differ diff --git a/docs/chapter_array_and_linkedlist/ram_and_cache.assets/computer_storage_devices.png b/docs/chapter_array_and_linkedlist/ram_and_cache.assets/computer_storage_devices.png index 85d772f7f..039a07034 100644 Binary files a/docs/chapter_array_and_linkedlist/ram_and_cache.assets/computer_storage_devices.png and b/docs/chapter_array_and_linkedlist/ram_and_cache.assets/computer_storage_devices.png differ diff --git a/docs/chapter_array_and_linkedlist/ram_and_cache.assets/storage_pyramid.png b/docs/chapter_array_and_linkedlist/ram_and_cache.assets/storage_pyramid.png index e97efb87d..8192574fe 100644 Binary files a/docs/chapter_array_and_linkedlist/ram_and_cache.assets/storage_pyramid.png and b/docs/chapter_array_and_linkedlist/ram_and_cache.assets/storage_pyramid.png differ diff --git a/docs/chapter_backtracking/backtracking_algorithm.assets/backtrack_remove_return_or_not.png b/docs/chapter_backtracking/backtracking_algorithm.assets/backtrack_remove_return_or_not.png index e67db9538..4b3371ed7 100644 Binary files a/docs/chapter_backtracking/backtracking_algorithm.assets/backtrack_remove_return_or_not.png and b/docs/chapter_backtracking/backtracking_algorithm.assets/backtrack_remove_return_or_not.png differ diff --git a/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_constrained_paths.png b/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_constrained_paths.png index 33f6b5984..1748fcc6e 100644 Binary files a/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_constrained_paths.png and b/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_constrained_paths.png differ diff --git a/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_nodes.png b/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_nodes.png index 5aa53b898..683c590c0 100644 Binary files a/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_nodes.png and b/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_nodes.png differ diff --git a/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step1.png b/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step1.png index 54f8ae71d..5e964a807 100644 Binary files a/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step1.png and b/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step1.png differ diff --git a/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step10.png b/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step10.png index bc2c907c3..30d9d2eab 100644 Binary files a/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step10.png and b/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step10.png differ diff --git a/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step11.png b/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step11.png index 128a3c17b..15e988b61 100644 Binary files a/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step11.png and b/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step11.png differ diff --git a/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step2.png b/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step2.png index 5487d8f31..89ec7bd19 100644 Binary files a/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step2.png and b/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step2.png differ diff --git a/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step3.png b/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step3.png index a09c3a22c..539ed94aa 100644 Binary files a/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step3.png and b/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step3.png differ diff --git a/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step4.png b/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step4.png index 1c748d86b..6808a737c 100644 Binary files a/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step4.png and b/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step4.png differ diff --git a/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step5.png b/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step5.png index bbc4a66fd..50b1b2005 100644 Binary files a/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step5.png and b/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step5.png differ diff --git a/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step6.png b/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step6.png index c2df100bd..c345fec0f 100644 Binary files a/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step6.png and b/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step6.png differ diff --git a/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step7.png b/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step7.png index 85ecd6b6c..acd5cb35d 100644 Binary files a/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step7.png and b/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step7.png differ diff --git a/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step8.png b/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step8.png index 48e08cd4d..131be238e 100644 Binary files a/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step8.png and b/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step8.png differ diff --git a/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step9.png b/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step9.png index 792d0120b..b05715e67 100644 Binary files a/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step9.png and b/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step9.png differ diff --git a/docs/chapter_backtracking/n_queens_problem.assets/n_queens_cols_diagonals.png b/docs/chapter_backtracking/n_queens_problem.assets/n_queens_cols_diagonals.png index 2e2594325..29131a383 100644 Binary files a/docs/chapter_backtracking/n_queens_problem.assets/n_queens_cols_diagonals.png and b/docs/chapter_backtracking/n_queens_problem.assets/n_queens_cols_diagonals.png differ diff --git a/docs/chapter_backtracking/n_queens_problem.assets/n_queens_constraints.png b/docs/chapter_backtracking/n_queens_problem.assets/n_queens_constraints.png index 58c1529a5..257ea72a3 100644 Binary files a/docs/chapter_backtracking/n_queens_problem.assets/n_queens_constraints.png and b/docs/chapter_backtracking/n_queens_problem.assets/n_queens_constraints.png differ diff --git a/docs/chapter_backtracking/n_queens_problem.assets/n_queens_placing.png b/docs/chapter_backtracking/n_queens_problem.assets/n_queens_placing.png index 318ee7fc8..7a3804afa 100644 Binary files a/docs/chapter_backtracking/n_queens_problem.assets/n_queens_placing.png and b/docs/chapter_backtracking/n_queens_problem.assets/n_queens_placing.png differ diff --git a/docs/chapter_backtracking/n_queens_problem.assets/solution_4_queens.png b/docs/chapter_backtracking/n_queens_problem.assets/solution_4_queens.png index 4fb4ba987..22a52e9dd 100644 Binary files a/docs/chapter_backtracking/n_queens_problem.assets/solution_4_queens.png and b/docs/chapter_backtracking/n_queens_problem.assets/solution_4_queens.png differ diff --git a/docs/chapter_backtracking/permutations_problem.assets/permutations_i.png b/docs/chapter_backtracking/permutations_problem.assets/permutations_i.png index 20588b2e5..d695f8096 100644 Binary files a/docs/chapter_backtracking/permutations_problem.assets/permutations_i.png and b/docs/chapter_backtracking/permutations_problem.assets/permutations_i.png differ diff --git a/docs/chapter_backtracking/permutations_problem.assets/permutations_i_pruning.png b/docs/chapter_backtracking/permutations_problem.assets/permutations_i_pruning.png index ae7eefde6..73cc33b5b 100644 Binary files a/docs/chapter_backtracking/permutations_problem.assets/permutations_i_pruning.png and b/docs/chapter_backtracking/permutations_problem.assets/permutations_i_pruning.png differ diff --git a/docs/chapter_backtracking/permutations_problem.assets/permutations_ii.png b/docs/chapter_backtracking/permutations_problem.assets/permutations_ii.png index 577760d39..35061be64 100644 Binary files a/docs/chapter_backtracking/permutations_problem.assets/permutations_ii.png and b/docs/chapter_backtracking/permutations_problem.assets/permutations_ii.png differ diff --git a/docs/chapter_backtracking/permutations_problem.assets/permutations_ii_pruning.png b/docs/chapter_backtracking/permutations_problem.assets/permutations_ii_pruning.png index b46f5335e..b166b9440 100644 Binary files a/docs/chapter_backtracking/permutations_problem.assets/permutations_ii_pruning.png and b/docs/chapter_backtracking/permutations_problem.assets/permutations_ii_pruning.png differ diff --git a/docs/chapter_backtracking/permutations_problem.assets/permutations_ii_pruning_summary.png b/docs/chapter_backtracking/permutations_problem.assets/permutations_ii_pruning_summary.png index ed5b53d53..2d998d918 100644 Binary files a/docs/chapter_backtracking/permutations_problem.assets/permutations_ii_pruning_summary.png and b/docs/chapter_backtracking/permutations_problem.assets/permutations_ii_pruning_summary.png differ diff --git a/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i.png b/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i.png index b997c39af..85785238e 100644 Binary files a/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i.png and b/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i.png differ diff --git a/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i_naive.png b/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i_naive.png index 29b423223..793145d80 100644 Binary files a/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i_naive.png and b/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i_naive.png differ diff --git a/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i_pruning.png b/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i_pruning.png index 65b2c2889..40a73e4a2 100644 Binary files a/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i_pruning.png and b/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i_pruning.png differ diff --git a/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_ii.png b/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_ii.png index 2a44448d9..f3172bbf9 100644 Binary files a/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_ii.png and b/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_ii.png differ diff --git a/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_ii_repeat.png b/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_ii_repeat.png index 7edc200ed..13fb8a32c 100644 Binary files a/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_ii_repeat.png and b/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_ii_repeat.png differ diff --git a/docs/chapter_computational_complexity/iteration_and_recursion.assets/iteration.png b/docs/chapter_computational_complexity/iteration_and_recursion.assets/iteration.png index 412564348..3a9a2af6e 100644 Binary files a/docs/chapter_computational_complexity/iteration_and_recursion.assets/iteration.png and b/docs/chapter_computational_complexity/iteration_and_recursion.assets/iteration.png differ diff --git a/docs/chapter_computational_complexity/iteration_and_recursion.assets/nested_iteration.png b/docs/chapter_computational_complexity/iteration_and_recursion.assets/nested_iteration.png index 9bb69d05c..7864c1592 100644 Binary files a/docs/chapter_computational_complexity/iteration_and_recursion.assets/nested_iteration.png and b/docs/chapter_computational_complexity/iteration_and_recursion.assets/nested_iteration.png differ diff --git a/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_sum.png b/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_sum.png index 0206091b2..b9801eb56 100644 Binary files a/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_sum.png and b/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_sum.png differ diff --git a/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_sum_depth.png b/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_sum_depth.png index 9b862d3cd..d71ca6892 100644 Binary files a/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_sum_depth.png and b/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_sum_depth.png differ diff --git a/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_tree.png b/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_tree.png index 4b85811d3..77950adc8 100644 Binary files a/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_tree.png and b/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_tree.png differ diff --git a/docs/chapter_computational_complexity/iteration_and_recursion.assets/tail_recursion_sum.png b/docs/chapter_computational_complexity/iteration_and_recursion.assets/tail_recursion_sum.png index 04066ae5f..351345c23 100644 Binary files a/docs/chapter_computational_complexity/iteration_and_recursion.assets/tail_recursion_sum.png and b/docs/chapter_computational_complexity/iteration_and_recursion.assets/tail_recursion_sum.png differ diff --git a/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_common_types.png b/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_common_types.png index 217dc6f03..1186b9344 100644 Binary files a/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_common_types.png and b/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_common_types.png differ diff --git a/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_exponential.png b/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_exponential.png index 98730370d..7e8b440cc 100644 Binary files a/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_exponential.png and b/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_exponential.png differ diff --git a/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_recursive_linear.png b/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_recursive_linear.png index 0c05aabe7..c42eac4e9 100644 Binary files a/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_recursive_linear.png and b/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_recursive_linear.png differ diff --git a/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_recursive_quadratic.png b/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_recursive_quadratic.png index da696e960..598661f7b 100644 Binary files a/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_recursive_quadratic.png and b/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_recursive_quadratic.png differ diff --git a/docs/chapter_computational_complexity/space_complexity.assets/space_types.png b/docs/chapter_computational_complexity/space_complexity.assets/space_types.png index 8dc9bc2b1..e601661da 100644 Binary files a/docs/chapter_computational_complexity/space_complexity.assets/space_types.png and b/docs/chapter_computational_complexity/space_complexity.assets/space_types.png differ diff --git a/docs/chapter_computational_complexity/time_complexity.assets/asymptotic_upper_bound.png b/docs/chapter_computational_complexity/time_complexity.assets/asymptotic_upper_bound.png index d0dddbb05..8ee436b30 100644 Binary files a/docs/chapter_computational_complexity/time_complexity.assets/asymptotic_upper_bound.png and b/docs/chapter_computational_complexity/time_complexity.assets/asymptotic_upper_bound.png differ diff --git a/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_common_types.png b/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_common_types.png index c1ab027e0..0b7f50ce7 100644 Binary files a/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_common_types.png and b/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_common_types.png differ diff --git a/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_constant_linear_quadratic.png b/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_constant_linear_quadratic.png index 99758187f..dd5fb7d4a 100644 Binary files a/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_constant_linear_quadratic.png and b/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_constant_linear_quadratic.png differ diff --git a/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_exponential.png b/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_exponential.png index bf9ef1b37..2459cbb4c 100644 Binary files a/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_exponential.png and b/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_exponential.png differ diff --git a/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_factorial.png b/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_factorial.png index 52bf0c1c2..eb89ad45c 100644 Binary files a/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_factorial.png and b/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_factorial.png differ diff --git a/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_logarithmic.png b/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_logarithmic.png index 739c386f4..86c943fbb 100644 Binary files a/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_logarithmic.png and b/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_logarithmic.png differ diff --git a/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_logarithmic_linear.png b/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_logarithmic_linear.png index 3ae59496c..b30c52b8a 100644 Binary files a/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_logarithmic_linear.png and b/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_logarithmic_linear.png differ diff --git a/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_simple_example.png b/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_simple_example.png index dd1c52528..0f55e86ec 100644 Binary files a/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_simple_example.png and b/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_simple_example.png differ diff --git a/docs/chapter_data_structure/character_encoding.assets/ascii_table.png b/docs/chapter_data_structure/character_encoding.assets/ascii_table.png index 9d80a7c1e..96479263b 100644 Binary files a/docs/chapter_data_structure/character_encoding.assets/ascii_table.png and b/docs/chapter_data_structure/character_encoding.assets/ascii_table.png differ diff --git a/docs/chapter_data_structure/character_encoding.assets/unicode_hello_algo.png b/docs/chapter_data_structure/character_encoding.assets/unicode_hello_algo.png index 57255a81d..df726ed02 100644 Binary files a/docs/chapter_data_structure/character_encoding.assets/unicode_hello_algo.png and b/docs/chapter_data_structure/character_encoding.assets/unicode_hello_algo.png differ diff --git a/docs/chapter_data_structure/character_encoding.assets/utf-8_hello_algo.png b/docs/chapter_data_structure/character_encoding.assets/utf-8_hello_algo.png index d90783444..58a8e985f 100644 Binary files a/docs/chapter_data_structure/character_encoding.assets/utf-8_hello_algo.png and b/docs/chapter_data_structure/character_encoding.assets/utf-8_hello_algo.png differ diff --git a/docs/chapter_data_structure/classification_of_data_structure.assets/classification_logic_structure.png b/docs/chapter_data_structure/classification_of_data_structure.assets/classification_logic_structure.png index 1c3f42c83..cce06f753 100644 Binary files a/docs/chapter_data_structure/classification_of_data_structure.assets/classification_logic_structure.png and b/docs/chapter_data_structure/classification_of_data_structure.assets/classification_logic_structure.png differ diff --git a/docs/chapter_data_structure/classification_of_data_structure.assets/classification_phisical_structure.png b/docs/chapter_data_structure/classification_of_data_structure.assets/classification_phisical_structure.png index 94288e511..103e92907 100644 Binary files a/docs/chapter_data_structure/classification_of_data_structure.assets/classification_phisical_structure.png and b/docs/chapter_data_structure/classification_of_data_structure.assets/classification_phisical_structure.png differ diff --git a/docs/chapter_data_structure/classification_of_data_structure.assets/computer_memory_location.png b/docs/chapter_data_structure/classification_of_data_structure.assets/computer_memory_location.png index e14100e85..3287bfaa7 100644 Binary files a/docs/chapter_data_structure/classification_of_data_structure.assets/computer_memory_location.png and b/docs/chapter_data_structure/classification_of_data_structure.assets/computer_memory_location.png differ diff --git a/docs/chapter_data_structure/number_encoding.assets/1s_2s_complement.png b/docs/chapter_data_structure/number_encoding.assets/1s_2s_complement.png index 16b7ba6ef..70befaab2 100644 Binary files a/docs/chapter_data_structure/number_encoding.assets/1s_2s_complement.png and b/docs/chapter_data_structure/number_encoding.assets/1s_2s_complement.png differ diff --git a/docs/chapter_data_structure/number_encoding.assets/ieee_754_float.png b/docs/chapter_data_structure/number_encoding.assets/ieee_754_float.png index b0acc827e..b51f602df 100644 Binary files a/docs/chapter_data_structure/number_encoding.assets/ieee_754_float.png and b/docs/chapter_data_structure/number_encoding.assets/ieee_754_float.png differ diff --git a/docs/chapter_divide_and_conquer/binary_search_recur.assets/binary_search_recur.png b/docs/chapter_divide_and_conquer/binary_search_recur.assets/binary_search_recur.png index 7811a4ce8..9dddc20db 100644 Binary files a/docs/chapter_divide_and_conquer/binary_search_recur.assets/binary_search_recur.png and b/docs/chapter_divide_and_conquer/binary_search_recur.assets/binary_search_recur.png differ diff --git a/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_division_pointers.png b/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_division_pointers.png index 51f02fa61..219686c7e 100644 Binary files a/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_division_pointers.png and b/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_division_pointers.png differ diff --git a/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_example.png b/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_example.png index 0ac06bb5a..62934b918 100644 Binary files a/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_example.png and b/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_example.png differ diff --git a/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_preorder_inorder_division.png b/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_preorder_inorder_division.png index 427cca531..3cbc3103b 100644 Binary files a/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_preorder_inorder_division.png and b/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_preorder_inorder_division.png differ diff --git a/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_overall.png b/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_overall.png index d68b38b07..babb921c4 100644 Binary files a/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_overall.png and b/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_overall.png differ diff --git a/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step1.png b/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step1.png index 61f1ef74c..2e956699d 100644 Binary files a/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step1.png and b/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step1.png differ diff --git a/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step2.png b/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step2.png index 23dfb8b88..bc9e16e2a 100644 Binary files a/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step2.png and b/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step2.png differ diff --git a/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step3.png b/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step3.png index 73f650aa6..f2cb0c501 100644 Binary files a/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step3.png and b/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step3.png differ diff --git a/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step4.png b/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step4.png index fb5db2050..e3618675d 100644 Binary files a/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step4.png and b/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step4.png differ diff --git a/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step5.png b/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step5.png index c3f55b54a..f6ef0e851 100644 Binary files a/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step5.png and b/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step5.png differ diff --git a/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step6.png b/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step6.png index f69ede0a6..8349edc09 100644 Binary files a/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step6.png and b/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step6.png differ diff --git a/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step7.png b/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step7.png index ee72272ae..df16d7eea 100644 Binary files a/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step7.png and b/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step7.png differ diff --git a/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step8.png b/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step8.png index 8a180a23d..d87fc7472 100644 Binary files a/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step8.png and b/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step8.png differ diff --git a/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step9.png b/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step9.png index 923dd9036..a069c68c2 100644 Binary files a/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step9.png and b/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step9.png differ diff --git a/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_bubble_sort.png b/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_bubble_sort.png index 261ccf21b..18fafe03b 100644 Binary files a/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_bubble_sort.png and b/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_bubble_sort.png differ diff --git a/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_merge_sort.png b/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_merge_sort.png index 3ea96e934..aa3a5e243 100644 Binary files a/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_merge_sort.png and b/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_merge_sort.png differ diff --git a/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_parallel_computing.png b/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_parallel_computing.png index 4abbb183d..3b9b4345b 100644 Binary files a/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_parallel_computing.png and b/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_parallel_computing.png differ diff --git a/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_divide_and_conquer.png b/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_divide_and_conquer.png index aeab11a06..f9e88d988 100644 Binary files a/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_divide_and_conquer.png and b/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_divide_and_conquer.png differ diff --git a/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_example.png b/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_example.png index c45d0e5c5..87dd38430 100644 Binary files a/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_example.png and b/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_example.png differ diff --git a/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f1_step1.png b/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f1_step1.png index e322e9810..ab6dbaff4 100644 Binary files a/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f1_step1.png and b/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f1_step1.png differ diff --git a/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f1_step2.png b/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f1_step2.png index 852c897d7..a227e2952 100644 Binary files a/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f1_step2.png and b/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f1_step2.png differ diff --git a/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step1.png b/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step1.png index 81ef236f1..6b704b40f 100644 Binary files a/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step1.png and b/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step1.png differ diff --git a/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step2.png b/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step2.png index 390eeca8b..69e304e61 100644 Binary files a/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step2.png and b/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step2.png differ diff --git a/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step3.png b/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step3.png index 9012a14d7..5b9fbbab1 100644 Binary files a/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step3.png and b/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step3.png differ diff --git a/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step4.png b/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step4.png index ec75fde61..231421ffe 100644 Binary files a/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step4.png and b/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step4.png differ diff --git a/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step1.png b/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step1.png index e0fd3f520..78f03586e 100644 Binary files a/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step1.png and b/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step1.png differ diff --git a/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step2.png b/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step2.png index c3e2a4130..9ac3250f8 100644 Binary files a/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step2.png and b/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step2.png differ diff --git a/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step3.png b/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step3.png index d3b2e1dfc..76d7899f2 100644 Binary files a/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step3.png and b/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step3.png differ diff --git a/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step4.png b/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step4.png index 95af9ff43..33ef49cb8 100644 Binary files a/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step4.png and b/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step4.png differ diff --git a/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_recursive_tree.png b/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_recursive_tree.png index cebed6b1c..10a111505 100644 Binary files a/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_recursive_tree.png and b/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_recursive_tree.png differ diff --git a/docs/chapter_dynamic_programming/dp_problem_features.assets/climbing_stairs_constraint_example.png b/docs/chapter_dynamic_programming/dp_problem_features.assets/climbing_stairs_constraint_example.png index 28e050093..903da3fe0 100644 Binary files a/docs/chapter_dynamic_programming/dp_problem_features.assets/climbing_stairs_constraint_example.png and b/docs/chapter_dynamic_programming/dp_problem_features.assets/climbing_stairs_constraint_example.png differ diff --git a/docs/chapter_dynamic_programming/dp_problem_features.assets/climbing_stairs_constraint_state_transfer.png b/docs/chapter_dynamic_programming/dp_problem_features.assets/climbing_stairs_constraint_state_transfer.png index ed1bf0738..a49a27b51 100644 Binary files a/docs/chapter_dynamic_programming/dp_problem_features.assets/climbing_stairs_constraint_state_transfer.png and b/docs/chapter_dynamic_programming/dp_problem_features.assets/climbing_stairs_constraint_state_transfer.png differ diff --git a/docs/chapter_dynamic_programming/dp_problem_features.assets/min_cost_cs_dp.png b/docs/chapter_dynamic_programming/dp_problem_features.assets/min_cost_cs_dp.png index 3ef66958b..74e8f5dd5 100644 Binary files a/docs/chapter_dynamic_programming/dp_problem_features.assets/min_cost_cs_dp.png and b/docs/chapter_dynamic_programming/dp_problem_features.assets/min_cost_cs_dp.png differ diff --git a/docs/chapter_dynamic_programming/dp_problem_features.assets/min_cost_cs_example.png b/docs/chapter_dynamic_programming/dp_problem_features.assets/min_cost_cs_example.png index 033caa8e8..b7739072f 100644 Binary files a/docs/chapter_dynamic_programming/dp_problem_features.assets/min_cost_cs_example.png and b/docs/chapter_dynamic_programming/dp_problem_features.assets/min_cost_cs_example.png differ diff --git a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dfs.png b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dfs.png index 9a9872bdf..fbdd383cd 100644 Binary files a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dfs.png and b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dfs.png differ diff --git a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dfs_mem.png b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dfs_mem.png index b8a816d95..3e1c52cf1 100644 Binary files a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dfs_mem.png and b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dfs_mem.png differ diff --git a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step1.png b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step1.png index 5699358f9..a2b882f5b 100644 Binary files a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step1.png and b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step1.png differ diff --git a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step10.png b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step10.png index 895c38bd4..c3e8a7d12 100644 Binary files a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step10.png and b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step10.png differ diff --git a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step11.png b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step11.png index 789fd9d54..2525d611a 100644 Binary files a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step11.png and b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step11.png differ diff --git a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step12.png b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step12.png index a2b1b8ca3..f8c6fd41d 100644 Binary files a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step12.png and b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step12.png differ diff --git a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step2.png b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step2.png index d4e9d9f2f..6dcaf0357 100644 Binary files a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step2.png and b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step2.png differ diff --git a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step3.png b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step3.png index 49e984e59..6f8be3bb5 100644 Binary files a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step3.png and b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step3.png differ diff --git a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step4.png b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step4.png index df0b83e4e..b05a971a6 100644 Binary files a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step4.png and b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step4.png differ diff --git a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step5.png b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step5.png index 090e91764..852caf23a 100644 Binary files a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step5.png and b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step5.png differ diff --git a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step6.png b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step6.png index 5eb6d2db3..12f31d187 100644 Binary files a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step6.png and b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step6.png differ diff --git a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step7.png b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step7.png index ffe8d4cf1..487021f98 100644 Binary files a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step7.png and b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step7.png differ diff --git a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step8.png b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step8.png index 13572ba5d..a69d10287 100644 Binary files a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step8.png and b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step8.png differ diff --git a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step9.png b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step9.png index 64228be88..8b77dba2c 100644 Binary files a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step9.png and b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step9.png differ diff --git a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_example.png b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_example.png index 7244328c0..b05fe100d 100644 Binary files a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_example.png and b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_example.png differ diff --git a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_initial_state.png b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_initial_state.png index f7a41765b..b6a09f616 100644 Binary files a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_initial_state.png and b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_initial_state.png differ diff --git a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_state_definition.png b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_state_definition.png index 758c0b116..d954dc8a9 100644 Binary files a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_state_definition.png and b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_state_definition.png differ diff --git a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_state_transition.png b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_state_transition.png index 2b01417e2..ed2e14b54 100644 Binary files a/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_state_transition.png and b/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_state_transition.png differ diff --git a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_decision_tree.png b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_decision_tree.png index 5b67c8ace..dccb6435f 100644 Binary files a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_decision_tree.png and b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_decision_tree.png differ diff --git a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step1.png b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step1.png index afb660bee..c0d739782 100644 Binary files a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step1.png and b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step1.png differ diff --git a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step10.png b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step10.png index 4bb9ce37f..490a24f34 100644 Binary files a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step10.png and b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step10.png differ diff --git a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step11.png b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step11.png index 3756ca019..bde0d438f 100644 Binary files a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step11.png and b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step11.png differ diff --git a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step12.png b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step12.png index 78ceb86fc..592f61be3 100644 Binary files a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step12.png and b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step12.png differ diff --git a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step13.png b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step13.png index e588f024b..d14b2b3f8 100644 Binary files a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step13.png and b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step13.png differ diff --git a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step14.png b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step14.png index f31b828aa..f924a5548 100644 Binary files a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step14.png and b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step14.png differ diff --git a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step15.png b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step15.png index 44003d2ba..22fd02e96 100644 Binary files a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step15.png and b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step15.png differ diff --git a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step2.png b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step2.png index 8f069eca3..94d99c299 100644 Binary files a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step2.png and b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step2.png differ diff --git a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step3.png b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step3.png index be21b846b..803c4127a 100644 Binary files a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step3.png and b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step3.png differ diff --git a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step4.png b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step4.png index 12dbb4886..214515bbe 100644 Binary files a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step4.png and b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step4.png differ diff --git a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step5.png b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step5.png index 67ab268eb..5afef168b 100644 Binary files a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step5.png and b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step5.png differ diff --git a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step6.png b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step6.png index e8d11260a..aa95786dc 100644 Binary files a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step6.png and b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step6.png differ diff --git a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step7.png b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step7.png index beeb86ee0..5026870f3 100644 Binary files a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step7.png and b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step7.png differ diff --git a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step8.png b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step8.png index 235b7f7d2..aa10bdfd6 100644 Binary files a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step8.png and b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step8.png differ diff --git a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step9.png b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step9.png index 381571bb0..b307e6971 100644 Binary files a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step9.png and b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step9.png differ diff --git a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_example.png b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_example.png index f299b0e8d..da7239249 100644 Binary files a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_example.png and b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_example.png differ diff --git a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_state_transfer.png b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_state_transfer.png index 1f96972f3..00701371d 100644 Binary files a/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_state_transfer.png and b/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_state_transfer.png differ diff --git a/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dfs_memo_tree.png b/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dfs_memo_tree.png index 7e6d225c2..478410a5f 100644 Binary files a/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dfs_memo_tree.png and b/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dfs_memo_tree.png differ diff --git a/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dfs_tree.png b/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dfs_tree.png index 1d990be77..b7827f004 100644 Binary files a/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dfs_tree.png and b/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dfs_tree.png differ diff --git a/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dp.png b/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dp.png index f7873a6d3..11d3b98fa 100644 Binary files a/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dp.png and b/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dp.png differ diff --git a/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_example.png b/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_example.png index 6d28e6790..5cfdc668f 100644 Binary files a/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_example.png and b/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_example.png differ diff --git a/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_state_transfer.png b/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_state_transfer.png index 6b28c0930..76ce83b1b 100644 Binary files a/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_state_transfer.png and b/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_state_transfer.png differ diff --git a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dfs.png b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dfs.png index 886777113..bcdde6292 100644 Binary files a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dfs.png and b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dfs.png differ diff --git a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dfs_mem.png b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dfs_mem.png index 0441d7075..ae94c3cbc 100644 Binary files a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dfs_mem.png and b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dfs_mem.png differ diff --git a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step1.png b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step1.png index 3ed6c9391..423a4889a 100644 Binary files a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step1.png and b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step1.png differ diff --git a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step2.png b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step2.png index dfcce11bb..cd68c34a5 100644 Binary files a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step2.png and b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step2.png differ diff --git a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step3.png b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step3.png index c5892925f..1498ab67c 100644 Binary files a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step3.png and b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step3.png differ diff --git a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step4.png b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step4.png index 80eebf9b2..754bf711c 100644 Binary files a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step4.png and b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step4.png differ diff --git a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step5.png b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step5.png index cb1e4f98c..c0d6928ab 100644 Binary files a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step5.png and b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step5.png differ diff --git a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step6.png b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step6.png index 43cb3f3a9..4be4f6dbe 100644 Binary files a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step6.png and b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step6.png differ diff --git a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step1.png b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step1.png index 40987153b..68c0a980f 100644 Binary files a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step1.png and b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step1.png differ diff --git a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step10.png b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step10.png index 56eb99351..1f11e0131 100644 Binary files a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step10.png and b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step10.png differ diff --git a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step11.png b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step11.png index 87540a502..dca3484b2 100644 Binary files a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step11.png and b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step11.png differ diff --git a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step12.png b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step12.png index 02608bc6e..efd56589f 100644 Binary files a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step12.png and b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step12.png differ diff --git a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step13.png b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step13.png index 6d6bd15aa..928fa995d 100644 Binary files a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step13.png and b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step13.png differ diff --git a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step14.png b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step14.png index 6ecfe0dc9..7f68c23a3 100644 Binary files a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step14.png and b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step14.png differ diff --git a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step2.png b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step2.png index 536370ab8..17bb0165d 100644 Binary files a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step2.png and b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step2.png differ diff --git a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step3.png b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step3.png index b734ebe39..5c9e7ff5d 100644 Binary files a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step3.png and b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step3.png differ diff --git a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step4.png b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step4.png index 7a20a6023..123cd3b0d 100644 Binary files a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step4.png and b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step4.png differ diff --git a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step5.png b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step5.png index 679aefd50..fcf213179 100644 Binary files a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step5.png and b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step5.png differ diff --git a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step6.png b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step6.png index dd110cca2..7321b6704 100644 Binary files a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step6.png and b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step6.png differ diff --git a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step7.png b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step7.png index 22b487292..640043539 100644 Binary files a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step7.png and b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step7.png differ diff --git a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step8.png b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step8.png index c5877af29..5c3147d80 100644 Binary files a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step8.png and b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step8.png differ diff --git a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step9.png b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step9.png index 3f57114d0..8a1b750b5 100644 Binary files a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step9.png and b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step9.png differ diff --git a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_example.png b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_example.png index 04c59f1e7..b86845962 100644 Binary files a/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_example.png and b/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_example.png differ diff --git a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step1.png b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step1.png index ea7b6a7b3..7248720fe 100644 Binary files a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step1.png and b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step1.png differ diff --git a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step10.png b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step10.png index c15b242d4..577cb43e1 100644 Binary files a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step10.png and b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step10.png differ diff --git a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step11.png b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step11.png index 9cde92c65..53ca38748 100644 Binary files a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step11.png and b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step11.png differ diff --git a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step12.png b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step12.png index fbe96594c..cd711deb9 100644 Binary files a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step12.png and b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step12.png differ diff --git a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step13.png b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step13.png index d267d61b4..dff665f9a 100644 Binary files a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step13.png and b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step13.png differ diff --git a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step14.png b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step14.png index 87ca4b080..f04b0d43f 100644 Binary files a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step14.png and b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step14.png differ diff --git a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step15.png b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step15.png index a7e223d54..5b46f7d52 100644 Binary files a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step15.png and b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step15.png differ diff --git a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step2.png b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step2.png index e0f7f8c0b..dc08c85bd 100644 Binary files a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step2.png and b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step2.png differ diff --git a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step3.png b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step3.png index 9eaa0d4ee..a03b7113a 100644 Binary files a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step3.png and b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step3.png differ diff --git a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step4.png b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step4.png index baa2159c0..edcf11d87 100644 Binary files a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step4.png and b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step4.png differ diff --git a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step5.png b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step5.png index ee582f98a..a4df96223 100644 Binary files a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step5.png and b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step5.png differ diff --git a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step6.png b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step6.png index 6116eb082..9781555e1 100644 Binary files a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step6.png and b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step6.png differ diff --git a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step7.png b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step7.png index d9b92f07c..17e2c5429 100644 Binary files a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step7.png and b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step7.png differ diff --git a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step8.png b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step8.png index 0ae5e8d09..b46f1dfde 100644 Binary files a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step8.png and b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step8.png differ diff --git a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step9.png b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step9.png index 654fd6e6f..728cbcf86 100644 Binary files a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step9.png and b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step9.png differ diff --git a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_example.png b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_example.png index c95e0594c..c777f140b 100644 Binary files a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_example.png and b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_example.png differ diff --git a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_ii_example.png b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_ii_example.png index 2db0071db..f449a78a5 100644 Binary files a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_ii_example.png and b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_ii_example.png differ diff --git a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step1.png b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step1.png index dfa4f59fb..e45576110 100644 Binary files a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step1.png and b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step1.png differ diff --git a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step2.png b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step2.png index 259e8d20e..2c35eaf9f 100644 Binary files a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step2.png and b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step2.png differ diff --git a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step3.png b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step3.png index c3f58803e..4edaeffa4 100644 Binary files a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step3.png and b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step3.png differ diff --git a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step4.png b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step4.png index f25ff27e7..f4c6c9242 100644 Binary files a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step4.png and b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step4.png differ diff --git a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step5.png b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step5.png index 27861f808..479505e52 100644 Binary files a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step5.png and b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step5.png differ diff --git a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step6.png b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step6.png index 2974cd22d..d976b5a72 100644 Binary files a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step6.png and b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step6.png differ diff --git a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_example.png b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_example.png index 829cbd401..68763dc74 100644 Binary files a/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_example.png and b/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_example.png differ diff --git a/docs/chapter_graph/graph.assets/adjacency_list.png b/docs/chapter_graph/graph.assets/adjacency_list.png index 6be64bc17..bf41edc41 100644 Binary files a/docs/chapter_graph/graph.assets/adjacency_list.png and b/docs/chapter_graph/graph.assets/adjacency_list.png differ diff --git a/docs/chapter_graph/graph.assets/adjacency_matrix.png b/docs/chapter_graph/graph.assets/adjacency_matrix.png index a70ee0db4..c4378be23 100644 Binary files a/docs/chapter_graph/graph.assets/adjacency_matrix.png and b/docs/chapter_graph/graph.assets/adjacency_matrix.png differ diff --git a/docs/chapter_graph/graph.assets/connected_graph.png b/docs/chapter_graph/graph.assets/connected_graph.png index 3d3dc1b69..00f185352 100644 Binary files a/docs/chapter_graph/graph.assets/connected_graph.png and b/docs/chapter_graph/graph.assets/connected_graph.png differ diff --git a/docs/chapter_graph/graph.assets/directed_graph.png b/docs/chapter_graph/graph.assets/directed_graph.png index 7067e6fdf..8e0d315bd 100644 Binary files a/docs/chapter_graph/graph.assets/directed_graph.png and b/docs/chapter_graph/graph.assets/directed_graph.png differ diff --git a/docs/chapter_graph/graph.assets/linkedlist_tree_graph.png b/docs/chapter_graph/graph.assets/linkedlist_tree_graph.png index 2e3f9b7c0..2aa157587 100644 Binary files a/docs/chapter_graph/graph.assets/linkedlist_tree_graph.png and b/docs/chapter_graph/graph.assets/linkedlist_tree_graph.png differ diff --git a/docs/chapter_graph/graph.assets/weighted_graph.png b/docs/chapter_graph/graph.assets/weighted_graph.png index 63d6934d6..431001b3c 100644 Binary files a/docs/chapter_graph/graph.assets/weighted_graph.png and b/docs/chapter_graph/graph.assets/weighted_graph.png differ diff --git a/docs/chapter_graph/graph_operations.assets/adjacency_list_step1_initialization.png b/docs/chapter_graph/graph_operations.assets/adjacency_list_step1_initialization.png index c2b3af571..9cf49d62f 100644 Binary files a/docs/chapter_graph/graph_operations.assets/adjacency_list_step1_initialization.png and b/docs/chapter_graph/graph_operations.assets/adjacency_list_step1_initialization.png differ diff --git a/docs/chapter_graph/graph_operations.assets/adjacency_list_step2_add_edge.png b/docs/chapter_graph/graph_operations.assets/adjacency_list_step2_add_edge.png index 203feae86..2a9f69571 100644 Binary files a/docs/chapter_graph/graph_operations.assets/adjacency_list_step2_add_edge.png and b/docs/chapter_graph/graph_operations.assets/adjacency_list_step2_add_edge.png differ diff --git a/docs/chapter_graph/graph_operations.assets/adjacency_list_step3_remove_edge.png b/docs/chapter_graph/graph_operations.assets/adjacency_list_step3_remove_edge.png index 28138b5c0..d1619945f 100644 Binary files a/docs/chapter_graph/graph_operations.assets/adjacency_list_step3_remove_edge.png and b/docs/chapter_graph/graph_operations.assets/adjacency_list_step3_remove_edge.png differ diff --git a/docs/chapter_graph/graph_operations.assets/adjacency_list_step4_add_vertex.png b/docs/chapter_graph/graph_operations.assets/adjacency_list_step4_add_vertex.png index 7245edb97..856079ae7 100644 Binary files a/docs/chapter_graph/graph_operations.assets/adjacency_list_step4_add_vertex.png and b/docs/chapter_graph/graph_operations.assets/adjacency_list_step4_add_vertex.png differ diff --git a/docs/chapter_graph/graph_operations.assets/adjacency_list_step5_remove_vertex.png b/docs/chapter_graph/graph_operations.assets/adjacency_list_step5_remove_vertex.png index 32809ccef..b9f84bc97 100644 Binary files a/docs/chapter_graph/graph_operations.assets/adjacency_list_step5_remove_vertex.png and b/docs/chapter_graph/graph_operations.assets/adjacency_list_step5_remove_vertex.png differ diff --git a/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step1_initialization.png b/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step1_initialization.png index 75e48ce3a..90899dd6b 100644 Binary files a/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step1_initialization.png and b/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step1_initialization.png differ diff --git a/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step2_add_edge.png b/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step2_add_edge.png index 57c1f43e5..6b87a846c 100644 Binary files a/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step2_add_edge.png and b/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step2_add_edge.png differ diff --git a/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step3_remove_edge.png b/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step3_remove_edge.png index 3649321b6..7a9fdcaf0 100644 Binary files a/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step3_remove_edge.png and b/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step3_remove_edge.png differ diff --git a/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step4_add_vertex.png b/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step4_add_vertex.png index 87d03db82..16beff12b 100644 Binary files a/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step4_add_vertex.png and b/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step4_add_vertex.png differ diff --git a/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step5_remove_vertex.png b/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step5_remove_vertex.png index a468a9262..fde3e6a38 100644 Binary files a/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step5_remove_vertex.png and b/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step5_remove_vertex.png differ diff --git a/docs/chapter_graph/graph_traversal.assets/graph_bfs.png b/docs/chapter_graph/graph_traversal.assets/graph_bfs.png index 96a68291f..a5010895d 100644 Binary files a/docs/chapter_graph/graph_traversal.assets/graph_bfs.png and b/docs/chapter_graph/graph_traversal.assets/graph_bfs.png differ diff --git a/docs/chapter_graph/graph_traversal.assets/graph_bfs_step1.png b/docs/chapter_graph/graph_traversal.assets/graph_bfs_step1.png index f8a1eaa99..c1b801313 100644 Binary files a/docs/chapter_graph/graph_traversal.assets/graph_bfs_step1.png and b/docs/chapter_graph/graph_traversal.assets/graph_bfs_step1.png differ diff --git a/docs/chapter_graph/graph_traversal.assets/graph_bfs_step10.png b/docs/chapter_graph/graph_traversal.assets/graph_bfs_step10.png index a4f234f48..0c1b6fb2e 100644 Binary files a/docs/chapter_graph/graph_traversal.assets/graph_bfs_step10.png and b/docs/chapter_graph/graph_traversal.assets/graph_bfs_step10.png differ diff --git a/docs/chapter_graph/graph_traversal.assets/graph_bfs_step11.png b/docs/chapter_graph/graph_traversal.assets/graph_bfs_step11.png index 74c1a9bbd..d62bb8e64 100644 Binary files a/docs/chapter_graph/graph_traversal.assets/graph_bfs_step11.png and b/docs/chapter_graph/graph_traversal.assets/graph_bfs_step11.png differ diff --git a/docs/chapter_graph/graph_traversal.assets/graph_bfs_step2.png b/docs/chapter_graph/graph_traversal.assets/graph_bfs_step2.png index 7082c2b17..ed3fdfd88 100644 Binary files a/docs/chapter_graph/graph_traversal.assets/graph_bfs_step2.png and b/docs/chapter_graph/graph_traversal.assets/graph_bfs_step2.png differ diff --git a/docs/chapter_graph/graph_traversal.assets/graph_bfs_step3.png b/docs/chapter_graph/graph_traversal.assets/graph_bfs_step3.png index cf07cda63..3e6653f6d 100644 Binary files a/docs/chapter_graph/graph_traversal.assets/graph_bfs_step3.png and b/docs/chapter_graph/graph_traversal.assets/graph_bfs_step3.png differ diff --git a/docs/chapter_graph/graph_traversal.assets/graph_bfs_step4.png b/docs/chapter_graph/graph_traversal.assets/graph_bfs_step4.png index c29791cb8..c944e39cc 100644 Binary files a/docs/chapter_graph/graph_traversal.assets/graph_bfs_step4.png and b/docs/chapter_graph/graph_traversal.assets/graph_bfs_step4.png differ diff --git a/docs/chapter_graph/graph_traversal.assets/graph_bfs_step5.png b/docs/chapter_graph/graph_traversal.assets/graph_bfs_step5.png index 0da0025be..73da89cd5 100644 Binary files a/docs/chapter_graph/graph_traversal.assets/graph_bfs_step5.png and b/docs/chapter_graph/graph_traversal.assets/graph_bfs_step5.png differ diff --git a/docs/chapter_graph/graph_traversal.assets/graph_bfs_step6.png b/docs/chapter_graph/graph_traversal.assets/graph_bfs_step6.png index 8f0061238..d5e02d722 100644 Binary files a/docs/chapter_graph/graph_traversal.assets/graph_bfs_step6.png and b/docs/chapter_graph/graph_traversal.assets/graph_bfs_step6.png differ diff --git a/docs/chapter_graph/graph_traversal.assets/graph_bfs_step7.png b/docs/chapter_graph/graph_traversal.assets/graph_bfs_step7.png index 9714f10d8..b24a7c84c 100644 Binary files a/docs/chapter_graph/graph_traversal.assets/graph_bfs_step7.png and b/docs/chapter_graph/graph_traversal.assets/graph_bfs_step7.png differ diff --git a/docs/chapter_graph/graph_traversal.assets/graph_bfs_step8.png b/docs/chapter_graph/graph_traversal.assets/graph_bfs_step8.png index c913aadc6..022f9b580 100644 Binary files a/docs/chapter_graph/graph_traversal.assets/graph_bfs_step8.png and b/docs/chapter_graph/graph_traversal.assets/graph_bfs_step8.png differ diff --git a/docs/chapter_graph/graph_traversal.assets/graph_bfs_step9.png b/docs/chapter_graph/graph_traversal.assets/graph_bfs_step9.png index f0baca336..18038f4de 100644 Binary files a/docs/chapter_graph/graph_traversal.assets/graph_bfs_step9.png and b/docs/chapter_graph/graph_traversal.assets/graph_bfs_step9.png differ diff --git a/docs/chapter_graph/graph_traversal.assets/graph_dfs.png b/docs/chapter_graph/graph_traversal.assets/graph_dfs.png index 47939ed07..520c62c47 100644 Binary files a/docs/chapter_graph/graph_traversal.assets/graph_dfs.png and b/docs/chapter_graph/graph_traversal.assets/graph_dfs.png differ diff --git a/docs/chapter_graph/graph_traversal.assets/graph_dfs_step1.png b/docs/chapter_graph/graph_traversal.assets/graph_dfs_step1.png index 1b5c6545b..dc107c79e 100644 Binary files a/docs/chapter_graph/graph_traversal.assets/graph_dfs_step1.png and b/docs/chapter_graph/graph_traversal.assets/graph_dfs_step1.png differ diff --git a/docs/chapter_graph/graph_traversal.assets/graph_dfs_step10.png b/docs/chapter_graph/graph_traversal.assets/graph_dfs_step10.png index 1546427bd..cab49e972 100644 Binary files a/docs/chapter_graph/graph_traversal.assets/graph_dfs_step10.png and b/docs/chapter_graph/graph_traversal.assets/graph_dfs_step10.png differ diff --git a/docs/chapter_graph/graph_traversal.assets/graph_dfs_step11.png b/docs/chapter_graph/graph_traversal.assets/graph_dfs_step11.png index 7a4b0854c..2369ab2e5 100644 Binary files a/docs/chapter_graph/graph_traversal.assets/graph_dfs_step11.png and b/docs/chapter_graph/graph_traversal.assets/graph_dfs_step11.png differ diff --git a/docs/chapter_graph/graph_traversal.assets/graph_dfs_step2.png b/docs/chapter_graph/graph_traversal.assets/graph_dfs_step2.png index af2ab1451..1ad4d5259 100644 Binary files a/docs/chapter_graph/graph_traversal.assets/graph_dfs_step2.png and b/docs/chapter_graph/graph_traversal.assets/graph_dfs_step2.png differ diff --git a/docs/chapter_graph/graph_traversal.assets/graph_dfs_step3.png b/docs/chapter_graph/graph_traversal.assets/graph_dfs_step3.png index 3be25b699..ed824e54c 100644 Binary files a/docs/chapter_graph/graph_traversal.assets/graph_dfs_step3.png and b/docs/chapter_graph/graph_traversal.assets/graph_dfs_step3.png differ diff --git a/docs/chapter_graph/graph_traversal.assets/graph_dfs_step4.png b/docs/chapter_graph/graph_traversal.assets/graph_dfs_step4.png index c5a8c8810..ba0b25e09 100644 Binary files a/docs/chapter_graph/graph_traversal.assets/graph_dfs_step4.png and b/docs/chapter_graph/graph_traversal.assets/graph_dfs_step4.png differ diff --git a/docs/chapter_graph/graph_traversal.assets/graph_dfs_step5.png b/docs/chapter_graph/graph_traversal.assets/graph_dfs_step5.png index 1f12ccb5f..ea30837b7 100644 Binary files a/docs/chapter_graph/graph_traversal.assets/graph_dfs_step5.png and b/docs/chapter_graph/graph_traversal.assets/graph_dfs_step5.png differ diff --git a/docs/chapter_graph/graph_traversal.assets/graph_dfs_step6.png b/docs/chapter_graph/graph_traversal.assets/graph_dfs_step6.png index 08086c855..cbc6ebe20 100644 Binary files a/docs/chapter_graph/graph_traversal.assets/graph_dfs_step6.png and b/docs/chapter_graph/graph_traversal.assets/graph_dfs_step6.png differ diff --git a/docs/chapter_graph/graph_traversal.assets/graph_dfs_step7.png b/docs/chapter_graph/graph_traversal.assets/graph_dfs_step7.png index 61965827d..b3ae061a2 100644 Binary files a/docs/chapter_graph/graph_traversal.assets/graph_dfs_step7.png and b/docs/chapter_graph/graph_traversal.assets/graph_dfs_step7.png differ diff --git a/docs/chapter_graph/graph_traversal.assets/graph_dfs_step8.png b/docs/chapter_graph/graph_traversal.assets/graph_dfs_step8.png index d6cf543ab..05c3af862 100644 Binary files a/docs/chapter_graph/graph_traversal.assets/graph_dfs_step8.png and b/docs/chapter_graph/graph_traversal.assets/graph_dfs_step8.png differ diff --git a/docs/chapter_graph/graph_traversal.assets/graph_dfs_step9.png b/docs/chapter_graph/graph_traversal.assets/graph_dfs_step9.png index 78759442f..e4ae82368 100644 Binary files a/docs/chapter_graph/graph_traversal.assets/graph_dfs_step9.png and b/docs/chapter_graph/graph_traversal.assets/graph_dfs_step9.png differ diff --git a/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_area_chart.png b/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_area_chart.png index 28023758d..ce1a7c4df 100644 Binary files a/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_area_chart.png and b/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_area_chart.png differ diff --git a/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_example.png b/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_example.png index dc2285f6b..695cdce05 100644 Binary files a/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_example.png and b/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_example.png differ diff --git a/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_greedy_strategy.png b/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_greedy_strategy.png index 713f30add..e20df2ee9 100644 Binary files a/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_greedy_strategy.png and b/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_greedy_strategy.png differ diff --git a/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_unit_value.png b/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_unit_value.png index 7e4199ca0..7ecd9cec4 100644 Binary files a/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_unit_value.png and b/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_unit_value.png differ diff --git a/docs/chapter_greedy/greedy_algorithm.assets/coin_change_greedy_strategy.png b/docs/chapter_greedy/greedy_algorithm.assets/coin_change_greedy_strategy.png index 1f8b4e8d2..679834950 100644 Binary files a/docs/chapter_greedy/greedy_algorithm.assets/coin_change_greedy_strategy.png and b/docs/chapter_greedy/greedy_algorithm.assets/coin_change_greedy_strategy.png differ diff --git a/docs/chapter_greedy/greedy_algorithm.assets/coin_change_greedy_vs_dp.png b/docs/chapter_greedy/greedy_algorithm.assets/coin_change_greedy_vs_dp.png index d13ed01a1..55992dcc2 100644 Binary files a/docs/chapter_greedy/greedy_algorithm.assets/coin_change_greedy_vs_dp.png and b/docs/chapter_greedy/greedy_algorithm.assets/coin_change_greedy_vs_dp.png differ diff --git a/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_example.png b/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_example.png index 4d4b883dc..0f772255d 100644 Binary files a/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_example.png and b/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_example.png differ diff --git a/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step1.png b/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step1.png index 9d7f8aa6b..27149dd90 100644 Binary files a/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step1.png and b/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step1.png differ diff --git a/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step2.png b/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step2.png index 3f2a08394..8a8eea9f4 100644 Binary files a/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step2.png and b/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step2.png differ diff --git a/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step3.png b/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step3.png index 581ee2701..3eae8572c 100644 Binary files a/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step3.png and b/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step3.png differ diff --git a/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step4.png b/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step4.png index f1e6e1812..b446837bf 100644 Binary files a/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step4.png and b/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step4.png differ diff --git a/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step5.png b/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step5.png index 432619054..01e53c4c7 100644 Binary files a/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step5.png and b/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step5.png differ diff --git a/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step6.png b/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step6.png index 674fbc0a0..963133213 100644 Binary files a/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step6.png and b/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step6.png differ diff --git a/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step7.png b/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step7.png index 0a5a1c47d..1ca673a03 100644 Binary files a/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step7.png and b/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step7.png differ diff --git a/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step8.png b/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step8.png index 836ef9436..7c0cde346 100644 Binary files a/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step8.png and b/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step8.png differ diff --git a/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step9.png b/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step9.png index 22519228f..6a1add5a6 100644 Binary files a/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step9.png and b/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step9.png differ diff --git a/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_initial_state.png b/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_initial_state.png index 5ffb16406..48f2a5483 100644 Binary files a/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_initial_state.png and b/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_initial_state.png differ diff --git a/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_moving_long_board.png b/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_moving_long_board.png index cf00baaa8..5e96bd299 100644 Binary files a/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_moving_long_board.png and b/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_moving_long_board.png differ diff --git a/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_moving_short_board.png b/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_moving_short_board.png index 7f082e87a..8df73520b 100644 Binary files a/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_moving_short_board.png and b/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_moving_short_board.png differ diff --git a/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_skipped_states.png b/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_skipped_states.png index 45b3b52d0..11f7b3fc4 100644 Binary files a/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_skipped_states.png and b/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_skipped_states.png differ diff --git a/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_definition.png b/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_definition.png index fae074114..5f92fbb0a 100644 Binary files a/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_definition.png and b/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_definition.png differ diff --git a/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_calculation.png b/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_calculation.png index c8fb60a5a..0e32143f1 100644 Binary files a/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_calculation.png and b/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_calculation.png differ diff --git a/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_infer1.png b/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_infer1.png index b6d6539e3..318385ae2 100644 Binary files a/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_infer1.png and b/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_infer1.png differ diff --git a/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_infer2.png b/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_infer2.png index 0d2da2fa1..6e8da5864 100644 Binary files a/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_infer2.png and b/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_infer2.png differ diff --git a/docs/chapter_hashing/hash_algorithm.assets/hash_collision_best_worst_condition.png b/docs/chapter_hashing/hash_algorithm.assets/hash_collision_best_worst_condition.png index 91a47d0ae..f9198a067 100644 Binary files a/docs/chapter_hashing/hash_algorithm.assets/hash_collision_best_worst_condition.png and b/docs/chapter_hashing/hash_algorithm.assets/hash_collision_best_worst_condition.png differ diff --git a/docs/chapter_hashing/hash_collision.assets/hash_table_chaining.png b/docs/chapter_hashing/hash_collision.assets/hash_table_chaining.png index 1c67feeff..4bd98c682 100644 Binary files a/docs/chapter_hashing/hash_collision.assets/hash_table_chaining.png and b/docs/chapter_hashing/hash_collision.assets/hash_table_chaining.png differ diff --git a/docs/chapter_hashing/hash_collision.assets/hash_table_linear_probing.png b/docs/chapter_hashing/hash_collision.assets/hash_table_linear_probing.png index 5e1943478..583ea363c 100644 Binary files a/docs/chapter_hashing/hash_collision.assets/hash_table_linear_probing.png and b/docs/chapter_hashing/hash_collision.assets/hash_table_linear_probing.png differ diff --git a/docs/chapter_hashing/hash_collision.assets/hash_table_open_addressing_deletion.png b/docs/chapter_hashing/hash_collision.assets/hash_table_open_addressing_deletion.png index 729df3118..5725b7aeb 100644 Binary files a/docs/chapter_hashing/hash_collision.assets/hash_table_open_addressing_deletion.png and b/docs/chapter_hashing/hash_collision.assets/hash_table_open_addressing_deletion.png differ diff --git a/docs/chapter_hashing/hash_map.assets/hash_collision.png b/docs/chapter_hashing/hash_map.assets/hash_collision.png index 45f42fc2a..d06bb7444 100644 Binary files a/docs/chapter_hashing/hash_map.assets/hash_collision.png and b/docs/chapter_hashing/hash_map.assets/hash_collision.png differ diff --git a/docs/chapter_hashing/hash_map.assets/hash_function.png b/docs/chapter_hashing/hash_map.assets/hash_function.png index d89389c21..3408233d1 100644 Binary files a/docs/chapter_hashing/hash_map.assets/hash_function.png and b/docs/chapter_hashing/hash_map.assets/hash_function.png differ diff --git a/docs/chapter_hashing/hash_map.assets/hash_table_lookup.png b/docs/chapter_hashing/hash_map.assets/hash_table_lookup.png index 3df38c8b1..0be8fb1fd 100644 Binary files a/docs/chapter_hashing/hash_map.assets/hash_table_lookup.png and b/docs/chapter_hashing/hash_map.assets/hash_table_lookup.png differ diff --git a/docs/chapter_hashing/hash_map.assets/hash_table_reshash.png b/docs/chapter_hashing/hash_map.assets/hash_table_reshash.png index c00f1c20e..2fb2d6bec 100644 Binary files a/docs/chapter_hashing/hash_map.assets/hash_table_reshash.png and b/docs/chapter_hashing/hash_map.assets/hash_table_reshash.png differ diff --git a/docs/chapter_heap/build_heap.assets/heapify_operations_count.png b/docs/chapter_heap/build_heap.assets/heapify_operations_count.png index 644da4b93..96ec8894d 100644 Binary files a/docs/chapter_heap/build_heap.assets/heapify_operations_count.png and b/docs/chapter_heap/build_heap.assets/heapify_operations_count.png differ diff --git a/docs/chapter_heap/heap.assets/heap_pop_step1.png b/docs/chapter_heap/heap.assets/heap_pop_step1.png index 1f26ebab1..ff665e053 100644 Binary files a/docs/chapter_heap/heap.assets/heap_pop_step1.png and b/docs/chapter_heap/heap.assets/heap_pop_step1.png differ diff --git a/docs/chapter_heap/heap.assets/heap_pop_step10.png b/docs/chapter_heap/heap.assets/heap_pop_step10.png index 450ad9b8f..db0dc7b64 100644 Binary files a/docs/chapter_heap/heap.assets/heap_pop_step10.png and b/docs/chapter_heap/heap.assets/heap_pop_step10.png differ diff --git a/docs/chapter_heap/heap.assets/heap_pop_step2.png b/docs/chapter_heap/heap.assets/heap_pop_step2.png index a9508de71..00b8b6794 100644 Binary files a/docs/chapter_heap/heap.assets/heap_pop_step2.png and b/docs/chapter_heap/heap.assets/heap_pop_step2.png differ diff --git a/docs/chapter_heap/heap.assets/heap_pop_step3.png b/docs/chapter_heap/heap.assets/heap_pop_step3.png index 094ee661c..3664fdf39 100644 Binary files a/docs/chapter_heap/heap.assets/heap_pop_step3.png and b/docs/chapter_heap/heap.assets/heap_pop_step3.png differ diff --git a/docs/chapter_heap/heap.assets/heap_pop_step4.png b/docs/chapter_heap/heap.assets/heap_pop_step4.png index 3b3a7d25d..53894b8b7 100644 Binary files a/docs/chapter_heap/heap.assets/heap_pop_step4.png and b/docs/chapter_heap/heap.assets/heap_pop_step4.png differ diff --git a/docs/chapter_heap/heap.assets/heap_pop_step5.png b/docs/chapter_heap/heap.assets/heap_pop_step5.png index fa5d99b15..436131d53 100644 Binary files a/docs/chapter_heap/heap.assets/heap_pop_step5.png and b/docs/chapter_heap/heap.assets/heap_pop_step5.png differ diff --git a/docs/chapter_heap/heap.assets/heap_pop_step6.png b/docs/chapter_heap/heap.assets/heap_pop_step6.png index 37b35e142..7cf20c4cb 100644 Binary files a/docs/chapter_heap/heap.assets/heap_pop_step6.png and b/docs/chapter_heap/heap.assets/heap_pop_step6.png differ diff --git a/docs/chapter_heap/heap.assets/heap_pop_step7.png b/docs/chapter_heap/heap.assets/heap_pop_step7.png index 0db857869..5acde1279 100644 Binary files a/docs/chapter_heap/heap.assets/heap_pop_step7.png and b/docs/chapter_heap/heap.assets/heap_pop_step7.png differ diff --git a/docs/chapter_heap/heap.assets/heap_pop_step8.png b/docs/chapter_heap/heap.assets/heap_pop_step8.png index 8898f6829..b4a7f3ca3 100644 Binary files a/docs/chapter_heap/heap.assets/heap_pop_step8.png and b/docs/chapter_heap/heap.assets/heap_pop_step8.png differ diff --git a/docs/chapter_heap/heap.assets/heap_pop_step9.png b/docs/chapter_heap/heap.assets/heap_pop_step9.png index c06d77375..9c9a72857 100644 Binary files a/docs/chapter_heap/heap.assets/heap_pop_step9.png and b/docs/chapter_heap/heap.assets/heap_pop_step9.png differ diff --git a/docs/chapter_heap/heap.assets/heap_push_step1.png b/docs/chapter_heap/heap.assets/heap_push_step1.png index 26c5fdaac..8fdbea52b 100644 Binary files a/docs/chapter_heap/heap.assets/heap_push_step1.png and b/docs/chapter_heap/heap.assets/heap_push_step1.png differ diff --git a/docs/chapter_heap/heap.assets/heap_push_step2.png b/docs/chapter_heap/heap.assets/heap_push_step2.png index e0fbc7e83..851c4b30b 100644 Binary files a/docs/chapter_heap/heap.assets/heap_push_step2.png and b/docs/chapter_heap/heap.assets/heap_push_step2.png differ diff --git a/docs/chapter_heap/heap.assets/heap_push_step3.png b/docs/chapter_heap/heap.assets/heap_push_step3.png index 6cc315552..06c7f6d0e 100644 Binary files a/docs/chapter_heap/heap.assets/heap_push_step3.png and b/docs/chapter_heap/heap.assets/heap_push_step3.png differ diff --git a/docs/chapter_heap/heap.assets/heap_push_step4.png b/docs/chapter_heap/heap.assets/heap_push_step4.png index 91aaaf7cc..96cad0170 100644 Binary files a/docs/chapter_heap/heap.assets/heap_push_step4.png and b/docs/chapter_heap/heap.assets/heap_push_step4.png differ diff --git a/docs/chapter_heap/heap.assets/heap_push_step5.png b/docs/chapter_heap/heap.assets/heap_push_step5.png index 33bd2749c..bcf49f718 100644 Binary files a/docs/chapter_heap/heap.assets/heap_push_step5.png and b/docs/chapter_heap/heap.assets/heap_push_step5.png differ diff --git a/docs/chapter_heap/heap.assets/heap_push_step6.png b/docs/chapter_heap/heap.assets/heap_push_step6.png index 4430ae49e..5d5f59fe7 100644 Binary files a/docs/chapter_heap/heap.assets/heap_push_step6.png and b/docs/chapter_heap/heap.assets/heap_push_step6.png differ diff --git a/docs/chapter_heap/heap.assets/heap_push_step7.png b/docs/chapter_heap/heap.assets/heap_push_step7.png index b7becec5f..d31dd81ae 100644 Binary files a/docs/chapter_heap/heap.assets/heap_push_step7.png and b/docs/chapter_heap/heap.assets/heap_push_step7.png differ diff --git a/docs/chapter_heap/heap.assets/heap_push_step8.png b/docs/chapter_heap/heap.assets/heap_push_step8.png index 414aeaef1..06d98288b 100644 Binary files a/docs/chapter_heap/heap.assets/heap_push_step8.png and b/docs/chapter_heap/heap.assets/heap_push_step8.png differ diff --git a/docs/chapter_heap/heap.assets/heap_push_step9.png b/docs/chapter_heap/heap.assets/heap_push_step9.png index 14d20ceaf..e11d306c1 100644 Binary files a/docs/chapter_heap/heap.assets/heap_push_step9.png and b/docs/chapter_heap/heap.assets/heap_push_step9.png differ diff --git a/docs/chapter_heap/heap.assets/min_heap_and_max_heap.png b/docs/chapter_heap/heap.assets/min_heap_and_max_heap.png index 799f85c75..f1bbd9bd2 100644 Binary files a/docs/chapter_heap/heap.assets/min_heap_and_max_heap.png and b/docs/chapter_heap/heap.assets/min_heap_and_max_heap.png differ diff --git a/docs/chapter_heap/heap.assets/representation_of_heap.png b/docs/chapter_heap/heap.assets/representation_of_heap.png index 366ff2695..8870bfdf2 100644 Binary files a/docs/chapter_heap/heap.assets/representation_of_heap.png and b/docs/chapter_heap/heap.assets/representation_of_heap.png differ diff --git a/docs/chapter_heap/top_k.assets/top_k_heap_step1.png b/docs/chapter_heap/top_k.assets/top_k_heap_step1.png index 72ba984c7..30bfd30f0 100644 Binary files a/docs/chapter_heap/top_k.assets/top_k_heap_step1.png and b/docs/chapter_heap/top_k.assets/top_k_heap_step1.png differ diff --git a/docs/chapter_heap/top_k.assets/top_k_heap_step2.png b/docs/chapter_heap/top_k.assets/top_k_heap_step2.png index 4a518c065..f17fbf5dd 100644 Binary files a/docs/chapter_heap/top_k.assets/top_k_heap_step2.png and b/docs/chapter_heap/top_k.assets/top_k_heap_step2.png differ diff --git a/docs/chapter_heap/top_k.assets/top_k_heap_step3.png b/docs/chapter_heap/top_k.assets/top_k_heap_step3.png index 99ee5ec5c..d6b746d5b 100644 Binary files a/docs/chapter_heap/top_k.assets/top_k_heap_step3.png and b/docs/chapter_heap/top_k.assets/top_k_heap_step3.png differ diff --git a/docs/chapter_heap/top_k.assets/top_k_heap_step4.png b/docs/chapter_heap/top_k.assets/top_k_heap_step4.png index b70e2177b..f2befafc5 100644 Binary files a/docs/chapter_heap/top_k.assets/top_k_heap_step4.png and b/docs/chapter_heap/top_k.assets/top_k_heap_step4.png differ diff --git a/docs/chapter_heap/top_k.assets/top_k_heap_step5.png b/docs/chapter_heap/top_k.assets/top_k_heap_step5.png index 09620a8d5..3d1844936 100644 Binary files a/docs/chapter_heap/top_k.assets/top_k_heap_step5.png and b/docs/chapter_heap/top_k.assets/top_k_heap_step5.png differ diff --git a/docs/chapter_heap/top_k.assets/top_k_heap_step6.png b/docs/chapter_heap/top_k.assets/top_k_heap_step6.png index 44180cfd2..71a28dba5 100644 Binary files a/docs/chapter_heap/top_k.assets/top_k_heap_step6.png and b/docs/chapter_heap/top_k.assets/top_k_heap_step6.png differ diff --git a/docs/chapter_heap/top_k.assets/top_k_heap_step7.png b/docs/chapter_heap/top_k.assets/top_k_heap_step7.png index 32c07b636..c028dab0f 100644 Binary files a/docs/chapter_heap/top_k.assets/top_k_heap_step7.png and b/docs/chapter_heap/top_k.assets/top_k_heap_step7.png differ diff --git a/docs/chapter_heap/top_k.assets/top_k_heap_step8.png b/docs/chapter_heap/top_k.assets/top_k_heap_step8.png index 4510d5812..a3b153fba 100644 Binary files a/docs/chapter_heap/top_k.assets/top_k_heap_step8.png and b/docs/chapter_heap/top_k.assets/top_k_heap_step8.png differ diff --git a/docs/chapter_heap/top_k.assets/top_k_heap_step9.png b/docs/chapter_heap/top_k.assets/top_k_heap_step9.png index 804af12d2..0e6814895 100644 Binary files a/docs/chapter_heap/top_k.assets/top_k_heap_step9.png and b/docs/chapter_heap/top_k.assets/top_k_heap_step9.png differ diff --git a/docs/chapter_heap/top_k.assets/top_k_sorting.png b/docs/chapter_heap/top_k.assets/top_k_sorting.png index 3f6514c57..ce45adae6 100644 Binary files a/docs/chapter_heap/top_k.assets/top_k_sorting.png and b/docs/chapter_heap/top_k.assets/top_k_sorting.png differ diff --git a/docs/chapter_heap/top_k.assets/top_k_traversal.png b/docs/chapter_heap/top_k.assets/top_k_traversal.png index 988e26121..f339d77ba 100644 Binary files a/docs/chapter_heap/top_k.assets/top_k_traversal.png and b/docs/chapter_heap/top_k.assets/top_k_traversal.png differ diff --git a/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step1.png b/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step1.png index 83b560f9a..55e2a9802 100644 Binary files a/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step1.png and b/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step1.png differ diff --git a/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step2.png b/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step2.png index d1a95d4e4..2c46b446e 100644 Binary files a/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step2.png and b/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step2.png differ diff --git a/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step3.png b/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step3.png index 237b8dcf5..2ff4c8cf0 100644 Binary files a/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step3.png and b/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step3.png differ diff --git a/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step4.png b/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step4.png index 74a3d0fff..9725a35f8 100644 Binary files a/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step4.png and b/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step4.png differ diff --git a/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step5.png b/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step5.png index 7c4314301..5d0ee0abc 100644 Binary files a/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step5.png and b/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step5.png differ diff --git a/docs/chapter_introduction/algorithms_are_everywhere.assets/greedy_change.png b/docs/chapter_introduction/algorithms_are_everywhere.assets/greedy_change.png index fa970c15c..5ca8d47b2 100644 Binary files a/docs/chapter_introduction/algorithms_are_everywhere.assets/greedy_change.png and b/docs/chapter_introduction/algorithms_are_everywhere.assets/greedy_change.png differ diff --git a/docs/chapter_introduction/algorithms_are_everywhere.assets/playing_cards_sorting.png b/docs/chapter_introduction/algorithms_are_everywhere.assets/playing_cards_sorting.png index b22d452f2..f5a67d680 100644 Binary files a/docs/chapter_introduction/algorithms_are_everywhere.assets/playing_cards_sorting.png and b/docs/chapter_introduction/algorithms_are_everywhere.assets/playing_cards_sorting.png differ diff --git a/docs/chapter_introduction/what_is_dsa.assets/assembling_blocks.png b/docs/chapter_introduction/what_is_dsa.assets/assembling_blocks.png index d9e2065fa..6059ee7cc 100644 Binary files a/docs/chapter_introduction/what_is_dsa.assets/assembling_blocks.png and b/docs/chapter_introduction/what_is_dsa.assets/assembling_blocks.png differ diff --git a/docs/chapter_introduction/what_is_dsa.assets/relationship_between_data_structure_and_algorithm.png b/docs/chapter_introduction/what_is_dsa.assets/relationship_between_data_structure_and_algorithm.png index e088e5974..735079d10 100644 Binary files a/docs/chapter_introduction/what_is_dsa.assets/relationship_between_data_structure_and_algorithm.png and b/docs/chapter_introduction/what_is_dsa.assets/relationship_between_data_structure_and_algorithm.png differ diff --git a/docs/chapter_preface/about_the_book.md b/docs/chapter_preface/about_the_book.md index c05626c26..96464575a 100644 --- a/docs/chapter_preface/about_the_book.md +++ b/docs/chapter_preface/about_the_book.md @@ -30,12 +30,14 @@ ## 致谢 -本书在开源社区众多贡献者的共同努力下不断完善。感谢每一位投入时间与精力的撰稿人,他们是(按照 GitHub 自动生成的顺序):krahets、coderonion、Gonglja、nuomi1、Reanon、justin-tse、hpstory、danielsss、curtishd、night-cruise、S-N-O-R-L-A-X、msk397、gvenusleo、khoaxuantu、RiverTwilight、rongyi、gyt95、zhuoqinyue、K3v123、Zuoxun、mingXta、hello-ikun、FangYuan33、GN-Yu、yuelinxin、longsizhuo、Cathay-Chen、guowei-gong、xBLACKICEx、IsChristina、JoseHung、qualifier1024、QiLOL、pengchzn、Guanngxu、L-Super、WSL0809、Slone123c、lhxsm、yuan0221、what-is-me、theNefelibatas、longranger2、cy-by-side、xiongsp、JeffersonHuang、Transmigration-zhou、magentaqin、Wonderdch、malone6、xiaomiusa87、gaofer、bluebean-cloud、a16su、Shyam-Chen、nanlei、hongyun-robot、Phoenix0415、MolDuM、Nigh、he-weilai、junminhong、mgisr、iron-irax、yd-j、XiaChuerwu、XC-Zero、seven1240、SamJin98、wodray、reeswell、NI-SW、Horbin-Magician、Enlightenus、xjr7670、YangXuanyi、DullSword、boloboloda、iStig、qq909244296、jiaxianhua、wenjianmin、keshida、kilikilikid、lclc6、lwbaptx、liuxjerry、lucaswangdev、lyl625760、hts0000、gledfish、fbigm、echo1937、szu17dmy、dshlstarr、Yucao-cy、coderlef、czruby、bongbongbakudan、beintentional、ZongYangL、ZhongYuuu、luluxia、xb534、bitsmi、ElaBosak233、baagod、zhouLion、yishangzhang、yi427、yabo083、weibk、wangwang105、th1nk3r-ing、tao363、4yDX3906、syd168、steventimes、sslmj2020、smilelsb、siqyka、selear、sdshaoda、Xi-Row、popozhu、nuquist19、noobcodemaker、XiaoK29、chadyi、ZhongGuanbin、shanghai-Jerry、JackYang-hellobobo、Javesun99、lipusheng、BlindTerran、ShiMaRing、FreddieLi、FloranceYeh、iFleey、fanchenggang、gltianwen、goerll、Dr-XYZ、nedchu、curly210102、CuB3y0nd、KraHsu、CarrotDLaw、youshaoXG、bubble9um、fanenr、eagleanurag、LifeGoesOnionOnionOnion、52coder、foursevenlove、KorsChen、hezhizhen、linzeyan、ZJKung、GaochaoZhu、hopkings2008、yang-le、Evilrabbit520、Turing-1024-Lee、thomasq0、Suremotoo、Allen-Scai、Risuntsy、Richard-Zhang1019、qingpeng9802、primexiao、nidhoggfgg、1ch0、MwumLi、martinx、ZnYang2018、hugtyftg、logan-qiu、psychelzh、Keynman、KeiichiKasai 和 0130w。 +本书在开源社区众多贡献者的共同努力下不断完善。感谢每一位投入时间与精力的撰稿人,他们是(按照 GitHub 自动生成的顺序):krahets、coderonion、Gonglja、nuomi1、Reanon、justin-tse、hpstory、danielsss、curtishd、night-cruise、S-N-O-R-L-A-X、rongyi、msk397、gvenusleo、khoaxuantu、rivertwilight、K3v123、gyt95、zhuoqinyue、yuelinxin、Zuoxun、mingXta、Phoenix0415、FangYuan33、GN-Yu、longsizhuo、IsChristina、xBLACKICEx、guowei-gong、Cathay-Chen、pengchzn、QiLOL、magentaqin、hello-ikun、JoseHung、qualifier1024、thomasq0、sunshinesDL、L-Super、Guanngxu、Transmigration-zhou、WSL0809、Slone123c、lhxsm、yuan0221、what-is-me、Shyam-Chen、theNefelibatas、longranger2、codeberg-user、xiongsp、JeffersonHuang、prinpal、seven1240、Wonderdch、malone6、xiaomiusa87、gaofer、bluebean-cloud、a16su、SamJin98、hongyun-robot、nanlei、XiaChuerwu、yd-j、iron-irax、mgisr、steventimes、junminhong、heshuyue、danny900714、MolDuM、Nigh、Dr-XYZ、XC-Zero、reeswell、PXG-XPG、NI-SW、Horbin-Magician、Enlightenus、YangXuanyi、beatrix-chan、DullSword、xjr7670、jiaxianhua、qq909244296、iStig、boloboloda、hts0000、gledfish、wenjianmin、keshida、kilikilikid、lclc6、lwbaptx、linyejoe2、liuxjerry、llql1211、fbigm、echo1937、szu17dmy、dshlstarr、Yucao-cy、coderlef、czruby、bongbongbakudan、beintentional、ZongYangL、ZhongYuuu、ZhongGuanbin、hezhizhen、linzeyan、ZJKung、luluxia、xb534、ztkuaikuai、yw-1021、ElaBosak233、baagod、zhouLion、yishangzhang、yi427、yanedie、yabo083、weibk、wangwang105、th1nk3r-ing、tao363、4yDX3906、syd168、sslmj2020、smilelsb、siqyka、selear、sdshaoda、Xi-Row、popozhu、nuquist19、noobcodemaker、XiaoK29、chadyi、lyl625760、lucaswangdev、0130w、shanghai-Jerry、EJackYang、Javesun99、eltociear、lipusheng、KNChiu、BlindTerran、ShiMaRing、lovelock、FreddieLi、FloranceYeh、fanchenggang、gltianwen、goerll、nedchu、curly210102、CuB3y0nd、KraHsu、CarrotDLaw、youshaoXG、bubble9um、Asashishi、Asa0oo0o0o、fanenr、eagleanurag、akshiterate、52coder、foursevenlove、KorsChen、GaochaoZhu、hopkings2008、yang-le、realwujing、Evilrabbit520、Umer-Jahangir、Turing-1024-Lee、Suremotoo、paoxiaomooo、Chieko-Seren、Allen-Scai、ymmmas、Risuntsy、Richard-Zhang1019、RafaelCaso、qingpeng9802、primexiao、Urbaner3、zhongfq、nidhoggfgg、MwumLi、CreatorMetaSky、martinx、ZnYang2018、hugtyftg、logan-qiu、psychelzh、Keynman、KeiichiKasai 和 KawaiiAsh。 本书的代码审阅工作由 coderonion、curtishd、Gonglja、gvenusleo、hpstory、justin-tse、khoaxuantu、krahets、night-cruise、nuomi1、Reanon 和 rongyi 完成(按照首字母顺序排列)。感谢他们付出的时间与精力,正是他们确保了各语言代码的规范与统一。 本书的繁体中文版由 Shyam-Chen 和 Dr-XYZ 审阅,英文版由 yuelinxin、K3v123、QiLOL、Phoenix0415、SamJin98、yanedie、RafaelCaso、pengchzn、thomasq0 和 magentaqin 审阅。正是因为他们的持续贡献,这本书才能够服务于更广泛的读者群体,感谢他们。 +本书的 ePub 电子书生成工具由 zhongfq 开发。感谢他的贡献,为读者提供了更加自由的阅读方式。 + 在本书的创作过程中,我得到了许多人的帮助。 - 感谢我在公司的导师李汐博士,在一次畅谈中你鼓励我“快行动起来”,坚定了我写这本书的决心; diff --git a/docs/chapter_preface/suggestions.assets/code_md_to_repo.png b/docs/chapter_preface/suggestions.assets/code_md_to_repo.png index 360f2eea9..6238d9e75 100644 Binary files a/docs/chapter_preface/suggestions.assets/code_md_to_repo.png and b/docs/chapter_preface/suggestions.assets/code_md_to_repo.png differ diff --git a/docs/chapter_preface/suggestions.assets/learning_route.png b/docs/chapter_preface/suggestions.assets/learning_route.png index d7986b433..70049014e 100644 Binary files a/docs/chapter_preface/suggestions.assets/learning_route.png and b/docs/chapter_preface/suggestions.assets/learning_route.png differ diff --git a/docs/chapter_searching/binary_search.assets/binary_search_example.png b/docs/chapter_searching/binary_search.assets/binary_search_example.png index 9051addbd..0022abb3f 100644 Binary files a/docs/chapter_searching/binary_search.assets/binary_search_example.png and b/docs/chapter_searching/binary_search.assets/binary_search_example.png differ diff --git a/docs/chapter_searching/binary_search.assets/binary_search_ranges.png b/docs/chapter_searching/binary_search.assets/binary_search_ranges.png index 93bc6a324..b75e0886c 100644 Binary files a/docs/chapter_searching/binary_search.assets/binary_search_ranges.png and b/docs/chapter_searching/binary_search.assets/binary_search_ranges.png differ diff --git a/docs/chapter_searching/binary_search.assets/binary_search_step1.png b/docs/chapter_searching/binary_search.assets/binary_search_step1.png index 2b3d7af3c..37694e674 100644 Binary files a/docs/chapter_searching/binary_search.assets/binary_search_step1.png and b/docs/chapter_searching/binary_search.assets/binary_search_step1.png differ diff --git a/docs/chapter_searching/binary_search.assets/binary_search_step2.png b/docs/chapter_searching/binary_search.assets/binary_search_step2.png index 606373006..812b753f6 100644 Binary files a/docs/chapter_searching/binary_search.assets/binary_search_step2.png and b/docs/chapter_searching/binary_search.assets/binary_search_step2.png differ diff --git a/docs/chapter_searching/binary_search.assets/binary_search_step3.png b/docs/chapter_searching/binary_search.assets/binary_search_step3.png index 0184c3a23..d91745d1d 100644 Binary files a/docs/chapter_searching/binary_search.assets/binary_search_step3.png and b/docs/chapter_searching/binary_search.assets/binary_search_step3.png differ diff --git a/docs/chapter_searching/binary_search.assets/binary_search_step4.png b/docs/chapter_searching/binary_search.assets/binary_search_step4.png index 54e8e12c3..960237a50 100644 Binary files a/docs/chapter_searching/binary_search.assets/binary_search_step4.png and b/docs/chapter_searching/binary_search.assets/binary_search_step4.png differ diff --git a/docs/chapter_searching/binary_search.assets/binary_search_step5.png b/docs/chapter_searching/binary_search.assets/binary_search_step5.png index 9f57fb75b..8ec2a1dfc 100644 Binary files a/docs/chapter_searching/binary_search.assets/binary_search_step5.png and b/docs/chapter_searching/binary_search.assets/binary_search_step5.png differ diff --git a/docs/chapter_searching/binary_search.assets/binary_search_step6.png b/docs/chapter_searching/binary_search.assets/binary_search_step6.png index 8a9e4e436..bf18795eb 100644 Binary files a/docs/chapter_searching/binary_search.assets/binary_search_step6.png and b/docs/chapter_searching/binary_search.assets/binary_search_step6.png differ diff --git a/docs/chapter_searching/binary_search.assets/binary_search_step7.png b/docs/chapter_searching/binary_search.assets/binary_search_step7.png index 293a87837..02033eea2 100644 Binary files a/docs/chapter_searching/binary_search.assets/binary_search_step7.png and b/docs/chapter_searching/binary_search.assets/binary_search_step7.png differ diff --git a/docs/chapter_searching/binary_search_edge.assets/binary_search_edge_by_element.png b/docs/chapter_searching/binary_search_edge.assets/binary_search_edge_by_element.png index b2799062a..330a1b887 100644 Binary files a/docs/chapter_searching/binary_search_edge.assets/binary_search_edge_by_element.png and b/docs/chapter_searching/binary_search_edge.assets/binary_search_edge_by_element.png differ diff --git a/docs/chapter_searching/binary_search_edge.assets/binary_search_right_edge_by_left_edge.png b/docs/chapter_searching/binary_search_edge.assets/binary_search_right_edge_by_left_edge.png index 6f10b838e..fec02168b 100644 Binary files a/docs/chapter_searching/binary_search_edge.assets/binary_search_right_edge_by_left_edge.png and b/docs/chapter_searching/binary_search_edge.assets/binary_search_right_edge_by_left_edge.png differ diff --git a/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_example.png b/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_example.png index 3803db33d..31cdb1ca5 100644 Binary files a/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_example.png and b/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_example.png differ diff --git a/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_naive.png b/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_naive.png index b47ffd79a..096a2ca15 100644 Binary files a/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_naive.png and b/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_naive.png differ diff --git a/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step1.png b/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step1.png index 7717114a2..833896f53 100644 Binary files a/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step1.png and b/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step1.png differ diff --git a/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step2.png b/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step2.png index 13b9fec08..7f6b2552e 100644 Binary files a/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step2.png and b/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step2.png differ diff --git a/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step3.png b/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step3.png index 4f26ada24..14719ad02 100644 Binary files a/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step3.png and b/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step3.png differ diff --git a/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step4.png b/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step4.png index 262aebc6d..aa9d9af3a 100644 Binary files a/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step4.png and b/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step4.png differ diff --git a/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step5.png b/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step5.png index 2c739e9f2..5cef45bff 100644 Binary files a/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step5.png and b/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step5.png differ diff --git a/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step6.png b/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step6.png index 56433a013..833b04336 100644 Binary files a/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step6.png and b/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step6.png differ diff --git a/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step7.png b/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step7.png index 127eb70fc..8244a737b 100644 Binary files a/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step7.png and b/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step7.png differ diff --git a/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step8.png b/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step8.png index d322ffc3c..0092bd044 100644 Binary files a/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step8.png and b/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step8.png differ diff --git a/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_brute_force.png b/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_brute_force.png index a9db1579d..44abbbd3f 100644 Binary files a/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_brute_force.png and b/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_brute_force.png differ diff --git a/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step1.png b/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step1.png index df323dd41..3d5b77184 100644 Binary files a/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step1.png and b/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step1.png differ diff --git a/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step2.png b/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step2.png index bed0ac02f..abf8da93f 100644 Binary files a/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step2.png and b/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step2.png differ diff --git a/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step3.png b/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step3.png index accf61def..da576a822 100644 Binary files a/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step3.png and b/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step3.png differ diff --git a/docs/chapter_searching/searching_algorithm_revisited.assets/searching_algorithms.png b/docs/chapter_searching/searching_algorithm_revisited.assets/searching_algorithms.png index fff1066ff..ab7e34065 100644 Binary files a/docs/chapter_searching/searching_algorithm_revisited.assets/searching_algorithms.png and b/docs/chapter_searching/searching_algorithm_revisited.assets/searching_algorithms.png differ diff --git a/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step1.png b/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step1.png index 7c53d16c7..b90dc6521 100644 Binary files a/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step1.png and b/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step1.png differ diff --git a/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step2.png b/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step2.png index 1387819b0..9ec067980 100644 Binary files a/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step2.png and b/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step2.png differ diff --git a/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step3.png b/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step3.png index dd5953407..d4756ee00 100644 Binary files a/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step3.png and b/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step3.png differ diff --git a/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step4.png b/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step4.png index cc63734ff..94c7afa2b 100644 Binary files a/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step4.png and b/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step4.png differ diff --git a/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step5.png b/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step5.png index 96623a708..497ecf0d5 100644 Binary files a/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step5.png and b/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step5.png differ diff --git a/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step6.png b/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step6.png index 56ec7c2d3..b48549308 100644 Binary files a/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step6.png and b/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step6.png differ diff --git a/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step7.png b/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step7.png index 49e1ee3b0..6e5f70ca5 100644 Binary files a/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step7.png and b/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step7.png differ diff --git a/docs/chapter_sorting/bubble_sort.assets/bubble_sort_overview.png b/docs/chapter_sorting/bubble_sort.assets/bubble_sort_overview.png index c88959ef1..5f3f9c4e7 100644 Binary files a/docs/chapter_sorting/bubble_sort.assets/bubble_sort_overview.png and b/docs/chapter_sorting/bubble_sort.assets/bubble_sort_overview.png differ diff --git a/docs/chapter_sorting/bucket_sort.assets/bucket_sort_overview.png b/docs/chapter_sorting/bucket_sort.assets/bucket_sort_overview.png index 4a3886e8d..83f0f474c 100644 Binary files a/docs/chapter_sorting/bucket_sort.assets/bucket_sort_overview.png and b/docs/chapter_sorting/bucket_sort.assets/bucket_sort_overview.png differ diff --git a/docs/chapter_sorting/bucket_sort.assets/scatter_in_buckets_distribution.png b/docs/chapter_sorting/bucket_sort.assets/scatter_in_buckets_distribution.png index 2b52627a9..f19eb4565 100644 Binary files a/docs/chapter_sorting/bucket_sort.assets/scatter_in_buckets_distribution.png and b/docs/chapter_sorting/bucket_sort.assets/scatter_in_buckets_distribution.png differ diff --git a/docs/chapter_sorting/bucket_sort.assets/scatter_in_buckets_recursively.png b/docs/chapter_sorting/bucket_sort.assets/scatter_in_buckets_recursively.png index 9c4d02353..ff227f96c 100644 Binary files a/docs/chapter_sorting/bucket_sort.assets/scatter_in_buckets_recursively.png and b/docs/chapter_sorting/bucket_sort.assets/scatter_in_buckets_recursively.png differ diff --git a/docs/chapter_sorting/counting_sort.assets/counting_sort_overview.png b/docs/chapter_sorting/counting_sort.assets/counting_sort_overview.png index fff7c7814..2abe5c77b 100644 Binary files a/docs/chapter_sorting/counting_sort.assets/counting_sort_overview.png and b/docs/chapter_sorting/counting_sort.assets/counting_sort_overview.png differ diff --git a/docs/chapter_sorting/counting_sort.assets/counting_sort_step1.png b/docs/chapter_sorting/counting_sort.assets/counting_sort_step1.png index b7f5e6833..c9778cd47 100644 Binary files a/docs/chapter_sorting/counting_sort.assets/counting_sort_step1.png and b/docs/chapter_sorting/counting_sort.assets/counting_sort_step1.png differ diff --git a/docs/chapter_sorting/counting_sort.assets/counting_sort_step2.png b/docs/chapter_sorting/counting_sort.assets/counting_sort_step2.png index b054b7bdb..74141b25f 100644 Binary files a/docs/chapter_sorting/counting_sort.assets/counting_sort_step2.png and b/docs/chapter_sorting/counting_sort.assets/counting_sort_step2.png differ diff --git a/docs/chapter_sorting/counting_sort.assets/counting_sort_step3.png b/docs/chapter_sorting/counting_sort.assets/counting_sort_step3.png index 63987089b..fd4468e9b 100644 Binary files a/docs/chapter_sorting/counting_sort.assets/counting_sort_step3.png and b/docs/chapter_sorting/counting_sort.assets/counting_sort_step3.png differ diff --git a/docs/chapter_sorting/counting_sort.assets/counting_sort_step4.png b/docs/chapter_sorting/counting_sort.assets/counting_sort_step4.png index afa7993d1..32e60ba9a 100644 Binary files a/docs/chapter_sorting/counting_sort.assets/counting_sort_step4.png and b/docs/chapter_sorting/counting_sort.assets/counting_sort_step4.png differ diff --git a/docs/chapter_sorting/counting_sort.assets/counting_sort_step5.png b/docs/chapter_sorting/counting_sort.assets/counting_sort_step5.png index cc92259e5..96618313a 100644 Binary files a/docs/chapter_sorting/counting_sort.assets/counting_sort_step5.png and b/docs/chapter_sorting/counting_sort.assets/counting_sort_step5.png differ diff --git a/docs/chapter_sorting/counting_sort.assets/counting_sort_step6.png b/docs/chapter_sorting/counting_sort.assets/counting_sort_step6.png index f77fc7c99..013baf768 100644 Binary files a/docs/chapter_sorting/counting_sort.assets/counting_sort_step6.png and b/docs/chapter_sorting/counting_sort.assets/counting_sort_step6.png differ diff --git a/docs/chapter_sorting/counting_sort.assets/counting_sort_step7.png b/docs/chapter_sorting/counting_sort.assets/counting_sort_step7.png index 5ab818a65..95e8cd706 100644 Binary files a/docs/chapter_sorting/counting_sort.assets/counting_sort_step7.png and b/docs/chapter_sorting/counting_sort.assets/counting_sort_step7.png differ diff --git a/docs/chapter_sorting/counting_sort.assets/counting_sort_step8.png b/docs/chapter_sorting/counting_sort.assets/counting_sort_step8.png index 33ed7550b..dc55ef302 100644 Binary files a/docs/chapter_sorting/counting_sort.assets/counting_sort_step8.png and b/docs/chapter_sorting/counting_sort.assets/counting_sort_step8.png differ diff --git a/docs/chapter_sorting/heap_sort.assets/heap_sort_step1.png b/docs/chapter_sorting/heap_sort.assets/heap_sort_step1.png index f634af76c..850de508e 100644 Binary files a/docs/chapter_sorting/heap_sort.assets/heap_sort_step1.png and b/docs/chapter_sorting/heap_sort.assets/heap_sort_step1.png differ diff --git a/docs/chapter_sorting/heap_sort.assets/heap_sort_step10.png b/docs/chapter_sorting/heap_sort.assets/heap_sort_step10.png index e3997706a..132e1e574 100644 Binary files a/docs/chapter_sorting/heap_sort.assets/heap_sort_step10.png and b/docs/chapter_sorting/heap_sort.assets/heap_sort_step10.png differ diff --git a/docs/chapter_sorting/heap_sort.assets/heap_sort_step11.png b/docs/chapter_sorting/heap_sort.assets/heap_sort_step11.png index a857ddca4..3e9877b15 100644 Binary files a/docs/chapter_sorting/heap_sort.assets/heap_sort_step11.png and b/docs/chapter_sorting/heap_sort.assets/heap_sort_step11.png differ diff --git a/docs/chapter_sorting/heap_sort.assets/heap_sort_step12.png b/docs/chapter_sorting/heap_sort.assets/heap_sort_step12.png index ee9c1a062..c19243321 100644 Binary files a/docs/chapter_sorting/heap_sort.assets/heap_sort_step12.png and b/docs/chapter_sorting/heap_sort.assets/heap_sort_step12.png differ diff --git a/docs/chapter_sorting/heap_sort.assets/heap_sort_step2.png b/docs/chapter_sorting/heap_sort.assets/heap_sort_step2.png index bd5c2d9cc..d423ffd53 100644 Binary files a/docs/chapter_sorting/heap_sort.assets/heap_sort_step2.png and b/docs/chapter_sorting/heap_sort.assets/heap_sort_step2.png differ diff --git a/docs/chapter_sorting/heap_sort.assets/heap_sort_step3.png b/docs/chapter_sorting/heap_sort.assets/heap_sort_step3.png index ec761049e..975908060 100644 Binary files a/docs/chapter_sorting/heap_sort.assets/heap_sort_step3.png and b/docs/chapter_sorting/heap_sort.assets/heap_sort_step3.png differ diff --git a/docs/chapter_sorting/heap_sort.assets/heap_sort_step4.png b/docs/chapter_sorting/heap_sort.assets/heap_sort_step4.png index fea98499d..f77ecc821 100644 Binary files a/docs/chapter_sorting/heap_sort.assets/heap_sort_step4.png and b/docs/chapter_sorting/heap_sort.assets/heap_sort_step4.png differ diff --git a/docs/chapter_sorting/heap_sort.assets/heap_sort_step5.png b/docs/chapter_sorting/heap_sort.assets/heap_sort_step5.png index 6a8de4c5e..642543a54 100644 Binary files a/docs/chapter_sorting/heap_sort.assets/heap_sort_step5.png and b/docs/chapter_sorting/heap_sort.assets/heap_sort_step5.png differ diff --git a/docs/chapter_sorting/heap_sort.assets/heap_sort_step6.png b/docs/chapter_sorting/heap_sort.assets/heap_sort_step6.png index 61656286b..4566783b1 100644 Binary files a/docs/chapter_sorting/heap_sort.assets/heap_sort_step6.png and b/docs/chapter_sorting/heap_sort.assets/heap_sort_step6.png differ diff --git a/docs/chapter_sorting/heap_sort.assets/heap_sort_step7.png b/docs/chapter_sorting/heap_sort.assets/heap_sort_step7.png index 9b938dd6e..af7443291 100644 Binary files a/docs/chapter_sorting/heap_sort.assets/heap_sort_step7.png and b/docs/chapter_sorting/heap_sort.assets/heap_sort_step7.png differ diff --git a/docs/chapter_sorting/heap_sort.assets/heap_sort_step8.png b/docs/chapter_sorting/heap_sort.assets/heap_sort_step8.png index 2c61e8bb8..a910f5c52 100644 Binary files a/docs/chapter_sorting/heap_sort.assets/heap_sort_step8.png and b/docs/chapter_sorting/heap_sort.assets/heap_sort_step8.png differ diff --git a/docs/chapter_sorting/heap_sort.assets/heap_sort_step9.png b/docs/chapter_sorting/heap_sort.assets/heap_sort_step9.png index 1cb96c815..a1b33ca4b 100644 Binary files a/docs/chapter_sorting/heap_sort.assets/heap_sort_step9.png and b/docs/chapter_sorting/heap_sort.assets/heap_sort_step9.png differ diff --git a/docs/chapter_sorting/insertion_sort.assets/insertion_operation.png b/docs/chapter_sorting/insertion_sort.assets/insertion_operation.png index c6806c0ea..d0bec882b 100644 Binary files a/docs/chapter_sorting/insertion_sort.assets/insertion_operation.png and b/docs/chapter_sorting/insertion_sort.assets/insertion_operation.png differ diff --git a/docs/chapter_sorting/insertion_sort.assets/insertion_sort_overview.png b/docs/chapter_sorting/insertion_sort.assets/insertion_sort_overview.png index f3fd0486e..45d7adba2 100644 Binary files a/docs/chapter_sorting/insertion_sort.assets/insertion_sort_overview.png and b/docs/chapter_sorting/insertion_sort.assets/insertion_sort_overview.png differ diff --git a/docs/chapter_sorting/merge_sort.assets/merge_sort_overview.png b/docs/chapter_sorting/merge_sort.assets/merge_sort_overview.png index 7e71adce4..aa61c3b0e 100644 Binary files a/docs/chapter_sorting/merge_sort.assets/merge_sort_overview.png and b/docs/chapter_sorting/merge_sort.assets/merge_sort_overview.png differ diff --git a/docs/chapter_sorting/merge_sort.assets/merge_sort_step1.png b/docs/chapter_sorting/merge_sort.assets/merge_sort_step1.png index 34d567f0c..a9a3c8030 100644 Binary files a/docs/chapter_sorting/merge_sort.assets/merge_sort_step1.png and b/docs/chapter_sorting/merge_sort.assets/merge_sort_step1.png differ diff --git a/docs/chapter_sorting/merge_sort.assets/merge_sort_step10.png b/docs/chapter_sorting/merge_sort.assets/merge_sort_step10.png index c870f0466..7897c5e0e 100644 Binary files a/docs/chapter_sorting/merge_sort.assets/merge_sort_step10.png and b/docs/chapter_sorting/merge_sort.assets/merge_sort_step10.png differ diff --git a/docs/chapter_sorting/merge_sort.assets/merge_sort_step2.png b/docs/chapter_sorting/merge_sort.assets/merge_sort_step2.png index 4e8d1e809..10520b37b 100644 Binary files a/docs/chapter_sorting/merge_sort.assets/merge_sort_step2.png and b/docs/chapter_sorting/merge_sort.assets/merge_sort_step2.png differ diff --git a/docs/chapter_sorting/merge_sort.assets/merge_sort_step3.png b/docs/chapter_sorting/merge_sort.assets/merge_sort_step3.png index c25844dca..9f4952c15 100644 Binary files a/docs/chapter_sorting/merge_sort.assets/merge_sort_step3.png and b/docs/chapter_sorting/merge_sort.assets/merge_sort_step3.png differ diff --git a/docs/chapter_sorting/merge_sort.assets/merge_sort_step4.png b/docs/chapter_sorting/merge_sort.assets/merge_sort_step4.png index 890a0e497..6bc2ce74b 100644 Binary files a/docs/chapter_sorting/merge_sort.assets/merge_sort_step4.png and b/docs/chapter_sorting/merge_sort.assets/merge_sort_step4.png differ diff --git a/docs/chapter_sorting/merge_sort.assets/merge_sort_step5.png b/docs/chapter_sorting/merge_sort.assets/merge_sort_step5.png index 67a3d8808..8be5fefb5 100644 Binary files a/docs/chapter_sorting/merge_sort.assets/merge_sort_step5.png and b/docs/chapter_sorting/merge_sort.assets/merge_sort_step5.png differ diff --git a/docs/chapter_sorting/merge_sort.assets/merge_sort_step6.png b/docs/chapter_sorting/merge_sort.assets/merge_sort_step6.png index 1aa7dcfca..be4f708aa 100644 Binary files a/docs/chapter_sorting/merge_sort.assets/merge_sort_step6.png and b/docs/chapter_sorting/merge_sort.assets/merge_sort_step6.png differ diff --git a/docs/chapter_sorting/merge_sort.assets/merge_sort_step7.png b/docs/chapter_sorting/merge_sort.assets/merge_sort_step7.png index c8d94c13b..94fef5f8d 100644 Binary files a/docs/chapter_sorting/merge_sort.assets/merge_sort_step7.png and b/docs/chapter_sorting/merge_sort.assets/merge_sort_step7.png differ diff --git a/docs/chapter_sorting/merge_sort.assets/merge_sort_step8.png b/docs/chapter_sorting/merge_sort.assets/merge_sort_step8.png index a25be5c34..188d4d296 100644 Binary files a/docs/chapter_sorting/merge_sort.assets/merge_sort_step8.png and b/docs/chapter_sorting/merge_sort.assets/merge_sort_step8.png differ diff --git a/docs/chapter_sorting/merge_sort.assets/merge_sort_step9.png b/docs/chapter_sorting/merge_sort.assets/merge_sort_step9.png index 129d4506f..1da45195d 100644 Binary files a/docs/chapter_sorting/merge_sort.assets/merge_sort_step9.png and b/docs/chapter_sorting/merge_sort.assets/merge_sort_step9.png differ diff --git a/docs/chapter_sorting/quick_sort.assets/pivot_division_step1.png b/docs/chapter_sorting/quick_sort.assets/pivot_division_step1.png index 242ff0d0a..b3b9312a1 100644 Binary files a/docs/chapter_sorting/quick_sort.assets/pivot_division_step1.png and b/docs/chapter_sorting/quick_sort.assets/pivot_division_step1.png differ diff --git a/docs/chapter_sorting/quick_sort.assets/pivot_division_step2.png b/docs/chapter_sorting/quick_sort.assets/pivot_division_step2.png index 27a829600..6175b010b 100644 Binary files a/docs/chapter_sorting/quick_sort.assets/pivot_division_step2.png and b/docs/chapter_sorting/quick_sort.assets/pivot_division_step2.png differ diff --git a/docs/chapter_sorting/quick_sort.assets/pivot_division_step3.png b/docs/chapter_sorting/quick_sort.assets/pivot_division_step3.png index 44a80612d..9ba53b3cd 100644 Binary files a/docs/chapter_sorting/quick_sort.assets/pivot_division_step3.png and b/docs/chapter_sorting/quick_sort.assets/pivot_division_step3.png differ diff --git a/docs/chapter_sorting/quick_sort.assets/pivot_division_step4.png b/docs/chapter_sorting/quick_sort.assets/pivot_division_step4.png index 41af01122..4f43c6823 100644 Binary files a/docs/chapter_sorting/quick_sort.assets/pivot_division_step4.png and b/docs/chapter_sorting/quick_sort.assets/pivot_division_step4.png differ diff --git a/docs/chapter_sorting/quick_sort.assets/pivot_division_step5.png b/docs/chapter_sorting/quick_sort.assets/pivot_division_step5.png index 721cd8db7..7d98a20be 100644 Binary files a/docs/chapter_sorting/quick_sort.assets/pivot_division_step5.png and b/docs/chapter_sorting/quick_sort.assets/pivot_division_step5.png differ diff --git a/docs/chapter_sorting/quick_sort.assets/pivot_division_step6.png b/docs/chapter_sorting/quick_sort.assets/pivot_division_step6.png index 546d67a58..365996acf 100644 Binary files a/docs/chapter_sorting/quick_sort.assets/pivot_division_step6.png and b/docs/chapter_sorting/quick_sort.assets/pivot_division_step6.png differ diff --git a/docs/chapter_sorting/quick_sort.assets/pivot_division_step7.png b/docs/chapter_sorting/quick_sort.assets/pivot_division_step7.png index 44975cc82..58f4d4927 100644 Binary files a/docs/chapter_sorting/quick_sort.assets/pivot_division_step7.png and b/docs/chapter_sorting/quick_sort.assets/pivot_division_step7.png differ diff --git a/docs/chapter_sorting/quick_sort.assets/pivot_division_step8.png b/docs/chapter_sorting/quick_sort.assets/pivot_division_step8.png index ad2014f8d..9148a90f2 100644 Binary files a/docs/chapter_sorting/quick_sort.assets/pivot_division_step8.png and b/docs/chapter_sorting/quick_sort.assets/pivot_division_step8.png differ diff --git a/docs/chapter_sorting/quick_sort.assets/pivot_division_step9.png b/docs/chapter_sorting/quick_sort.assets/pivot_division_step9.png index e226b88be..bde04b348 100644 Binary files a/docs/chapter_sorting/quick_sort.assets/pivot_division_step9.png and b/docs/chapter_sorting/quick_sort.assets/pivot_division_step9.png differ diff --git a/docs/chapter_sorting/quick_sort.assets/quick_sort_overview.png b/docs/chapter_sorting/quick_sort.assets/quick_sort_overview.png index 2e82a4b8e..104188007 100644 Binary files a/docs/chapter_sorting/quick_sort.assets/quick_sort_overview.png and b/docs/chapter_sorting/quick_sort.assets/quick_sort_overview.png differ diff --git a/docs/chapter_sorting/radix_sort.assets/radix_sort_overview.png b/docs/chapter_sorting/radix_sort.assets/radix_sort_overview.png index e123cb73b..efc0ba5de 100644 Binary files a/docs/chapter_sorting/radix_sort.assets/radix_sort_overview.png and b/docs/chapter_sorting/radix_sort.assets/radix_sort_overview.png differ diff --git a/docs/chapter_sorting/selection_sort.assets/selection_sort_instability.png b/docs/chapter_sorting/selection_sort.assets/selection_sort_instability.png index e3c1de0db..04fe5f411 100644 Binary files a/docs/chapter_sorting/selection_sort.assets/selection_sort_instability.png and b/docs/chapter_sorting/selection_sort.assets/selection_sort_instability.png differ diff --git a/docs/chapter_sorting/selection_sort.assets/selection_sort_step1.png b/docs/chapter_sorting/selection_sort.assets/selection_sort_step1.png index f540c6d54..d3505a12c 100644 Binary files a/docs/chapter_sorting/selection_sort.assets/selection_sort_step1.png and b/docs/chapter_sorting/selection_sort.assets/selection_sort_step1.png differ diff --git a/docs/chapter_sorting/selection_sort.assets/selection_sort_step10.png b/docs/chapter_sorting/selection_sort.assets/selection_sort_step10.png index d99b29370..f15e2451c 100644 Binary files a/docs/chapter_sorting/selection_sort.assets/selection_sort_step10.png and b/docs/chapter_sorting/selection_sort.assets/selection_sort_step10.png differ diff --git a/docs/chapter_sorting/selection_sort.assets/selection_sort_step11.png b/docs/chapter_sorting/selection_sort.assets/selection_sort_step11.png index 9fd1494a4..4ed5e3b40 100644 Binary files a/docs/chapter_sorting/selection_sort.assets/selection_sort_step11.png and b/docs/chapter_sorting/selection_sort.assets/selection_sort_step11.png differ diff --git a/docs/chapter_sorting/selection_sort.assets/selection_sort_step2.png b/docs/chapter_sorting/selection_sort.assets/selection_sort_step2.png index e89584925..dd0267875 100644 Binary files a/docs/chapter_sorting/selection_sort.assets/selection_sort_step2.png and b/docs/chapter_sorting/selection_sort.assets/selection_sort_step2.png differ diff --git a/docs/chapter_sorting/selection_sort.assets/selection_sort_step3.png b/docs/chapter_sorting/selection_sort.assets/selection_sort_step3.png index 31a5db2da..2cb13540b 100644 Binary files a/docs/chapter_sorting/selection_sort.assets/selection_sort_step3.png and b/docs/chapter_sorting/selection_sort.assets/selection_sort_step3.png differ diff --git a/docs/chapter_sorting/selection_sort.assets/selection_sort_step4.png b/docs/chapter_sorting/selection_sort.assets/selection_sort_step4.png index ff5e1d719..18427ac7e 100644 Binary files a/docs/chapter_sorting/selection_sort.assets/selection_sort_step4.png and b/docs/chapter_sorting/selection_sort.assets/selection_sort_step4.png differ diff --git a/docs/chapter_sorting/selection_sort.assets/selection_sort_step5.png b/docs/chapter_sorting/selection_sort.assets/selection_sort_step5.png index e482839f7..fa54c975f 100644 Binary files a/docs/chapter_sorting/selection_sort.assets/selection_sort_step5.png and b/docs/chapter_sorting/selection_sort.assets/selection_sort_step5.png differ diff --git a/docs/chapter_sorting/selection_sort.assets/selection_sort_step6.png b/docs/chapter_sorting/selection_sort.assets/selection_sort_step6.png index 1f33c582b..e63e92d62 100644 Binary files a/docs/chapter_sorting/selection_sort.assets/selection_sort_step6.png and b/docs/chapter_sorting/selection_sort.assets/selection_sort_step6.png differ diff --git a/docs/chapter_sorting/selection_sort.assets/selection_sort_step7.png b/docs/chapter_sorting/selection_sort.assets/selection_sort_step7.png index 647b0b755..fc733bc22 100644 Binary files a/docs/chapter_sorting/selection_sort.assets/selection_sort_step7.png and b/docs/chapter_sorting/selection_sort.assets/selection_sort_step7.png differ diff --git a/docs/chapter_sorting/selection_sort.assets/selection_sort_step8.png b/docs/chapter_sorting/selection_sort.assets/selection_sort_step8.png index 0cf6653e7..5243a9235 100644 Binary files a/docs/chapter_sorting/selection_sort.assets/selection_sort_step8.png and b/docs/chapter_sorting/selection_sort.assets/selection_sort_step8.png differ diff --git a/docs/chapter_sorting/selection_sort.assets/selection_sort_step9.png b/docs/chapter_sorting/selection_sort.assets/selection_sort_step9.png index db74ca40b..8b6c5c344 100644 Binary files a/docs/chapter_sorting/selection_sort.assets/selection_sort_step9.png and b/docs/chapter_sorting/selection_sort.assets/selection_sort_step9.png differ diff --git a/docs/chapter_sorting/sorting_algorithm.assets/sorting_examples.png b/docs/chapter_sorting/sorting_algorithm.assets/sorting_examples.png index aec33cb1f..cade48314 100644 Binary files a/docs/chapter_sorting/sorting_algorithm.assets/sorting_examples.png and b/docs/chapter_sorting/sorting_algorithm.assets/sorting_examples.png differ diff --git a/docs/chapter_sorting/summary.assets/sorting_algorithms_comparison.png b/docs/chapter_sorting/summary.assets/sorting_algorithms_comparison.png index 832dfb4dd..1b3618f3c 100644 Binary files a/docs/chapter_sorting/summary.assets/sorting_algorithms_comparison.png and b/docs/chapter_sorting/summary.assets/sorting_algorithms_comparison.png differ diff --git a/docs/chapter_stack_and_queue/deque.assets/array_deque_step1.png b/docs/chapter_stack_and_queue/deque.assets/array_deque_step1.png index ffbf7a0a8..95c0c5ce2 100644 Binary files a/docs/chapter_stack_and_queue/deque.assets/array_deque_step1.png and b/docs/chapter_stack_and_queue/deque.assets/array_deque_step1.png differ diff --git a/docs/chapter_stack_and_queue/deque.assets/array_deque_step2_push_last.png b/docs/chapter_stack_and_queue/deque.assets/array_deque_step2_push_last.png index da4282357..bacd441b2 100644 Binary files a/docs/chapter_stack_and_queue/deque.assets/array_deque_step2_push_last.png and b/docs/chapter_stack_and_queue/deque.assets/array_deque_step2_push_last.png differ diff --git a/docs/chapter_stack_and_queue/deque.assets/array_deque_step3_push_first.png b/docs/chapter_stack_and_queue/deque.assets/array_deque_step3_push_first.png index 8a32f23d0..44dd2192a 100644 Binary files a/docs/chapter_stack_and_queue/deque.assets/array_deque_step3_push_first.png and b/docs/chapter_stack_and_queue/deque.assets/array_deque_step3_push_first.png differ diff --git a/docs/chapter_stack_and_queue/deque.assets/array_deque_step4_pop_last.png b/docs/chapter_stack_and_queue/deque.assets/array_deque_step4_pop_last.png index 21eb9c453..8f8b5a2d2 100644 Binary files a/docs/chapter_stack_and_queue/deque.assets/array_deque_step4_pop_last.png and b/docs/chapter_stack_and_queue/deque.assets/array_deque_step4_pop_last.png differ diff --git a/docs/chapter_stack_and_queue/deque.assets/array_deque_step5_pop_first.png b/docs/chapter_stack_and_queue/deque.assets/array_deque_step5_pop_first.png index 2d53a52b9..56462515c 100644 Binary files a/docs/chapter_stack_and_queue/deque.assets/array_deque_step5_pop_first.png and b/docs/chapter_stack_and_queue/deque.assets/array_deque_step5_pop_first.png differ diff --git a/docs/chapter_stack_and_queue/deque.assets/deque_operations.png b/docs/chapter_stack_and_queue/deque.assets/deque_operations.png index 6fa08af9d..c8a62e6b4 100644 Binary files a/docs/chapter_stack_and_queue/deque.assets/deque_operations.png and b/docs/chapter_stack_and_queue/deque.assets/deque_operations.png differ diff --git a/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step1.png b/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step1.png index d61502010..52554d92d 100644 Binary files a/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step1.png and b/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step1.png differ diff --git a/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step2_push_last.png b/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step2_push_last.png index 779f3eb07..b58e360e4 100644 Binary files a/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step2_push_last.png and b/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step2_push_last.png differ diff --git a/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step3_push_first.png b/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step3_push_first.png index 204e1808c..66333d391 100644 Binary files a/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step3_push_first.png and b/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step3_push_first.png differ diff --git a/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step4_pop_last.png b/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step4_pop_last.png index 67c0a20e8..88159c1f6 100644 Binary files a/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step4_pop_last.png and b/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step4_pop_last.png differ diff --git a/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step5_pop_first.png b/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step5_pop_first.png index 7a4d41698..8dec2c4d5 100644 Binary files a/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step5_pop_first.png and b/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step5_pop_first.png differ diff --git a/docs/chapter_stack_and_queue/queue.assets/array_queue_step1.png b/docs/chapter_stack_and_queue/queue.assets/array_queue_step1.png index 2c6b92a65..e331ea876 100644 Binary files a/docs/chapter_stack_and_queue/queue.assets/array_queue_step1.png and b/docs/chapter_stack_and_queue/queue.assets/array_queue_step1.png differ diff --git a/docs/chapter_stack_and_queue/queue.assets/array_queue_step2_push.png b/docs/chapter_stack_and_queue/queue.assets/array_queue_step2_push.png index 453238f2c..f9d8accb4 100644 Binary files a/docs/chapter_stack_and_queue/queue.assets/array_queue_step2_push.png and b/docs/chapter_stack_and_queue/queue.assets/array_queue_step2_push.png differ diff --git a/docs/chapter_stack_and_queue/queue.assets/array_queue_step3_pop.png b/docs/chapter_stack_and_queue/queue.assets/array_queue_step3_pop.png index 7e97aca29..c3bedf727 100644 Binary files a/docs/chapter_stack_and_queue/queue.assets/array_queue_step3_pop.png and b/docs/chapter_stack_and_queue/queue.assets/array_queue_step3_pop.png differ diff --git a/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step1.png b/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step1.png index 7cff9b1b9..7a964506c 100644 Binary files a/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step1.png and b/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step1.png differ diff --git a/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step2_push.png b/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step2_push.png index a53b9f44d..53ccef843 100644 Binary files a/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step2_push.png and b/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step2_push.png differ diff --git a/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step3_pop.png b/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step3_pop.png index 6a43121f6..df358b40f 100644 Binary files a/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step3_pop.png and b/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step3_pop.png differ diff --git a/docs/chapter_stack_and_queue/queue.assets/queue_operations.png b/docs/chapter_stack_and_queue/queue.assets/queue_operations.png index 87dc2b7ed..2f8b5745d 100644 Binary files a/docs/chapter_stack_and_queue/queue.assets/queue_operations.png and b/docs/chapter_stack_and_queue/queue.assets/queue_operations.png differ diff --git a/docs/chapter_stack_and_queue/stack.assets/array_stack_step1.png b/docs/chapter_stack_and_queue/stack.assets/array_stack_step1.png index e8e3445b7..25829cb5e 100644 Binary files a/docs/chapter_stack_and_queue/stack.assets/array_stack_step1.png and b/docs/chapter_stack_and_queue/stack.assets/array_stack_step1.png differ diff --git a/docs/chapter_stack_and_queue/stack.assets/array_stack_step2_push.png b/docs/chapter_stack_and_queue/stack.assets/array_stack_step2_push.png index 6c4cae3fd..65e04179d 100644 Binary files a/docs/chapter_stack_and_queue/stack.assets/array_stack_step2_push.png and b/docs/chapter_stack_and_queue/stack.assets/array_stack_step2_push.png differ diff --git a/docs/chapter_stack_and_queue/stack.assets/array_stack_step3_pop.png b/docs/chapter_stack_and_queue/stack.assets/array_stack_step3_pop.png index be56b586d..2bd2c5839 100644 Binary files a/docs/chapter_stack_and_queue/stack.assets/array_stack_step3_pop.png and b/docs/chapter_stack_and_queue/stack.assets/array_stack_step3_pop.png differ diff --git a/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step1.png b/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step1.png index 5821ca82a..b8a208279 100644 Binary files a/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step1.png and b/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step1.png differ diff --git a/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step2_push.png b/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step2_push.png index b46053185..c8326064c 100644 Binary files a/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step2_push.png and b/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step2_push.png differ diff --git a/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step3_pop.png b/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step3_pop.png index 09a57488b..1db5b5d54 100644 Binary files a/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step3_pop.png and b/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step3_pop.png differ diff --git a/docs/chapter_stack_and_queue/stack.assets/stack_operations.png b/docs/chapter_stack_and_queue/stack.assets/stack_operations.png index afeb9679b..6cbc3eb30 100644 Binary files a/docs/chapter_stack_and_queue/stack.assets/stack_operations.png and b/docs/chapter_stack_and_queue/stack.assets/stack_operations.png differ diff --git a/docs/chapter_tree/array_representation_of_tree.assets/array_representation_binary_tree.png b/docs/chapter_tree/array_representation_of_tree.assets/array_representation_binary_tree.png index 3480c5718..ad973b8eb 100644 Binary files a/docs/chapter_tree/array_representation_of_tree.assets/array_representation_binary_tree.png and b/docs/chapter_tree/array_representation_of_tree.assets/array_representation_binary_tree.png differ diff --git a/docs/chapter_tree/array_representation_of_tree.assets/array_representation_complete_binary_tree.png b/docs/chapter_tree/array_representation_of_tree.assets/array_representation_complete_binary_tree.png index 753ddcc27..0d2b94385 100644 Binary files a/docs/chapter_tree/array_representation_of_tree.assets/array_representation_complete_binary_tree.png and b/docs/chapter_tree/array_representation_of_tree.assets/array_representation_complete_binary_tree.png differ diff --git a/docs/chapter_tree/array_representation_of_tree.assets/array_representation_with_empty.png b/docs/chapter_tree/array_representation_of_tree.assets/array_representation_with_empty.png index 3c0184f3f..60857eea7 100644 Binary files a/docs/chapter_tree/array_representation_of_tree.assets/array_representation_with_empty.png and b/docs/chapter_tree/array_representation_of_tree.assets/array_representation_with_empty.png differ diff --git a/docs/chapter_tree/array_representation_of_tree.assets/array_representation_without_empty.png b/docs/chapter_tree/array_representation_of_tree.assets/array_representation_without_empty.png index 39a6169c4..0f97f349a 100644 Binary files a/docs/chapter_tree/array_representation_of_tree.assets/array_representation_without_empty.png and b/docs/chapter_tree/array_representation_of_tree.assets/array_representation_without_empty.png differ diff --git a/docs/chapter_tree/avl_tree.assets/avltree_degradation_from_inserting_node.png b/docs/chapter_tree/avl_tree.assets/avltree_degradation_from_inserting_node.png index 00586167c..2e60b0183 100644 Binary files a/docs/chapter_tree/avl_tree.assets/avltree_degradation_from_inserting_node.png and b/docs/chapter_tree/avl_tree.assets/avltree_degradation_from_inserting_node.png differ diff --git a/docs/chapter_tree/avl_tree.assets/avltree_degradation_from_removing_node.png b/docs/chapter_tree/avl_tree.assets/avltree_degradation_from_removing_node.png index dc773daa1..d131bd31b 100644 Binary files a/docs/chapter_tree/avl_tree.assets/avltree_degradation_from_removing_node.png and b/docs/chapter_tree/avl_tree.assets/avltree_degradation_from_removing_node.png differ diff --git a/docs/chapter_tree/avl_tree.assets/avltree_left_right_rotate.png b/docs/chapter_tree/avl_tree.assets/avltree_left_right_rotate.png index 3685ee475..ad4e7d579 100644 Binary files a/docs/chapter_tree/avl_tree.assets/avltree_left_right_rotate.png and b/docs/chapter_tree/avl_tree.assets/avltree_left_right_rotate.png differ diff --git a/docs/chapter_tree/avl_tree.assets/avltree_left_rotate.png b/docs/chapter_tree/avl_tree.assets/avltree_left_rotate.png index 3ef850f4a..19129ac8e 100644 Binary files a/docs/chapter_tree/avl_tree.assets/avltree_left_rotate.png and b/docs/chapter_tree/avl_tree.assets/avltree_left_rotate.png differ diff --git a/docs/chapter_tree/avl_tree.assets/avltree_left_rotate_with_grandchild.png b/docs/chapter_tree/avl_tree.assets/avltree_left_rotate_with_grandchild.png index 8cdb22448..e40d92962 100644 Binary files a/docs/chapter_tree/avl_tree.assets/avltree_left_rotate_with_grandchild.png and b/docs/chapter_tree/avl_tree.assets/avltree_left_rotate_with_grandchild.png differ diff --git a/docs/chapter_tree/avl_tree.assets/avltree_right_left_rotate.png b/docs/chapter_tree/avl_tree.assets/avltree_right_left_rotate.png index d22d81129..133528302 100644 Binary files a/docs/chapter_tree/avl_tree.assets/avltree_right_left_rotate.png and b/docs/chapter_tree/avl_tree.assets/avltree_right_left_rotate.png differ diff --git a/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step1.png b/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step1.png index c0947cb5a..04b7ca747 100644 Binary files a/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step1.png and b/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step1.png differ diff --git a/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step2.png b/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step2.png index e87d5f295..70f2354fb 100644 Binary files a/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step2.png and b/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step2.png differ diff --git a/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step3.png b/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step3.png index bb366c15d..2452b5f3b 100644 Binary files a/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step3.png and b/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step3.png differ diff --git a/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step4.png b/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step4.png index a39b1294b..c0d9329f3 100644 Binary files a/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step4.png and b/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step4.png differ diff --git a/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_with_grandchild.png b/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_with_grandchild.png index 086be7880..8c96e3a54 100644 Binary files a/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_with_grandchild.png and b/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_with_grandchild.png differ diff --git a/docs/chapter_tree/avl_tree.assets/avltree_rotation_cases.png b/docs/chapter_tree/avl_tree.assets/avltree_rotation_cases.png index 643d0ee9c..9953fbdd0 100644 Binary files a/docs/chapter_tree/avl_tree.assets/avltree_rotation_cases.png and b/docs/chapter_tree/avl_tree.assets/avltree_rotation_cases.png differ diff --git a/docs/chapter_tree/binary_search_tree.assets/binary_search_tree.png b/docs/chapter_tree/binary_search_tree.assets/binary_search_tree.png index 316b33089..9e3c99700 100644 Binary files a/docs/chapter_tree/binary_search_tree.assets/binary_search_tree.png and b/docs/chapter_tree/binary_search_tree.assets/binary_search_tree.png differ diff --git a/docs/chapter_tree/binary_search_tree.assets/bst_degradation.png b/docs/chapter_tree/binary_search_tree.assets/bst_degradation.png index 8d1b53fdf..0336b7435 100644 Binary files a/docs/chapter_tree/binary_search_tree.assets/bst_degradation.png and b/docs/chapter_tree/binary_search_tree.assets/bst_degradation.png differ diff --git a/docs/chapter_tree/binary_search_tree.assets/bst_inorder_traversal.png b/docs/chapter_tree/binary_search_tree.assets/bst_inorder_traversal.png index 9f787470f..3db43adb3 100644 Binary files a/docs/chapter_tree/binary_search_tree.assets/bst_inorder_traversal.png and b/docs/chapter_tree/binary_search_tree.assets/bst_inorder_traversal.png differ diff --git a/docs/chapter_tree/binary_search_tree.assets/bst_insert.png b/docs/chapter_tree/binary_search_tree.assets/bst_insert.png index 7b999e275..fda3aba84 100644 Binary files a/docs/chapter_tree/binary_search_tree.assets/bst_insert.png and b/docs/chapter_tree/binary_search_tree.assets/bst_insert.png differ diff --git a/docs/chapter_tree/binary_search_tree.assets/bst_remove_case1.png b/docs/chapter_tree/binary_search_tree.assets/bst_remove_case1.png index c0e3f9e39..1b9314ae0 100644 Binary files a/docs/chapter_tree/binary_search_tree.assets/bst_remove_case1.png and b/docs/chapter_tree/binary_search_tree.assets/bst_remove_case1.png differ diff --git a/docs/chapter_tree/binary_search_tree.assets/bst_remove_case2.png b/docs/chapter_tree/binary_search_tree.assets/bst_remove_case2.png index ab2ce7db5..0699c702f 100644 Binary files a/docs/chapter_tree/binary_search_tree.assets/bst_remove_case2.png and b/docs/chapter_tree/binary_search_tree.assets/bst_remove_case2.png differ diff --git a/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step1.png b/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step1.png index 344f94c63..c2e3774bf 100644 Binary files a/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step1.png and b/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step1.png differ diff --git a/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step2.png b/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step2.png index 45b8bf15a..dce4c42e5 100644 Binary files a/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step2.png and b/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step2.png differ diff --git a/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step3.png b/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step3.png index 282043197..994856083 100644 Binary files a/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step3.png and b/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step3.png differ diff --git a/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step4.png b/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step4.png index 16ff39ed8..55f5498a0 100644 Binary files a/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step4.png and b/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step4.png differ diff --git a/docs/chapter_tree/binary_search_tree.assets/bst_search_step1.png b/docs/chapter_tree/binary_search_tree.assets/bst_search_step1.png index ef9257130..becf4c67a 100644 Binary files a/docs/chapter_tree/binary_search_tree.assets/bst_search_step1.png and b/docs/chapter_tree/binary_search_tree.assets/bst_search_step1.png differ diff --git a/docs/chapter_tree/binary_search_tree.assets/bst_search_step2.png b/docs/chapter_tree/binary_search_tree.assets/bst_search_step2.png index 73cc0a82e..2e7ee793a 100644 Binary files a/docs/chapter_tree/binary_search_tree.assets/bst_search_step2.png and b/docs/chapter_tree/binary_search_tree.assets/bst_search_step2.png differ diff --git a/docs/chapter_tree/binary_search_tree.assets/bst_search_step3.png b/docs/chapter_tree/binary_search_tree.assets/bst_search_step3.png index 2822887ac..93656d00c 100644 Binary files a/docs/chapter_tree/binary_search_tree.assets/bst_search_step3.png and b/docs/chapter_tree/binary_search_tree.assets/bst_search_step3.png differ diff --git a/docs/chapter_tree/binary_search_tree.assets/bst_search_step4.png b/docs/chapter_tree/binary_search_tree.assets/bst_search_step4.png index 88706353d..761d1c11b 100644 Binary files a/docs/chapter_tree/binary_search_tree.assets/bst_search_step4.png and b/docs/chapter_tree/binary_search_tree.assets/bst_search_step4.png differ diff --git a/docs/chapter_tree/binary_tree.assets/balanced_binary_tree.png b/docs/chapter_tree/binary_tree.assets/balanced_binary_tree.png index 64120ef5b..27befce69 100644 Binary files a/docs/chapter_tree/binary_tree.assets/balanced_binary_tree.png and b/docs/chapter_tree/binary_tree.assets/balanced_binary_tree.png differ diff --git a/docs/chapter_tree/binary_tree.assets/binary_tree_add_remove.png b/docs/chapter_tree/binary_tree.assets/binary_tree_add_remove.png index a0a945272..9ba7db4d6 100644 Binary files a/docs/chapter_tree/binary_tree.assets/binary_tree_add_remove.png and b/docs/chapter_tree/binary_tree.assets/binary_tree_add_remove.png differ diff --git a/docs/chapter_tree/binary_tree.assets/binary_tree_best_worst_cases.png b/docs/chapter_tree/binary_tree.assets/binary_tree_best_worst_cases.png index acb42ce2f..ceca2ebe1 100644 Binary files a/docs/chapter_tree/binary_tree.assets/binary_tree_best_worst_cases.png and b/docs/chapter_tree/binary_tree.assets/binary_tree_best_worst_cases.png differ diff --git a/docs/chapter_tree/binary_tree.assets/binary_tree_definition.png b/docs/chapter_tree/binary_tree.assets/binary_tree_definition.png index 51eed4277..4b7f96bb7 100644 Binary files a/docs/chapter_tree/binary_tree.assets/binary_tree_definition.png and b/docs/chapter_tree/binary_tree.assets/binary_tree_definition.png differ diff --git a/docs/chapter_tree/binary_tree.assets/binary_tree_terminology.png b/docs/chapter_tree/binary_tree.assets/binary_tree_terminology.png index 082bab825..2cdc447f2 100644 Binary files a/docs/chapter_tree/binary_tree.assets/binary_tree_terminology.png and b/docs/chapter_tree/binary_tree.assets/binary_tree_terminology.png differ diff --git a/docs/chapter_tree/binary_tree.assets/complete_binary_tree.png b/docs/chapter_tree/binary_tree.assets/complete_binary_tree.png index 74c033f28..dac589141 100644 Binary files a/docs/chapter_tree/binary_tree.assets/complete_binary_tree.png and b/docs/chapter_tree/binary_tree.assets/complete_binary_tree.png differ diff --git a/docs/chapter_tree/binary_tree.assets/full_binary_tree.png b/docs/chapter_tree/binary_tree.assets/full_binary_tree.png index e0420545a..973d729af 100644 Binary files a/docs/chapter_tree/binary_tree.assets/full_binary_tree.png and b/docs/chapter_tree/binary_tree.assets/full_binary_tree.png differ diff --git a/docs/chapter_tree/binary_tree.assets/perfect_binary_tree.png b/docs/chapter_tree/binary_tree.assets/perfect_binary_tree.png index fea729b17..20a0b00b5 100644 Binary files a/docs/chapter_tree/binary_tree.assets/perfect_binary_tree.png and b/docs/chapter_tree/binary_tree.assets/perfect_binary_tree.png differ diff --git a/docs/chapter_tree/binary_tree_traversal.assets/binary_tree_bfs.png b/docs/chapter_tree/binary_tree_traversal.assets/binary_tree_bfs.png index 2c5326772..9457d2df2 100644 Binary files a/docs/chapter_tree/binary_tree_traversal.assets/binary_tree_bfs.png and b/docs/chapter_tree/binary_tree_traversal.assets/binary_tree_bfs.png differ diff --git a/docs/chapter_tree/binary_tree_traversal.assets/binary_tree_dfs.png b/docs/chapter_tree/binary_tree_traversal.assets/binary_tree_dfs.png index 321e76c8e..05520fce3 100644 Binary files a/docs/chapter_tree/binary_tree_traversal.assets/binary_tree_dfs.png and b/docs/chapter_tree/binary_tree_traversal.assets/binary_tree_dfs.png differ diff --git a/docs/chapter_tree/binary_tree_traversal.assets/preorder_step1.png b/docs/chapter_tree/binary_tree_traversal.assets/preorder_step1.png index 7c5193de2..d523d89d0 100644 Binary files a/docs/chapter_tree/binary_tree_traversal.assets/preorder_step1.png and b/docs/chapter_tree/binary_tree_traversal.assets/preorder_step1.png differ diff --git a/docs/chapter_tree/binary_tree_traversal.assets/preorder_step10.png b/docs/chapter_tree/binary_tree_traversal.assets/preorder_step10.png index 6f864c788..e7feff06b 100644 Binary files a/docs/chapter_tree/binary_tree_traversal.assets/preorder_step10.png and b/docs/chapter_tree/binary_tree_traversal.assets/preorder_step10.png differ diff --git a/docs/chapter_tree/binary_tree_traversal.assets/preorder_step11.png b/docs/chapter_tree/binary_tree_traversal.assets/preorder_step11.png index d3026cfe4..bb32bf767 100644 Binary files a/docs/chapter_tree/binary_tree_traversal.assets/preorder_step11.png and b/docs/chapter_tree/binary_tree_traversal.assets/preorder_step11.png differ diff --git a/docs/chapter_tree/binary_tree_traversal.assets/preorder_step2.png b/docs/chapter_tree/binary_tree_traversal.assets/preorder_step2.png index 6418f839f..5e87d2236 100644 Binary files a/docs/chapter_tree/binary_tree_traversal.assets/preorder_step2.png and b/docs/chapter_tree/binary_tree_traversal.assets/preorder_step2.png differ diff --git a/docs/chapter_tree/binary_tree_traversal.assets/preorder_step3.png b/docs/chapter_tree/binary_tree_traversal.assets/preorder_step3.png index 4a5603c13..9e83bf297 100644 Binary files a/docs/chapter_tree/binary_tree_traversal.assets/preorder_step3.png and b/docs/chapter_tree/binary_tree_traversal.assets/preorder_step3.png differ diff --git a/docs/chapter_tree/binary_tree_traversal.assets/preorder_step4.png b/docs/chapter_tree/binary_tree_traversal.assets/preorder_step4.png index 2977b827d..5c4277cc4 100644 Binary files a/docs/chapter_tree/binary_tree_traversal.assets/preorder_step4.png and b/docs/chapter_tree/binary_tree_traversal.assets/preorder_step4.png differ diff --git a/docs/chapter_tree/binary_tree_traversal.assets/preorder_step5.png b/docs/chapter_tree/binary_tree_traversal.assets/preorder_step5.png index dc68920e1..94215b740 100644 Binary files a/docs/chapter_tree/binary_tree_traversal.assets/preorder_step5.png and b/docs/chapter_tree/binary_tree_traversal.assets/preorder_step5.png differ diff --git a/docs/chapter_tree/binary_tree_traversal.assets/preorder_step6.png b/docs/chapter_tree/binary_tree_traversal.assets/preorder_step6.png index 807c36a06..22ac40a67 100644 Binary files a/docs/chapter_tree/binary_tree_traversal.assets/preorder_step6.png and b/docs/chapter_tree/binary_tree_traversal.assets/preorder_step6.png differ diff --git a/docs/chapter_tree/binary_tree_traversal.assets/preorder_step7.png b/docs/chapter_tree/binary_tree_traversal.assets/preorder_step7.png index 4c4dcf69c..d7e4d69ff 100644 Binary files a/docs/chapter_tree/binary_tree_traversal.assets/preorder_step7.png and b/docs/chapter_tree/binary_tree_traversal.assets/preorder_step7.png differ diff --git a/docs/chapter_tree/binary_tree_traversal.assets/preorder_step8.png b/docs/chapter_tree/binary_tree_traversal.assets/preorder_step8.png index d5d694c74..d59d25ead 100644 Binary files a/docs/chapter_tree/binary_tree_traversal.assets/preorder_step8.png and b/docs/chapter_tree/binary_tree_traversal.assets/preorder_step8.png differ diff --git a/docs/chapter_tree/binary_tree_traversal.assets/preorder_step9.png b/docs/chapter_tree/binary_tree_traversal.assets/preorder_step9.png index afb7495c7..4c59f8358 100644 Binary files a/docs/chapter_tree/binary_tree_traversal.assets/preorder_step9.png and b/docs/chapter_tree/binary_tree_traversal.assets/preorder_step9.png differ diff --git a/docs/index.assets/btn_download_pdf.svg b/docs/index.assets/btn_download_pdf.svg deleted file mode 100644 index e77fe0312..000000000 --- a/docs/index.assets/btn_download_pdf.svg +++ /dev/null @@ -1 +0,0 @@ -下载PDF \ No newline at end of file diff --git a/docs/index.assets/btn_download_pdf_dark.svg b/docs/index.assets/btn_download_pdf_dark.svg index 039e36688..6334a7b93 100644 --- a/docs/index.assets/btn_download_pdf_dark.svg +++ b/docs/index.assets/btn_download_pdf_dark.svg @@ -1 +1 @@ -下载PDF \ No newline at end of file +下载PDF/ePub \ No newline at end of file diff --git a/docs/index.assets/btn_english_edition.svg b/docs/index.assets/btn_english_edition.svg deleted file mode 100644 index 9ca2a67e8..000000000 --- a/docs/index.assets/btn_english_edition.svg +++ /dev/null @@ -1 +0,0 @@ -English Ed. \ No newline at end of file diff --git a/docs/index.assets/btn_english_edition_dark.svg b/docs/index.assets/btn_english_edition_dark.svg deleted file mode 100644 index cff7a80ca..000000000 --- a/docs/index.assets/btn_english_edition_dark.svg +++ /dev/null @@ -1 +0,0 @@ -English Ed. \ No newline at end of file diff --git a/docs/index.assets/btn_read_online.svg b/docs/index.assets/btn_read_online.svg deleted file mode 100644 index aacbc6577..000000000 --- a/docs/index.assets/btn_read_online.svg +++ /dev/null @@ -1 +0,0 @@ -在线阅读 \ No newline at end of file diff --git a/en/docs/chapter_array_and_linkedlist/array.assets/array_definition.png b/en/docs/chapter_array_and_linkedlist/array.assets/array_definition.png index 97a67273d..49ba4d106 100644 Binary files a/en/docs/chapter_array_and_linkedlist/array.assets/array_definition.png and b/en/docs/chapter_array_and_linkedlist/array.assets/array_definition.png differ diff --git a/en/docs/chapter_array_and_linkedlist/array.assets/array_insert_element.png b/en/docs/chapter_array_and_linkedlist/array.assets/array_insert_element.png index c9f81ea94..1c3a3d5cd 100644 Binary files a/en/docs/chapter_array_and_linkedlist/array.assets/array_insert_element.png and b/en/docs/chapter_array_and_linkedlist/array.assets/array_insert_element.png differ diff --git a/en/docs/chapter_array_and_linkedlist/array.assets/array_memory_location_calculation.png b/en/docs/chapter_array_and_linkedlist/array.assets/array_memory_location_calculation.png index f24414b10..65ebe5ed1 100644 Binary files a/en/docs/chapter_array_and_linkedlist/array.assets/array_memory_location_calculation.png and b/en/docs/chapter_array_and_linkedlist/array.assets/array_memory_location_calculation.png differ diff --git a/en/docs/chapter_array_and_linkedlist/array.assets/array_remove_element.png b/en/docs/chapter_array_and_linkedlist/array.assets/array_remove_element.png index eb50cc17b..0337f5193 100644 Binary files a/en/docs/chapter_array_and_linkedlist/array.assets/array_remove_element.png and b/en/docs/chapter_array_and_linkedlist/array.assets/array_remove_element.png differ diff --git a/en/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_common_types.png b/en/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_common_types.png index 76dc542b6..efeeeb201 100644 Binary files a/en/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_common_types.png and b/en/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_common_types.png differ diff --git a/en/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_definition.png b/en/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_definition.png index d6d9bee15..64cbb7fd8 100644 Binary files a/en/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_definition.png and b/en/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_definition.png differ diff --git a/en/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_insert_node.png b/en/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_insert_node.png index f22930dcd..1498a4f40 100644 Binary files a/en/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_insert_node.png and b/en/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_insert_node.png differ diff --git a/en/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_remove_node.png b/en/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_remove_node.png index 662e629b0..c2dd4aeac 100644 Binary files a/en/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_remove_node.png and b/en/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_remove_node.png differ diff --git a/en/docs/chapter_array_and_linkedlist/ram_and_cache.assets/computer_storage_devices.png b/en/docs/chapter_array_and_linkedlist/ram_and_cache.assets/computer_storage_devices.png index e923af240..87477bab6 100644 Binary files a/en/docs/chapter_array_and_linkedlist/ram_and_cache.assets/computer_storage_devices.png and b/en/docs/chapter_array_and_linkedlist/ram_and_cache.assets/computer_storage_devices.png differ diff --git a/en/docs/chapter_array_and_linkedlist/ram_and_cache.assets/storage_pyramid.png b/en/docs/chapter_array_and_linkedlist/ram_and_cache.assets/storage_pyramid.png index 479dac0b5..92681cc5b 100644 Binary files a/en/docs/chapter_array_and_linkedlist/ram_and_cache.assets/storage_pyramid.png and b/en/docs/chapter_array_and_linkedlist/ram_and_cache.assets/storage_pyramid.png differ diff --git a/en/docs/chapter_backtracking/backtracking_algorithm.assets/backtrack_remove_return_or_not.png b/en/docs/chapter_backtracking/backtracking_algorithm.assets/backtrack_remove_return_or_not.png index 23d062272..1883e048d 100644 Binary files a/en/docs/chapter_backtracking/backtracking_algorithm.assets/backtrack_remove_return_or_not.png and b/en/docs/chapter_backtracking/backtracking_algorithm.assets/backtrack_remove_return_or_not.png differ diff --git a/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_constrained_paths.png b/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_constrained_paths.png index eeb8edc5c..3ff193ba3 100644 Binary files a/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_constrained_paths.png and b/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_constrained_paths.png differ diff --git a/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_nodes.png b/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_nodes.png index ffb4509d1..ee6a7d6b8 100644 Binary files a/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_nodes.png and b/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_nodes.png differ diff --git a/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step1.png b/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step1.png index c79b45247..eaed64282 100644 Binary files a/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step1.png and b/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step1.png differ diff --git a/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step10.png b/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step10.png index 2d38db238..cf501988a 100644 Binary files a/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step10.png and b/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step10.png differ diff --git a/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step11.png b/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step11.png index 75b9a8bef..cd8a232dc 100644 Binary files a/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step11.png and b/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step11.png differ diff --git a/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step2.png b/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step2.png index 624078c54..169cff15b 100644 Binary files a/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step2.png and b/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step2.png differ diff --git a/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step3.png b/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step3.png index c997f4937..d1cd08b4e 100644 Binary files a/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step3.png and b/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step3.png differ diff --git a/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step4.png b/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step4.png index af9ec5c83..14ef2e17b 100644 Binary files a/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step4.png and b/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step4.png differ diff --git a/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step5.png b/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step5.png index 8810966f1..3840c2b38 100644 Binary files a/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step5.png and b/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step5.png differ diff --git a/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step6.png b/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step6.png index 140db2496..0c8e3fe13 100644 Binary files a/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step6.png and b/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step6.png differ diff --git a/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step7.png b/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step7.png index 30d818277..53f280433 100644 Binary files a/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step7.png and b/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step7.png differ diff --git a/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step8.png b/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step8.png index 4c545f763..57e54b229 100644 Binary files a/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step8.png and b/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step8.png differ diff --git a/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step9.png b/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step9.png index cc53a2ed1..a07fe9547 100644 Binary files a/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step9.png and b/en/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step9.png differ diff --git a/en/docs/chapter_backtracking/n_queens_problem.assets/n_queens_cols_diagonals.png b/en/docs/chapter_backtracking/n_queens_problem.assets/n_queens_cols_diagonals.png index fa8510ea0..0ed26e9ec 100644 Binary files a/en/docs/chapter_backtracking/n_queens_problem.assets/n_queens_cols_diagonals.png and b/en/docs/chapter_backtracking/n_queens_problem.assets/n_queens_cols_diagonals.png differ diff --git a/en/docs/chapter_backtracking/n_queens_problem.assets/n_queens_constraints.png b/en/docs/chapter_backtracking/n_queens_problem.assets/n_queens_constraints.png index 8072791ef..b56a5d580 100644 Binary files a/en/docs/chapter_backtracking/n_queens_problem.assets/n_queens_constraints.png and b/en/docs/chapter_backtracking/n_queens_problem.assets/n_queens_constraints.png differ diff --git a/en/docs/chapter_backtracking/n_queens_problem.assets/n_queens_placing.png b/en/docs/chapter_backtracking/n_queens_problem.assets/n_queens_placing.png index a052d9c0e..5072990dc 100644 Binary files a/en/docs/chapter_backtracking/n_queens_problem.assets/n_queens_placing.png and b/en/docs/chapter_backtracking/n_queens_problem.assets/n_queens_placing.png differ diff --git a/en/docs/chapter_backtracking/n_queens_problem.assets/solution_4_queens.png b/en/docs/chapter_backtracking/n_queens_problem.assets/solution_4_queens.png index 1e841201a..22a52e9dd 100644 Binary files a/en/docs/chapter_backtracking/n_queens_problem.assets/solution_4_queens.png and b/en/docs/chapter_backtracking/n_queens_problem.assets/solution_4_queens.png differ diff --git a/en/docs/chapter_backtracking/permutations_problem.assets/permutations_i.png b/en/docs/chapter_backtracking/permutations_problem.assets/permutations_i.png index d5ed6b5bc..f47f45cde 100644 Binary files a/en/docs/chapter_backtracking/permutations_problem.assets/permutations_i.png and b/en/docs/chapter_backtracking/permutations_problem.assets/permutations_i.png differ diff --git a/en/docs/chapter_backtracking/permutations_problem.assets/permutations_i_pruning.png b/en/docs/chapter_backtracking/permutations_problem.assets/permutations_i_pruning.png index d069d0c20..f3074aca6 100644 Binary files a/en/docs/chapter_backtracking/permutations_problem.assets/permutations_i_pruning.png and b/en/docs/chapter_backtracking/permutations_problem.assets/permutations_i_pruning.png differ diff --git a/en/docs/chapter_backtracking/permutations_problem.assets/permutations_ii.png b/en/docs/chapter_backtracking/permutations_problem.assets/permutations_ii.png index f0d686b02..34b022cb2 100644 Binary files a/en/docs/chapter_backtracking/permutations_problem.assets/permutations_ii.png and b/en/docs/chapter_backtracking/permutations_problem.assets/permutations_ii.png differ diff --git a/en/docs/chapter_backtracking/permutations_problem.assets/permutations_ii_pruning.png b/en/docs/chapter_backtracking/permutations_problem.assets/permutations_ii_pruning.png index 09cea37e0..1091de387 100644 Binary files a/en/docs/chapter_backtracking/permutations_problem.assets/permutations_ii_pruning.png and b/en/docs/chapter_backtracking/permutations_problem.assets/permutations_ii_pruning.png differ diff --git a/en/docs/chapter_backtracking/permutations_problem.assets/permutations_ii_pruning_summary.png b/en/docs/chapter_backtracking/permutations_problem.assets/permutations_ii_pruning_summary.png index cd7e49d71..ef33b049f 100644 Binary files a/en/docs/chapter_backtracking/permutations_problem.assets/permutations_ii_pruning_summary.png and b/en/docs/chapter_backtracking/permutations_problem.assets/permutations_ii_pruning_summary.png differ diff --git a/en/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i.png b/en/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i.png index 890fc21be..40aa8e178 100644 Binary files a/en/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i.png and b/en/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i.png differ diff --git a/en/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i_naive.png b/en/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i_naive.png index 7fb0d6b02..506312390 100644 Binary files a/en/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i_naive.png and b/en/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i_naive.png differ diff --git a/en/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i_pruning.png b/en/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i_pruning.png index 2c374dd51..d7bf81894 100644 Binary files a/en/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i_pruning.png and b/en/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i_pruning.png differ diff --git a/en/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_ii.png b/en/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_ii.png index 46ef6edd5..cd1d31813 100644 Binary files a/en/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_ii.png and b/en/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_ii.png differ diff --git a/en/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_ii_repeat.png b/en/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_ii_repeat.png index 1317bfb07..0136aad90 100644 Binary files a/en/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_ii_repeat.png and b/en/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_ii_repeat.png differ diff --git a/en/docs/chapter_computational_complexity/iteration_and_recursion.assets/iteration.png b/en/docs/chapter_computational_complexity/iteration_and_recursion.assets/iteration.png index 11eb3081d..8d0f79806 100644 Binary files a/en/docs/chapter_computational_complexity/iteration_and_recursion.assets/iteration.png and b/en/docs/chapter_computational_complexity/iteration_and_recursion.assets/iteration.png differ diff --git a/en/docs/chapter_computational_complexity/iteration_and_recursion.assets/nested_iteration.png b/en/docs/chapter_computational_complexity/iteration_and_recursion.assets/nested_iteration.png index bff1b5ec6..963586dbf 100644 Binary files a/en/docs/chapter_computational_complexity/iteration_and_recursion.assets/nested_iteration.png and b/en/docs/chapter_computational_complexity/iteration_and_recursion.assets/nested_iteration.png differ diff --git a/en/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_sum.png b/en/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_sum.png index 5c06e1911..277d53304 100644 Binary files a/en/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_sum.png and b/en/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_sum.png differ diff --git a/en/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_sum_depth.png b/en/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_sum_depth.png index 370778310..f94ce8357 100644 Binary files a/en/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_sum_depth.png and b/en/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_sum_depth.png differ diff --git a/en/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_tree.png b/en/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_tree.png index df343d5c1..acb42dae0 100644 Binary files a/en/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_tree.png and b/en/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_tree.png differ diff --git a/en/docs/chapter_computational_complexity/iteration_and_recursion.assets/tail_recursion_sum.png b/en/docs/chapter_computational_complexity/iteration_and_recursion.assets/tail_recursion_sum.png index ec23d50df..09a325aed 100644 Binary files a/en/docs/chapter_computational_complexity/iteration_and_recursion.assets/tail_recursion_sum.png and b/en/docs/chapter_computational_complexity/iteration_and_recursion.assets/tail_recursion_sum.png differ diff --git a/en/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_common_types.png b/en/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_common_types.png index 3f617fd78..ccd2d6aec 100644 Binary files a/en/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_common_types.png and b/en/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_common_types.png differ diff --git a/en/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_exponential.png b/en/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_exponential.png index 6be2f14a2..991f58386 100644 Binary files a/en/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_exponential.png and b/en/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_exponential.png differ diff --git a/en/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_recursive_linear.png b/en/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_recursive_linear.png index acb2e4b1e..756214bcd 100644 Binary files a/en/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_recursive_linear.png and b/en/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_recursive_linear.png differ diff --git a/en/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_recursive_quadratic.png b/en/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_recursive_quadratic.png index e54ef20b3..32ddbaa5f 100644 Binary files a/en/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_recursive_quadratic.png and b/en/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_recursive_quadratic.png differ diff --git a/en/docs/chapter_computational_complexity/space_complexity.assets/space_types.png b/en/docs/chapter_computational_complexity/space_complexity.assets/space_types.png index a2fac7482..92b3a5c12 100644 Binary files a/en/docs/chapter_computational_complexity/space_complexity.assets/space_types.png and b/en/docs/chapter_computational_complexity/space_complexity.assets/space_types.png differ diff --git a/en/docs/chapter_computational_complexity/time_complexity.assets/asymptotic_upper_bound.png b/en/docs/chapter_computational_complexity/time_complexity.assets/asymptotic_upper_bound.png index a1f8f93d5..ea6127c3d 100644 Binary files a/en/docs/chapter_computational_complexity/time_complexity.assets/asymptotic_upper_bound.png and b/en/docs/chapter_computational_complexity/time_complexity.assets/asymptotic_upper_bound.png differ diff --git a/en/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_common_types.png b/en/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_common_types.png index 805513ec5..c7c4a9fc1 100644 Binary files a/en/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_common_types.png and b/en/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_common_types.png differ diff --git a/en/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_constant_linear_quadratic.png b/en/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_constant_linear_quadratic.png index 71f87f425..984204495 100644 Binary files a/en/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_constant_linear_quadratic.png and b/en/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_constant_linear_quadratic.png differ diff --git a/en/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_exponential.png b/en/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_exponential.png index 262ba476a..e438f4f3a 100644 Binary files a/en/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_exponential.png and b/en/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_exponential.png differ diff --git a/en/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_factorial.png b/en/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_factorial.png index bfda3c3f1..735834afb 100644 Binary files a/en/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_factorial.png and b/en/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_factorial.png differ diff --git a/en/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_logarithmic.png b/en/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_logarithmic.png index 2ad918f11..e3cde65f6 100644 Binary files a/en/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_logarithmic.png and b/en/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_logarithmic.png differ diff --git a/en/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_logarithmic_linear.png b/en/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_logarithmic_linear.png index 428cbef06..3a91544bd 100644 Binary files a/en/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_logarithmic_linear.png and b/en/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_logarithmic_linear.png differ diff --git a/en/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_simple_example.png b/en/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_simple_example.png index b877d0fca..bef4342a7 100644 Binary files a/en/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_simple_example.png and b/en/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_simple_example.png differ diff --git a/en/docs/chapter_data_structure/character_encoding.assets/ascii_table.png b/en/docs/chapter_data_structure/character_encoding.assets/ascii_table.png index f54ae6a34..a1c48679a 100644 Binary files a/en/docs/chapter_data_structure/character_encoding.assets/ascii_table.png and b/en/docs/chapter_data_structure/character_encoding.assets/ascii_table.png differ diff --git a/en/docs/chapter_data_structure/character_encoding.assets/unicode_hello_algo.png b/en/docs/chapter_data_structure/character_encoding.assets/unicode_hello_algo.png index 6a3e0befa..a8d414e3f 100644 Binary files a/en/docs/chapter_data_structure/character_encoding.assets/unicode_hello_algo.png and b/en/docs/chapter_data_structure/character_encoding.assets/unicode_hello_algo.png differ diff --git a/en/docs/chapter_data_structure/character_encoding.assets/utf-8_hello_algo.png b/en/docs/chapter_data_structure/character_encoding.assets/utf-8_hello_algo.png index 57b709130..13428adc1 100644 Binary files a/en/docs/chapter_data_structure/character_encoding.assets/utf-8_hello_algo.png and b/en/docs/chapter_data_structure/character_encoding.assets/utf-8_hello_algo.png differ diff --git a/en/docs/chapter_data_structure/classification_of_data_structure.assets/classification_logic_structure.png b/en/docs/chapter_data_structure/classification_of_data_structure.assets/classification_logic_structure.png index 73eeb13d8..a615396f6 100644 Binary files a/en/docs/chapter_data_structure/classification_of_data_structure.assets/classification_logic_structure.png and b/en/docs/chapter_data_structure/classification_of_data_structure.assets/classification_logic_structure.png differ diff --git a/en/docs/chapter_data_structure/classification_of_data_structure.assets/classification_phisical_structure.png b/en/docs/chapter_data_structure/classification_of_data_structure.assets/classification_phisical_structure.png index b07ef9b61..7b5df8904 100644 Binary files a/en/docs/chapter_data_structure/classification_of_data_structure.assets/classification_phisical_structure.png and b/en/docs/chapter_data_structure/classification_of_data_structure.assets/classification_phisical_structure.png differ diff --git a/en/docs/chapter_data_structure/classification_of_data_structure.assets/computer_memory_location.png b/en/docs/chapter_data_structure/classification_of_data_structure.assets/computer_memory_location.png index 941ca7996..7551530d3 100644 Binary files a/en/docs/chapter_data_structure/classification_of_data_structure.assets/computer_memory_location.png and b/en/docs/chapter_data_structure/classification_of_data_structure.assets/computer_memory_location.png differ diff --git a/en/docs/chapter_data_structure/number_encoding.assets/1s_2s_complement.png b/en/docs/chapter_data_structure/number_encoding.assets/1s_2s_complement.png index 234bdcc66..cfad0fd0b 100644 Binary files a/en/docs/chapter_data_structure/number_encoding.assets/1s_2s_complement.png and b/en/docs/chapter_data_structure/number_encoding.assets/1s_2s_complement.png differ diff --git a/en/docs/chapter_data_structure/number_encoding.assets/ieee_754_float.png b/en/docs/chapter_data_structure/number_encoding.assets/ieee_754_float.png index d11183bbe..1db583f53 100644 Binary files a/en/docs/chapter_data_structure/number_encoding.assets/ieee_754_float.png and b/en/docs/chapter_data_structure/number_encoding.assets/ieee_754_float.png differ diff --git a/en/docs/chapter_divide_and_conquer/binary_search_recur.assets/binary_search_recur.png b/en/docs/chapter_divide_and_conquer/binary_search_recur.assets/binary_search_recur.png index 9d58c7fe7..a67cf0f9c 100644 Binary files a/en/docs/chapter_divide_and_conquer/binary_search_recur.assets/binary_search_recur.png and b/en/docs/chapter_divide_and_conquer/binary_search_recur.assets/binary_search_recur.png differ diff --git a/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_division_pointers.png b/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_division_pointers.png index f6f0b7f4e..6a400e85d 100644 Binary files a/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_division_pointers.png and b/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_division_pointers.png differ diff --git a/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_example.png b/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_example.png index 7e31ef351..7aa03bae6 100644 Binary files a/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_example.png and b/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_example.png differ diff --git a/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_preorder_inorder_division.png b/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_preorder_inorder_division.png index 9096b3b05..13219c39f 100644 Binary files a/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_preorder_inorder_division.png and b/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_preorder_inorder_division.png differ diff --git a/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_overall.png b/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_overall.png index 56f320056..aafafca5d 100644 Binary files a/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_overall.png and b/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_overall.png differ diff --git a/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step1.png b/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step1.png index 6ee5ba1e2..248fd8e4a 100644 Binary files a/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step1.png and b/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step1.png differ diff --git a/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step2.png b/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step2.png index 939ea2971..9eab251a2 100644 Binary files a/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step2.png and b/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step2.png differ diff --git a/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step3.png b/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step3.png index 4ad88bbc4..85e27074d 100644 Binary files a/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step3.png and b/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step3.png differ diff --git a/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step4.png b/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step4.png index bb486173f..886ce1317 100644 Binary files a/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step4.png and b/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step4.png differ diff --git a/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step5.png b/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step5.png index 187a1c4df..768ff4dd9 100644 Binary files a/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step5.png and b/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step5.png differ diff --git a/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step6.png b/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step6.png index 3ccb0bea1..02b797ca6 100644 Binary files a/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step6.png and b/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step6.png differ diff --git a/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step7.png b/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step7.png index 17bcb9283..d0c9addd0 100644 Binary files a/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step7.png and b/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step7.png differ diff --git a/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step8.png b/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step8.png index 6004fd0a1..24cc07d60 100644 Binary files a/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step8.png and b/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step8.png differ diff --git a/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step9.png b/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step9.png index 7c4b825d7..f3b127917 100644 Binary files a/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step9.png and b/en/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step9.png differ diff --git a/en/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_bubble_sort.png b/en/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_bubble_sort.png index a2ecf4b33..51b4d97ee 100644 Binary files a/en/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_bubble_sort.png and b/en/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_bubble_sort.png differ diff --git a/en/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_merge_sort.png b/en/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_merge_sort.png index 349b5fe9b..1d3a79cf7 100644 Binary files a/en/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_merge_sort.png and b/en/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_merge_sort.png differ diff --git a/en/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_parallel_computing.png b/en/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_parallel_computing.png index 293b4eab9..564170df6 100644 Binary files a/en/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_parallel_computing.png and b/en/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_parallel_computing.png differ diff --git a/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_divide_and_conquer.png b/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_divide_and_conquer.png index 2174c0d3c..437eae7d5 100644 Binary files a/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_divide_and_conquer.png and b/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_divide_and_conquer.png differ diff --git a/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_example.png b/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_example.png index 3f7d4e0c4..e17ebf4b7 100644 Binary files a/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_example.png and b/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_example.png differ diff --git a/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f1_step1.png b/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f1_step1.png index 8171c7e9e..a554b7fdf 100644 Binary files a/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f1_step1.png and b/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f1_step1.png differ diff --git a/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f1_step2.png b/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f1_step2.png index 4307571ee..cd5be7064 100644 Binary files a/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f1_step2.png and b/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f1_step2.png differ diff --git a/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step1.png b/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step1.png index 84a9a294f..24e78dfa5 100644 Binary files a/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step1.png and b/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step1.png differ diff --git a/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step2.png b/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step2.png index 80e9c036d..27ec075b4 100644 Binary files a/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step2.png and b/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step2.png differ diff --git a/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step3.png b/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step3.png index a44fdfe8c..bda652ace 100644 Binary files a/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step3.png and b/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step3.png differ diff --git a/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step4.png b/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step4.png index faee49ce4..be30dbdc2 100644 Binary files a/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step4.png and b/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step4.png differ diff --git a/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step1.png b/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step1.png index 33a75be5a..193a3e16c 100644 Binary files a/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step1.png and b/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step1.png differ diff --git a/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step2.png b/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step2.png index 9bb30ab09..5ca9fc6ef 100644 Binary files a/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step2.png and b/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step2.png differ diff --git a/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step3.png b/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step3.png index 8fb0a9af2..f514516eb 100644 Binary files a/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step3.png and b/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step3.png differ diff --git a/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step4.png b/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step4.png index 7cf790626..e5f0b6978 100644 Binary files a/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step4.png and b/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step4.png differ diff --git a/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_recursive_tree.png b/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_recursive_tree.png index b6e026d8b..3dd928054 100644 Binary files a/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_recursive_tree.png and b/en/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_recursive_tree.png differ diff --git a/en/docs/chapter_dynamic_programming/dp_problem_features.assets/climbing_stairs_constraint_example.png b/en/docs/chapter_dynamic_programming/dp_problem_features.assets/climbing_stairs_constraint_example.png index 50be86d2e..5333e445e 100644 Binary files a/en/docs/chapter_dynamic_programming/dp_problem_features.assets/climbing_stairs_constraint_example.png and b/en/docs/chapter_dynamic_programming/dp_problem_features.assets/climbing_stairs_constraint_example.png differ diff --git a/en/docs/chapter_dynamic_programming/dp_problem_features.assets/climbing_stairs_constraint_state_transfer.png b/en/docs/chapter_dynamic_programming/dp_problem_features.assets/climbing_stairs_constraint_state_transfer.png index 51a3e27d7..d6bccd952 100644 Binary files a/en/docs/chapter_dynamic_programming/dp_problem_features.assets/climbing_stairs_constraint_state_transfer.png and b/en/docs/chapter_dynamic_programming/dp_problem_features.assets/climbing_stairs_constraint_state_transfer.png differ diff --git a/en/docs/chapter_dynamic_programming/dp_problem_features.assets/min_cost_cs_dp.png b/en/docs/chapter_dynamic_programming/dp_problem_features.assets/min_cost_cs_dp.png index fd438ba17..a3a200e54 100644 Binary files a/en/docs/chapter_dynamic_programming/dp_problem_features.assets/min_cost_cs_dp.png and b/en/docs/chapter_dynamic_programming/dp_problem_features.assets/min_cost_cs_dp.png differ diff --git a/en/docs/chapter_dynamic_programming/dp_problem_features.assets/min_cost_cs_example.png b/en/docs/chapter_dynamic_programming/dp_problem_features.assets/min_cost_cs_example.png index 3c83f92dd..c1c605c61 100644 Binary files a/en/docs/chapter_dynamic_programming/dp_problem_features.assets/min_cost_cs_example.png and b/en/docs/chapter_dynamic_programming/dp_problem_features.assets/min_cost_cs_example.png differ diff --git a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dfs.png b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dfs.png index 617453009..f1c5a8c1b 100644 Binary files a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dfs.png and b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dfs.png differ diff --git a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dfs_mem.png b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dfs_mem.png index 51e5c99e8..700c8efd0 100644 Binary files a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dfs_mem.png and b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dfs_mem.png differ diff --git a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step1.png b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step1.png index 42739737f..ce9951201 100644 Binary files a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step1.png and b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step1.png differ diff --git a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step10.png b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step10.png index 852987207..e742520f0 100644 Binary files a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step10.png and b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step10.png differ diff --git a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step11.png b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step11.png index b62327fa3..15a41d559 100644 Binary files a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step11.png and b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step11.png differ diff --git a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step12.png b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step12.png index 4c756fb44..fc78e4844 100644 Binary files a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step12.png and b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step12.png differ diff --git a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step2.png b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step2.png index 1bb0f85bc..9fa018a3c 100644 Binary files a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step2.png and b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step2.png differ diff --git a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step3.png b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step3.png index 1cab4e413..c162ea707 100644 Binary files a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step3.png and b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step3.png differ diff --git a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step4.png b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step4.png index 71ac186cf..0efe1bf24 100644 Binary files a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step4.png and b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step4.png differ diff --git a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step5.png b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step5.png index 495fde1ec..0ba4cf8d7 100644 Binary files a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step5.png and b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step5.png differ diff --git a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step6.png b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step6.png index e711b80a3..b4e8149b5 100644 Binary files a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step6.png and b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step6.png differ diff --git a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step7.png b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step7.png index 50cfccda4..171cf4a3b 100644 Binary files a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step7.png and b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step7.png differ diff --git a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step8.png b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step8.png index 77d250e41..21cd7bebe 100644 Binary files a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step8.png and b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step8.png differ diff --git a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step9.png b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step9.png index ff572fa77..8b320b9a3 100644 Binary files a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step9.png and b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step9.png differ diff --git a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_example.png b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_example.png index 57cbbcf18..ddec501e5 100644 Binary files a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_example.png and b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_example.png differ diff --git a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_initial_state.png b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_initial_state.png index f2b27b9a4..7fcb6cfc6 100644 Binary files a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_initial_state.png and b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_initial_state.png differ diff --git a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_state_definition.png b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_state_definition.png index bbd30a047..559d1a3de 100644 Binary files a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_state_definition.png and b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_state_definition.png differ diff --git a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_state_transition.png b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_state_transition.png index 5135b0e21..1453044e1 100644 Binary files a/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_state_transition.png and b/en/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_state_transition.png differ diff --git a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_decision_tree.png b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_decision_tree.png index e3e19c6f9..7e3dd7b05 100644 Binary files a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_decision_tree.png and b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_decision_tree.png differ diff --git a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step1.png b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step1.png index 087050f37..ad1e7cabb 100644 Binary files a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step1.png and b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step1.png differ diff --git a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step10.png b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step10.png index 13cc5be80..a7ab4a99a 100644 Binary files a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step10.png and b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step10.png differ diff --git a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step11.png b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step11.png index 29def1363..672d3573b 100644 Binary files a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step11.png and b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step11.png differ diff --git a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step12.png b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step12.png index 0d1ad2bca..6e77864b2 100644 Binary files a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step12.png and b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step12.png differ diff --git a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step13.png b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step13.png index be84f2c0a..a0206203c 100644 Binary files a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step13.png and b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step13.png differ diff --git a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step14.png b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step14.png index 70f06072c..26e72721f 100644 Binary files a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step14.png and b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step14.png differ diff --git a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step15.png b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step15.png index c4151a7bb..5863be208 100644 Binary files a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step15.png and b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step15.png differ diff --git a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step2.png b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step2.png index e4f7146f5..1a64a088e 100644 Binary files a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step2.png and b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step2.png differ diff --git a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step3.png b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step3.png index f95bddd14..e7d33c928 100644 Binary files a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step3.png and b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step3.png differ diff --git a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step4.png b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step4.png index 478bd93ee..7e25bb0db 100644 Binary files a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step4.png and b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step4.png differ diff --git a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step5.png b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step5.png index fbc90d3a7..3afa0c02b 100644 Binary files a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step5.png and b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step5.png differ diff --git a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step6.png b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step6.png index 059ca2e92..d5169284d 100644 Binary files a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step6.png and b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step6.png differ diff --git a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step7.png b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step7.png index 9911aaac4..0616a9084 100644 Binary files a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step7.png and b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step7.png differ diff --git a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step8.png b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step8.png index c98d0f999..370e7732b 100644 Binary files a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step8.png and b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step8.png differ diff --git a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step9.png b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step9.png index 744cd0f9b..e263154ec 100644 Binary files a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step9.png and b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step9.png differ diff --git a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_example.png b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_example.png index 8a0bf59dc..7c8fcc70f 100644 Binary files a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_example.png and b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_example.png differ diff --git a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_state_transfer.png b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_state_transfer.png index dbe1d4200..14064a993 100644 Binary files a/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_state_transfer.png and b/en/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_state_transfer.png differ diff --git a/en/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dfs_memo_tree.png b/en/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dfs_memo_tree.png index 0c73cdb14..a5da3474b 100644 Binary files a/en/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dfs_memo_tree.png and b/en/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dfs_memo_tree.png differ diff --git a/en/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dfs_tree.png b/en/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dfs_tree.png index 557d2475f..793ac775f 100644 Binary files a/en/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dfs_tree.png and b/en/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dfs_tree.png differ diff --git a/en/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dp.png b/en/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dp.png index d519f468b..2dfcb1554 100644 Binary files a/en/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dp.png and b/en/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dp.png differ diff --git a/en/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_example.png b/en/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_example.png index 0a5f131d3..64e9171da 100644 Binary files a/en/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_example.png and b/en/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_example.png differ diff --git a/en/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_state_transfer.png b/en/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_state_transfer.png index 6b4963da0..6ce1be625 100644 Binary files a/en/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_state_transfer.png and b/en/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_state_transfer.png differ diff --git a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dfs.png b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dfs.png index 7f7ecd458..601afcd7d 100644 Binary files a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dfs.png and b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dfs.png differ diff --git a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dfs_mem.png b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dfs_mem.png index 4e2bdd2c3..32a7f21d7 100644 Binary files a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dfs_mem.png and b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dfs_mem.png differ diff --git a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step1.png b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step1.png index 04f4c093e..3e83181e4 100644 Binary files a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step1.png and b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step1.png differ diff --git a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step2.png b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step2.png index 0c83e5bc0..d8b7614a2 100644 Binary files a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step2.png and b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step2.png differ diff --git a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step3.png b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step3.png index e68a11e63..2fe7a2d42 100644 Binary files a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step3.png and b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step3.png differ diff --git a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step4.png b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step4.png index 6b20d191f..42db7910b 100644 Binary files a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step4.png and b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step4.png differ diff --git a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step5.png b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step5.png index fc0094104..fd2c2b90b 100644 Binary files a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step5.png and b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step5.png differ diff --git a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step6.png b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step6.png index 1c2666582..d7b207048 100644 Binary files a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step6.png and b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step6.png differ diff --git a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step1.png b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step1.png index 3205b1d18..7a4fb8f28 100644 Binary files a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step1.png and b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step1.png differ diff --git a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step10.png b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step10.png index 2afea2035..60069032f 100644 Binary files a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step10.png and b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step10.png differ diff --git a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step11.png b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step11.png index 3625f0784..a6d9782db 100644 Binary files a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step11.png and b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step11.png differ diff --git a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step12.png b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step12.png index 7a223e88f..97ac26b99 100644 Binary files a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step12.png and b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step12.png differ diff --git a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step13.png b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step13.png index 369c41614..175fa7ef0 100644 Binary files a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step13.png and b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step13.png differ diff --git a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step14.png b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step14.png index c9008e904..2bafd6a17 100644 Binary files a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step14.png and b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step14.png differ diff --git a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step2.png b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step2.png index 985ac4309..6d4f6ed2f 100644 Binary files a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step2.png and b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step2.png differ diff --git a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step3.png b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step3.png index f3d2557b1..9bf359c33 100644 Binary files a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step3.png and b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step3.png differ diff --git a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step4.png b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step4.png index de2a6a4e7..2540bd01a 100644 Binary files a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step4.png and b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step4.png differ diff --git a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step5.png b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step5.png index 884617a7d..e04b449f8 100644 Binary files a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step5.png and b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step5.png differ diff --git a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step6.png b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step6.png index b1e2f126c..94238d709 100644 Binary files a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step6.png and b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step6.png differ diff --git a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step7.png b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step7.png index 1131ac2c9..c7596e5a5 100644 Binary files a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step7.png and b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step7.png differ diff --git a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step8.png b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step8.png index 06f09b799..292ff249e 100644 Binary files a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step8.png and b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step8.png differ diff --git a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step9.png b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step9.png index 603e68a82..3fa0dba95 100644 Binary files a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step9.png and b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step9.png differ diff --git a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_example.png b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_example.png index 8ca1b7a62..9fb448fc3 100644 Binary files a/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_example.png and b/en/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_example.png differ diff --git a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step1.png b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step1.png index 2d73d69e5..69dd3c79e 100644 Binary files a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step1.png and b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step1.png differ diff --git a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step10.png b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step10.png index 52de0a4cc..953eada4b 100644 Binary files a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step10.png and b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step10.png differ diff --git a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step11.png b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step11.png index 982d3266f..c6c5e76b3 100644 Binary files a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step11.png and b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step11.png differ diff --git a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step12.png b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step12.png index 3cd9b096f..d817e2ce2 100644 Binary files a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step12.png and b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step12.png differ diff --git a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step13.png b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step13.png index 8fbcc5e4a..9a4656660 100644 Binary files a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step13.png and b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step13.png differ diff --git a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step14.png b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step14.png index ecbc2eec4..59bec0d90 100644 Binary files a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step14.png and b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step14.png differ diff --git a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step15.png b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step15.png index a28cce9d7..3bbf0b373 100644 Binary files a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step15.png and b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step15.png differ diff --git a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step2.png b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step2.png index 19d8c8140..08aeaf4a5 100644 Binary files a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step2.png and b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step2.png differ diff --git a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step3.png b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step3.png index 221ccf1cf..2070edc33 100644 Binary files a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step3.png and b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step3.png differ diff --git a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step4.png b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step4.png index fa0b85dcf..0956631c6 100644 Binary files a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step4.png and b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step4.png differ diff --git a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step5.png b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step5.png index 4b4a90fc2..df5c40a67 100644 Binary files a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step5.png and b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step5.png differ diff --git a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step6.png b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step6.png index 1a6c363f8..ad578830e 100644 Binary files a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step6.png and b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step6.png differ diff --git a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step7.png b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step7.png index d5092907d..a954ea2c9 100644 Binary files a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step7.png and b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step7.png differ diff --git a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step8.png b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step8.png index 25bf25fd6..c726d6dcf 100644 Binary files a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step8.png and b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step8.png differ diff --git a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step9.png b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step9.png index 398b2324f..3868a7cd6 100644 Binary files a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step9.png and b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step9.png differ diff --git a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_example.png b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_example.png index 157cf43ad..b0fbad560 100644 Binary files a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_example.png and b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_example.png differ diff --git a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_ii_example.png b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_ii_example.png index 51828b353..d703fed87 100644 Binary files a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_ii_example.png and b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_ii_example.png differ diff --git a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step1.png b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step1.png index f9726a713..4f4122eb5 100644 Binary files a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step1.png and b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step1.png differ diff --git a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step2.png b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step2.png index 6234281fa..fc5450a3a 100644 Binary files a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step2.png and b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step2.png differ diff --git a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step3.png b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step3.png index 27370c3d6..fda5126e9 100644 Binary files a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step3.png and b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step3.png differ diff --git a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step4.png b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step4.png index 1c333deb4..7f6ffcd67 100644 Binary files a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step4.png and b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step4.png differ diff --git a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step5.png b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step5.png index c97eeefa6..74a045763 100644 Binary files a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step5.png and b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step5.png differ diff --git a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step6.png b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step6.png index 98f8e7896..49441c8aa 100644 Binary files a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step6.png and b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step6.png differ diff --git a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_example.png b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_example.png index 7f29ba918..92084aa64 100644 Binary files a/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_example.png and b/en/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_example.png differ diff --git a/en/docs/chapter_graph/graph.assets/adjacency_list.png b/en/docs/chapter_graph/graph.assets/adjacency_list.png index 2ff974dce..86984a3e1 100644 Binary files a/en/docs/chapter_graph/graph.assets/adjacency_list.png and b/en/docs/chapter_graph/graph.assets/adjacency_list.png differ diff --git a/en/docs/chapter_graph/graph.assets/adjacency_matrix.png b/en/docs/chapter_graph/graph.assets/adjacency_matrix.png index 53eee55d4..b2c7bd832 100644 Binary files a/en/docs/chapter_graph/graph.assets/adjacency_matrix.png and b/en/docs/chapter_graph/graph.assets/adjacency_matrix.png differ diff --git a/en/docs/chapter_graph/graph.assets/connected_graph.png b/en/docs/chapter_graph/graph.assets/connected_graph.png index ce6291762..411830e22 100644 Binary files a/en/docs/chapter_graph/graph.assets/connected_graph.png and b/en/docs/chapter_graph/graph.assets/connected_graph.png differ diff --git a/en/docs/chapter_graph/graph.assets/directed_graph.png b/en/docs/chapter_graph/graph.assets/directed_graph.png index 8c4929688..4847123f9 100644 Binary files a/en/docs/chapter_graph/graph.assets/directed_graph.png and b/en/docs/chapter_graph/graph.assets/directed_graph.png differ diff --git a/en/docs/chapter_graph/graph.assets/linkedlist_tree_graph.png b/en/docs/chapter_graph/graph.assets/linkedlist_tree_graph.png index 796b73f2c..7fe87ba58 100644 Binary files a/en/docs/chapter_graph/graph.assets/linkedlist_tree_graph.png and b/en/docs/chapter_graph/graph.assets/linkedlist_tree_graph.png differ diff --git a/en/docs/chapter_graph/graph.assets/weighted_graph.png b/en/docs/chapter_graph/graph.assets/weighted_graph.png index 8e752536c..fdb4b8134 100644 Binary files a/en/docs/chapter_graph/graph.assets/weighted_graph.png and b/en/docs/chapter_graph/graph.assets/weighted_graph.png differ diff --git a/en/docs/chapter_graph/graph_operations.assets/adjacency_list_step1_initialization.png b/en/docs/chapter_graph/graph_operations.assets/adjacency_list_step1_initialization.png index 6dd2d12eb..5005d40c1 100644 Binary files a/en/docs/chapter_graph/graph_operations.assets/adjacency_list_step1_initialization.png and b/en/docs/chapter_graph/graph_operations.assets/adjacency_list_step1_initialization.png differ diff --git a/en/docs/chapter_graph/graph_operations.assets/adjacency_list_step2_add_edge.png b/en/docs/chapter_graph/graph_operations.assets/adjacency_list_step2_add_edge.png index 21a6fd735..feaeec941 100644 Binary files a/en/docs/chapter_graph/graph_operations.assets/adjacency_list_step2_add_edge.png and b/en/docs/chapter_graph/graph_operations.assets/adjacency_list_step2_add_edge.png differ diff --git a/en/docs/chapter_graph/graph_operations.assets/adjacency_list_step3_remove_edge.png b/en/docs/chapter_graph/graph_operations.assets/adjacency_list_step3_remove_edge.png index a739d2e4b..043fd13e6 100644 Binary files a/en/docs/chapter_graph/graph_operations.assets/adjacency_list_step3_remove_edge.png and b/en/docs/chapter_graph/graph_operations.assets/adjacency_list_step3_remove_edge.png differ diff --git a/en/docs/chapter_graph/graph_operations.assets/adjacency_list_step4_add_vertex.png b/en/docs/chapter_graph/graph_operations.assets/adjacency_list_step4_add_vertex.png index 8e6f63a2f..ed902db7b 100644 Binary files a/en/docs/chapter_graph/graph_operations.assets/adjacency_list_step4_add_vertex.png and b/en/docs/chapter_graph/graph_operations.assets/adjacency_list_step4_add_vertex.png differ diff --git a/en/docs/chapter_graph/graph_operations.assets/adjacency_list_step5_remove_vertex.png b/en/docs/chapter_graph/graph_operations.assets/adjacency_list_step5_remove_vertex.png index c2e5250b7..0902fbe3a 100644 Binary files a/en/docs/chapter_graph/graph_operations.assets/adjacency_list_step5_remove_vertex.png and b/en/docs/chapter_graph/graph_operations.assets/adjacency_list_step5_remove_vertex.png differ diff --git a/en/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step1_initialization.png b/en/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step1_initialization.png index 6496a4531..0e37f6e27 100644 Binary files a/en/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step1_initialization.png and b/en/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step1_initialization.png differ diff --git a/en/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step2_add_edge.png b/en/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step2_add_edge.png index b52f84e89..300f802fb 100644 Binary files a/en/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step2_add_edge.png and b/en/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step2_add_edge.png differ diff --git a/en/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step3_remove_edge.png b/en/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step3_remove_edge.png index f00284f8a..b1f60f65b 100644 Binary files a/en/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step3_remove_edge.png and b/en/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step3_remove_edge.png differ diff --git a/en/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step4_add_vertex.png b/en/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step4_add_vertex.png index 226a3024f..9acbcafa5 100644 Binary files a/en/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step4_add_vertex.png and b/en/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step4_add_vertex.png differ diff --git a/en/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step5_remove_vertex.png b/en/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step5_remove_vertex.png index 64e030b92..7620ec14f 100644 Binary files a/en/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step5_remove_vertex.png and b/en/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step5_remove_vertex.png differ diff --git a/en/docs/chapter_graph/graph_traversal.assets/graph_bfs.png b/en/docs/chapter_graph/graph_traversal.assets/graph_bfs.png index 807377d58..4b7fd506a 100644 Binary files a/en/docs/chapter_graph/graph_traversal.assets/graph_bfs.png and b/en/docs/chapter_graph/graph_traversal.assets/graph_bfs.png differ diff --git a/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step1.png b/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step1.png index 7ca47cc7c..46cc9149b 100644 Binary files a/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step1.png and b/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step1.png differ diff --git a/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step10.png b/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step10.png index de10b49ea..fd085c825 100644 Binary files a/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step10.png and b/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step10.png differ diff --git a/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step11.png b/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step11.png index 7af032066..404bba245 100644 Binary files a/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step11.png and b/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step11.png differ diff --git a/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step2.png b/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step2.png index df8c986bc..aebbad5af 100644 Binary files a/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step2.png and b/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step2.png differ diff --git a/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step3.png b/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step3.png index c534b15a7..5eb81548f 100644 Binary files a/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step3.png and b/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step3.png differ diff --git a/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step4.png b/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step4.png index cf6bdd7d2..3d779047f 100644 Binary files a/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step4.png and b/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step4.png differ diff --git a/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step5.png b/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step5.png index 6963b7cc2..ca96dca76 100644 Binary files a/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step5.png and b/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step5.png differ diff --git a/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step6.png b/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step6.png index af5f1752d..46dd1298a 100644 Binary files a/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step6.png and b/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step6.png differ diff --git a/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step7.png b/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step7.png index c0ad73f8a..264b3840c 100644 Binary files a/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step7.png and b/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step7.png differ diff --git a/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step8.png b/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step8.png index dea7a54f1..e0021dc1b 100644 Binary files a/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step8.png and b/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step8.png differ diff --git a/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step9.png b/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step9.png index 04f6d0f13..8a00d182e 100644 Binary files a/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step9.png and b/en/docs/chapter_graph/graph_traversal.assets/graph_bfs_step9.png differ diff --git a/en/docs/chapter_graph/graph_traversal.assets/graph_dfs.png b/en/docs/chapter_graph/graph_traversal.assets/graph_dfs.png index 2cad4f5cd..80daae126 100644 Binary files a/en/docs/chapter_graph/graph_traversal.assets/graph_dfs.png and b/en/docs/chapter_graph/graph_traversal.assets/graph_dfs.png differ diff --git a/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step1.png b/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step1.png index e6f5b4d4f..aae144212 100644 Binary files a/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step1.png and b/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step1.png differ diff --git a/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step10.png b/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step10.png index 390332724..e5035c7d9 100644 Binary files a/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step10.png and b/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step10.png differ diff --git a/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step11.png b/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step11.png index 881d7abe9..dbfc38675 100644 Binary files a/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step11.png and b/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step11.png differ diff --git a/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step2.png b/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step2.png index 09b351e4f..35ce55ac6 100644 Binary files a/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step2.png and b/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step2.png differ diff --git a/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step3.png b/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step3.png index 477e4a3ab..46831cec1 100644 Binary files a/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step3.png and b/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step3.png differ diff --git a/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step4.png b/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step4.png index 3e77e375d..8555d9e73 100644 Binary files a/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step4.png and b/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step4.png differ diff --git a/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step5.png b/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step5.png index 2a17ab3e1..1b2b461d3 100644 Binary files a/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step5.png and b/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step5.png differ diff --git a/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step6.png b/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step6.png index 04d78d90a..f76c5fa89 100644 Binary files a/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step6.png and b/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step6.png differ diff --git a/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step7.png b/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step7.png index a7e9b10ac..4aeff897d 100644 Binary files a/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step7.png and b/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step7.png differ diff --git a/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step8.png b/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step8.png index e9ac80973..232361ad5 100644 Binary files a/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step8.png and b/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step8.png differ diff --git a/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step9.png b/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step9.png index d8530b3bc..372b9c786 100644 Binary files a/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step9.png and b/en/docs/chapter_graph/graph_traversal.assets/graph_dfs_step9.png differ diff --git a/en/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_area_chart.png b/en/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_area_chart.png index 6a1e64fa2..a8a7a6e3f 100644 Binary files a/en/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_area_chart.png and b/en/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_area_chart.png differ diff --git a/en/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_example.png b/en/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_example.png index 9e10560cb..e52da1aea 100644 Binary files a/en/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_example.png and b/en/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_example.png differ diff --git a/en/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_greedy_strategy.png b/en/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_greedy_strategy.png index 4eda645c7..2c79c48f0 100644 Binary files a/en/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_greedy_strategy.png and b/en/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_greedy_strategy.png differ diff --git a/en/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_unit_value.png b/en/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_unit_value.png index 8424858f1..a70174d68 100644 Binary files a/en/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_unit_value.png and b/en/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_unit_value.png differ diff --git a/en/docs/chapter_greedy/greedy_algorithm.assets/coin_change_greedy_strategy.png b/en/docs/chapter_greedy/greedy_algorithm.assets/coin_change_greedy_strategy.png index 0412e0ce3..b9338a7cd 100644 Binary files a/en/docs/chapter_greedy/greedy_algorithm.assets/coin_change_greedy_strategy.png and b/en/docs/chapter_greedy/greedy_algorithm.assets/coin_change_greedy_strategy.png differ diff --git a/en/docs/chapter_greedy/greedy_algorithm.assets/coin_change_greedy_vs_dp.png b/en/docs/chapter_greedy/greedy_algorithm.assets/coin_change_greedy_vs_dp.png index b53735aa6..56810bda9 100644 Binary files a/en/docs/chapter_greedy/greedy_algorithm.assets/coin_change_greedy_vs_dp.png and b/en/docs/chapter_greedy/greedy_algorithm.assets/coin_change_greedy_vs_dp.png differ diff --git a/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_example.png b/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_example.png index 5ec41e821..13267c97c 100644 Binary files a/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_example.png and b/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_example.png differ diff --git a/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step1.png b/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step1.png index 85a2ebb8d..aa6ecdae6 100644 Binary files a/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step1.png and b/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step1.png differ diff --git a/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step2.png b/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step2.png index e28de2d46..596998ac9 100644 Binary files a/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step2.png and b/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step2.png differ diff --git a/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step3.png b/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step3.png index 30ac2d34c..85aeb48d2 100644 Binary files a/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step3.png and b/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step3.png differ diff --git a/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step4.png b/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step4.png index 042772dc3..a6f9a7825 100644 Binary files a/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step4.png and b/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step4.png differ diff --git a/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step5.png b/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step5.png index 1f8470864..446a7c4cc 100644 Binary files a/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step5.png and b/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step5.png differ diff --git a/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step6.png b/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step6.png index b7a4f0caa..a3de64469 100644 Binary files a/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step6.png and b/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step6.png differ diff --git a/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step7.png b/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step7.png index 98e58671c..0c4b52233 100644 Binary files a/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step7.png and b/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step7.png differ diff --git a/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step8.png b/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step8.png index 5af248400..77bbc7dbd 100644 Binary files a/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step8.png and b/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step8.png differ diff --git a/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step9.png b/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step9.png index 207d0e11c..eb7e9a910 100644 Binary files a/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step9.png and b/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step9.png differ diff --git a/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_initial_state.png b/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_initial_state.png index 0ed314f4d..867cb5c1b 100644 Binary files a/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_initial_state.png and b/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_initial_state.png differ diff --git a/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_moving_long_board.png b/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_moving_long_board.png index 6b4936205..6fba96745 100644 Binary files a/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_moving_long_board.png and b/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_moving_long_board.png differ diff --git a/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_moving_short_board.png b/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_moving_short_board.png index ed2688703..caaaa25b1 100644 Binary files a/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_moving_short_board.png and b/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_moving_short_board.png differ diff --git a/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_skipped_states.png b/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_skipped_states.png index 758254d65..8bfb4c701 100644 Binary files a/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_skipped_states.png and b/en/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_skipped_states.png differ diff --git a/en/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_definition.png b/en/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_definition.png index 2a5df97c8..315181153 100644 Binary files a/en/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_definition.png and b/en/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_definition.png differ diff --git a/en/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_calculation.png b/en/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_calculation.png index 244c9a32c..284e81b55 100644 Binary files a/en/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_calculation.png and b/en/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_calculation.png differ diff --git a/en/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_infer1.png b/en/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_infer1.png index 0251cb147..c6e5baf71 100644 Binary files a/en/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_infer1.png and b/en/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_infer1.png differ diff --git a/en/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_infer2.png b/en/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_infer2.png index 2006934af..6ef5f6811 100644 Binary files a/en/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_infer2.png and b/en/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_infer2.png differ diff --git a/en/docs/chapter_hashing/hash_algorithm.assets/hash_collision_best_worst_condition.png b/en/docs/chapter_hashing/hash_algorithm.assets/hash_collision_best_worst_condition.png index 3250199f3..d50bd7511 100644 Binary files a/en/docs/chapter_hashing/hash_algorithm.assets/hash_collision_best_worst_condition.png and b/en/docs/chapter_hashing/hash_algorithm.assets/hash_collision_best_worst_condition.png differ diff --git a/en/docs/chapter_hashing/hash_collision.assets/hash_table_chaining.png b/en/docs/chapter_hashing/hash_collision.assets/hash_table_chaining.png index e99da4f7a..6d9f8f5b4 100644 Binary files a/en/docs/chapter_hashing/hash_collision.assets/hash_table_chaining.png and b/en/docs/chapter_hashing/hash_collision.assets/hash_table_chaining.png differ diff --git a/en/docs/chapter_hashing/hash_collision.assets/hash_table_linear_probing.png b/en/docs/chapter_hashing/hash_collision.assets/hash_table_linear_probing.png index 473f877fb..c43f6f583 100644 Binary files a/en/docs/chapter_hashing/hash_collision.assets/hash_table_linear_probing.png and b/en/docs/chapter_hashing/hash_collision.assets/hash_table_linear_probing.png differ diff --git a/en/docs/chapter_hashing/hash_collision.assets/hash_table_open_addressing_deletion.png b/en/docs/chapter_hashing/hash_collision.assets/hash_table_open_addressing_deletion.png index f2fb0fafb..0564af14c 100644 Binary files a/en/docs/chapter_hashing/hash_collision.assets/hash_table_open_addressing_deletion.png and b/en/docs/chapter_hashing/hash_collision.assets/hash_table_open_addressing_deletion.png differ diff --git a/en/docs/chapter_hashing/hash_map.assets/hash_collision.png b/en/docs/chapter_hashing/hash_map.assets/hash_collision.png index a57bbe226..0091a0abd 100644 Binary files a/en/docs/chapter_hashing/hash_map.assets/hash_collision.png and b/en/docs/chapter_hashing/hash_map.assets/hash_collision.png differ diff --git a/en/docs/chapter_hashing/hash_map.assets/hash_function.png b/en/docs/chapter_hashing/hash_map.assets/hash_function.png index b6377e6fb..93714db6e 100644 Binary files a/en/docs/chapter_hashing/hash_map.assets/hash_function.png and b/en/docs/chapter_hashing/hash_map.assets/hash_function.png differ diff --git a/en/docs/chapter_hashing/hash_map.assets/hash_table_lookup.png b/en/docs/chapter_hashing/hash_map.assets/hash_table_lookup.png index 0656e6a82..4dc697688 100644 Binary files a/en/docs/chapter_hashing/hash_map.assets/hash_table_lookup.png and b/en/docs/chapter_hashing/hash_map.assets/hash_table_lookup.png differ diff --git a/en/docs/chapter_hashing/hash_map.assets/hash_table_reshash.png b/en/docs/chapter_hashing/hash_map.assets/hash_table_reshash.png index 2586a5410..ec1a1f27e 100644 Binary files a/en/docs/chapter_hashing/hash_map.assets/hash_table_reshash.png and b/en/docs/chapter_hashing/hash_map.assets/hash_table_reshash.png differ diff --git a/en/docs/chapter_heap/build_heap.assets/heapify_operations_count.png b/en/docs/chapter_heap/build_heap.assets/heapify_operations_count.png index c5f93069f..5014f4b26 100644 Binary files a/en/docs/chapter_heap/build_heap.assets/heapify_operations_count.png and b/en/docs/chapter_heap/build_heap.assets/heapify_operations_count.png differ diff --git a/en/docs/chapter_heap/heap.assets/heap_pop_step1.png b/en/docs/chapter_heap/heap.assets/heap_pop_step1.png index 1ea61b55e..bbcc81f62 100644 Binary files a/en/docs/chapter_heap/heap.assets/heap_pop_step1.png and b/en/docs/chapter_heap/heap.assets/heap_pop_step1.png differ diff --git a/en/docs/chapter_heap/heap.assets/heap_pop_step10.png b/en/docs/chapter_heap/heap.assets/heap_pop_step10.png index f26eba018..0d50b1abe 100644 Binary files a/en/docs/chapter_heap/heap.assets/heap_pop_step10.png and b/en/docs/chapter_heap/heap.assets/heap_pop_step10.png differ diff --git a/en/docs/chapter_heap/heap.assets/heap_pop_step2.png b/en/docs/chapter_heap/heap.assets/heap_pop_step2.png index 4fe8aedf1..6a38e66b1 100644 Binary files a/en/docs/chapter_heap/heap.assets/heap_pop_step2.png and b/en/docs/chapter_heap/heap.assets/heap_pop_step2.png differ diff --git a/en/docs/chapter_heap/heap.assets/heap_pop_step3.png b/en/docs/chapter_heap/heap.assets/heap_pop_step3.png index 48bfb7322..c137305bb 100644 Binary files a/en/docs/chapter_heap/heap.assets/heap_pop_step3.png and b/en/docs/chapter_heap/heap.assets/heap_pop_step3.png differ diff --git a/en/docs/chapter_heap/heap.assets/heap_pop_step4.png b/en/docs/chapter_heap/heap.assets/heap_pop_step4.png index fca547d72..584073779 100644 Binary files a/en/docs/chapter_heap/heap.assets/heap_pop_step4.png and b/en/docs/chapter_heap/heap.assets/heap_pop_step4.png differ diff --git a/en/docs/chapter_heap/heap.assets/heap_pop_step5.png b/en/docs/chapter_heap/heap.assets/heap_pop_step5.png index 6ee7cddd0..d7d6fd1bd 100644 Binary files a/en/docs/chapter_heap/heap.assets/heap_pop_step5.png and b/en/docs/chapter_heap/heap.assets/heap_pop_step5.png differ diff --git a/en/docs/chapter_heap/heap.assets/heap_pop_step6.png b/en/docs/chapter_heap/heap.assets/heap_pop_step6.png index 1e98b949e..9e9f0403c 100644 Binary files a/en/docs/chapter_heap/heap.assets/heap_pop_step6.png and b/en/docs/chapter_heap/heap.assets/heap_pop_step6.png differ diff --git a/en/docs/chapter_heap/heap.assets/heap_pop_step7.png b/en/docs/chapter_heap/heap.assets/heap_pop_step7.png index faf5d8b9c..cb0cc88af 100644 Binary files a/en/docs/chapter_heap/heap.assets/heap_pop_step7.png and b/en/docs/chapter_heap/heap.assets/heap_pop_step7.png differ diff --git a/en/docs/chapter_heap/heap.assets/heap_pop_step8.png b/en/docs/chapter_heap/heap.assets/heap_pop_step8.png index 003a0552c..f39eedd99 100644 Binary files a/en/docs/chapter_heap/heap.assets/heap_pop_step8.png and b/en/docs/chapter_heap/heap.assets/heap_pop_step8.png differ diff --git a/en/docs/chapter_heap/heap.assets/heap_pop_step9.png b/en/docs/chapter_heap/heap.assets/heap_pop_step9.png index 5129a49b8..a97ca8bba 100644 Binary files a/en/docs/chapter_heap/heap.assets/heap_pop_step9.png and b/en/docs/chapter_heap/heap.assets/heap_pop_step9.png differ diff --git a/en/docs/chapter_heap/heap.assets/heap_push_step1.png b/en/docs/chapter_heap/heap.assets/heap_push_step1.png index 03fed3b6c..cd099ba2c 100644 Binary files a/en/docs/chapter_heap/heap.assets/heap_push_step1.png and b/en/docs/chapter_heap/heap.assets/heap_push_step1.png differ diff --git a/en/docs/chapter_heap/heap.assets/heap_push_step2.png b/en/docs/chapter_heap/heap.assets/heap_push_step2.png index 3d41cfee0..8e280470a 100644 Binary files a/en/docs/chapter_heap/heap.assets/heap_push_step2.png and b/en/docs/chapter_heap/heap.assets/heap_push_step2.png differ diff --git a/en/docs/chapter_heap/heap.assets/heap_push_step3.png b/en/docs/chapter_heap/heap.assets/heap_push_step3.png index cc2f5212c..6012761c9 100644 Binary files a/en/docs/chapter_heap/heap.assets/heap_push_step3.png and b/en/docs/chapter_heap/heap.assets/heap_push_step3.png differ diff --git a/en/docs/chapter_heap/heap.assets/heap_push_step4.png b/en/docs/chapter_heap/heap.assets/heap_push_step4.png index 048764e16..0c8ad9851 100644 Binary files a/en/docs/chapter_heap/heap.assets/heap_push_step4.png and b/en/docs/chapter_heap/heap.assets/heap_push_step4.png differ diff --git a/en/docs/chapter_heap/heap.assets/heap_push_step5.png b/en/docs/chapter_heap/heap.assets/heap_push_step5.png index 7e90e461d..95ea01b8f 100644 Binary files a/en/docs/chapter_heap/heap.assets/heap_push_step5.png and b/en/docs/chapter_heap/heap.assets/heap_push_step5.png differ diff --git a/en/docs/chapter_heap/heap.assets/heap_push_step6.png b/en/docs/chapter_heap/heap.assets/heap_push_step6.png index dcd9c49b3..ad7a6e4f3 100644 Binary files a/en/docs/chapter_heap/heap.assets/heap_push_step6.png and b/en/docs/chapter_heap/heap.assets/heap_push_step6.png differ diff --git a/en/docs/chapter_heap/heap.assets/heap_push_step7.png b/en/docs/chapter_heap/heap.assets/heap_push_step7.png index 35697ffbf..5a34e814c 100644 Binary files a/en/docs/chapter_heap/heap.assets/heap_push_step7.png and b/en/docs/chapter_heap/heap.assets/heap_push_step7.png differ diff --git a/en/docs/chapter_heap/heap.assets/heap_push_step8.png b/en/docs/chapter_heap/heap.assets/heap_push_step8.png index 2044132df..c69cee698 100644 Binary files a/en/docs/chapter_heap/heap.assets/heap_push_step8.png and b/en/docs/chapter_heap/heap.assets/heap_push_step8.png differ diff --git a/en/docs/chapter_heap/heap.assets/heap_push_step9.png b/en/docs/chapter_heap/heap.assets/heap_push_step9.png index 8f0384d77..fa6274e55 100644 Binary files a/en/docs/chapter_heap/heap.assets/heap_push_step9.png and b/en/docs/chapter_heap/heap.assets/heap_push_step9.png differ diff --git a/en/docs/chapter_heap/heap.assets/min_heap_and_max_heap.png b/en/docs/chapter_heap/heap.assets/min_heap_and_max_heap.png index f4c307ffb..5453eb58d 100644 Binary files a/en/docs/chapter_heap/heap.assets/min_heap_and_max_heap.png and b/en/docs/chapter_heap/heap.assets/min_heap_and_max_heap.png differ diff --git a/en/docs/chapter_heap/heap.assets/representation_of_heap.png b/en/docs/chapter_heap/heap.assets/representation_of_heap.png index c7c9fcc63..13171f798 100644 Binary files a/en/docs/chapter_heap/heap.assets/representation_of_heap.png and b/en/docs/chapter_heap/heap.assets/representation_of_heap.png differ diff --git a/en/docs/chapter_heap/top_k.assets/top_k_heap_step1.png b/en/docs/chapter_heap/top_k.assets/top_k_heap_step1.png index e23da6857..4c65da3e6 100644 Binary files a/en/docs/chapter_heap/top_k.assets/top_k_heap_step1.png and b/en/docs/chapter_heap/top_k.assets/top_k_heap_step1.png differ diff --git a/en/docs/chapter_heap/top_k.assets/top_k_heap_step2.png b/en/docs/chapter_heap/top_k.assets/top_k_heap_step2.png index 53ae93b87..3e48b9643 100644 Binary files a/en/docs/chapter_heap/top_k.assets/top_k_heap_step2.png and b/en/docs/chapter_heap/top_k.assets/top_k_heap_step2.png differ diff --git a/en/docs/chapter_heap/top_k.assets/top_k_heap_step3.png b/en/docs/chapter_heap/top_k.assets/top_k_heap_step3.png index f1a919eb0..a8ad57592 100644 Binary files a/en/docs/chapter_heap/top_k.assets/top_k_heap_step3.png and b/en/docs/chapter_heap/top_k.assets/top_k_heap_step3.png differ diff --git a/en/docs/chapter_heap/top_k.assets/top_k_heap_step4.png b/en/docs/chapter_heap/top_k.assets/top_k_heap_step4.png index e59e4775b..2539c08ee 100644 Binary files a/en/docs/chapter_heap/top_k.assets/top_k_heap_step4.png and b/en/docs/chapter_heap/top_k.assets/top_k_heap_step4.png differ diff --git a/en/docs/chapter_heap/top_k.assets/top_k_heap_step5.png b/en/docs/chapter_heap/top_k.assets/top_k_heap_step5.png index d83d929c3..0de604e27 100644 Binary files a/en/docs/chapter_heap/top_k.assets/top_k_heap_step5.png and b/en/docs/chapter_heap/top_k.assets/top_k_heap_step5.png differ diff --git a/en/docs/chapter_heap/top_k.assets/top_k_heap_step6.png b/en/docs/chapter_heap/top_k.assets/top_k_heap_step6.png index 53c669e17..7854af17d 100644 Binary files a/en/docs/chapter_heap/top_k.assets/top_k_heap_step6.png and b/en/docs/chapter_heap/top_k.assets/top_k_heap_step6.png differ diff --git a/en/docs/chapter_heap/top_k.assets/top_k_heap_step7.png b/en/docs/chapter_heap/top_k.assets/top_k_heap_step7.png index b77c839d3..edab0f1a0 100644 Binary files a/en/docs/chapter_heap/top_k.assets/top_k_heap_step7.png and b/en/docs/chapter_heap/top_k.assets/top_k_heap_step7.png differ diff --git a/en/docs/chapter_heap/top_k.assets/top_k_heap_step8.png b/en/docs/chapter_heap/top_k.assets/top_k_heap_step8.png index 73283b928..0b1132f14 100644 Binary files a/en/docs/chapter_heap/top_k.assets/top_k_heap_step8.png and b/en/docs/chapter_heap/top_k.assets/top_k_heap_step8.png differ diff --git a/en/docs/chapter_heap/top_k.assets/top_k_heap_step9.png b/en/docs/chapter_heap/top_k.assets/top_k_heap_step9.png index 56309172a..f20ce9889 100644 Binary files a/en/docs/chapter_heap/top_k.assets/top_k_heap_step9.png and b/en/docs/chapter_heap/top_k.assets/top_k_heap_step9.png differ diff --git a/en/docs/chapter_heap/top_k.assets/top_k_sorting.png b/en/docs/chapter_heap/top_k.assets/top_k_sorting.png index 2d1c7f37c..47e10cbf7 100644 Binary files a/en/docs/chapter_heap/top_k.assets/top_k_sorting.png and b/en/docs/chapter_heap/top_k.assets/top_k_sorting.png differ diff --git a/en/docs/chapter_heap/top_k.assets/top_k_traversal.png b/en/docs/chapter_heap/top_k.assets/top_k_traversal.png index 62d67b1e0..5554654f3 100644 Binary files a/en/docs/chapter_heap/top_k.assets/top_k_traversal.png and b/en/docs/chapter_heap/top_k.assets/top_k_traversal.png differ diff --git a/en/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step1.png b/en/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step1.png index 11b2ea834..d3ff211c4 100644 Binary files a/en/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step1.png and b/en/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step1.png differ diff --git a/en/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step2.png b/en/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step2.png index 76527f4e9..517a5d592 100644 Binary files a/en/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step2.png and b/en/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step2.png differ diff --git a/en/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step3.png b/en/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step3.png index 3cf8566c2..258dea930 100644 Binary files a/en/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step3.png and b/en/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step3.png differ diff --git a/en/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step4.png b/en/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step4.png index 1d703ee13..0a9c71b84 100644 Binary files a/en/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step4.png and b/en/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step4.png differ diff --git a/en/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step5.png b/en/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step5.png index a71cc39b1..d056fb746 100644 Binary files a/en/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step5.png and b/en/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step5.png differ diff --git a/en/docs/chapter_introduction/algorithms_are_everywhere.assets/greedy_change.png b/en/docs/chapter_introduction/algorithms_are_everywhere.assets/greedy_change.png index 977b5b969..f7bdfd021 100644 Binary files a/en/docs/chapter_introduction/algorithms_are_everywhere.assets/greedy_change.png and b/en/docs/chapter_introduction/algorithms_are_everywhere.assets/greedy_change.png differ diff --git a/en/docs/chapter_introduction/algorithms_are_everywhere.assets/playing_cards_sorting.png b/en/docs/chapter_introduction/algorithms_are_everywhere.assets/playing_cards_sorting.png index 12df9dfca..b16b05d2d 100644 Binary files a/en/docs/chapter_introduction/algorithms_are_everywhere.assets/playing_cards_sorting.png and b/en/docs/chapter_introduction/algorithms_are_everywhere.assets/playing_cards_sorting.png differ diff --git a/en/docs/chapter_introduction/what_is_dsa.assets/assembling_blocks.png b/en/docs/chapter_introduction/what_is_dsa.assets/assembling_blocks.png index 5f7ac5fe3..6059ee7cc 100644 Binary files a/en/docs/chapter_introduction/what_is_dsa.assets/assembling_blocks.png and b/en/docs/chapter_introduction/what_is_dsa.assets/assembling_blocks.png differ diff --git a/en/docs/chapter_introduction/what_is_dsa.assets/relationship_between_data_structure_and_algorithm.png b/en/docs/chapter_introduction/what_is_dsa.assets/relationship_between_data_structure_and_algorithm.png index 8ecd3bdde..0a73c7ddc 100644 Binary files a/en/docs/chapter_introduction/what_is_dsa.assets/relationship_between_data_structure_and_algorithm.png and b/en/docs/chapter_introduction/what_is_dsa.assets/relationship_between_data_structure_and_algorithm.png differ diff --git a/en/docs/chapter_preface/about_the_book.md b/en/docs/chapter_preface/about_the_book.md index 2f8931b0d..2f71b5603 100644 --- a/en/docs/chapter_preface/about_the_book.md +++ b/en/docs/chapter_preface/about_the_book.md @@ -30,12 +30,14 @@ The main content of this book is shown in the figure below. ## Acknowledgements -This book has been continuously improved through the joint efforts of many contributors in the open-source community. Thanks to every writer who invested time and effort, they are (in the order automatically generated by GitHub): krahets, coderonion, Gonglja, nuomi1, Reanon, justin-tse, hpstory, danielsss, curtishd, night-cruise, S-N-O-R-L-A-X, msk397, gvenusleo, khoaxuantu, RiverTwilight, rongyi, gyt95, zhuoqinyue, K3v123, Zuoxun, mingXta, hello-ikun, FangYuan33, GN-Yu, yuelinxin, longsizhuo, Cathay-Chen, guowei-gong, xBLACKICEx, IsChristina, JoseHung, qualifier1024, QiLOL, pengchzn, Guanngxu, L-Super, WSL0809, Slone123c, lhxsm, yuan0221, what-is-me, theNefelibatas, longranger2, cy-by-side, xiongsp, JeffersonHuang, Transmigration-zhou, magentaqin, Wonderdch, malone6, xiaomiusa87, gaofer, bluebean-cloud, a16su, Shyam-Chen, nanlei, hongyun-robot, Phoenix0415, MolDuM, Nigh, he-weilai, junminhong, mgisr, iron-irax, yd-j, XiaChuerwu, XC-Zero, seven1240, SamJin98, wodray, reeswell, NI-SW, Horbin-Magician, Enlightenus, xjr7670, YangXuanyi, DullSword, boloboloda, iStig, qq909244296, jiaxianhua, wenjianmin, keshida, kilikilikid, lclc6, lwbaptx, liuxjerry, lucaswangdev, lyl625760, hts0000, gledfish, fbigm, echo1937, szu17dmy, dshlstarr, Yucao-cy, coderlef, czruby, bongbongbakudan, beintentional, ZongYangL, ZhongYuuu, luluxia, xb534, bitsmi, ElaBosak233, baagod, zhouLion, yishangzhang, yi427, yabo083, weibk, wangwang105, th1nk3r-ing, tao363, 4yDX3906, syd168, steventimes, sslmj2020, smilelsb, siqyka, selear, sdshaoda, Xi-Row, popozhu, nuquist19, noobcodemaker, XiaoK29, chadyi, ZhongGuanbin, shanghai-Jerry, JackYang-hellobobo, Javesun99, lipusheng, BlindTerran, ShiMaRing, FreddieLi, FloranceYeh, iFleey, fanchenggang, gltianwen, goerll, Dr-XYZ, nedchu, curly210102, CuB3y0nd, KraHsu, CarrotDLaw, youshaoXG, bubble9um, fanenr, eagleanurag, LifeGoesOnionOnionOnion, 52coder, foursevenlove, KorsChen, hezhizhen, linzeyan, ZJKung, GaochaoZhu, hopkings2008, yang-le, Evilrabbit520, Turing-1024-Lee, thomasq0, Suremotoo, Allen-Scai, Risuntsy, Richard-Zhang1019, qingpeng9802, primexiao, nidhoggfgg, 1ch0, MwumLi, martinx, ZnYang2018, hugtyftg, logan-qiu, psychelzh, Keynman, KeiichiKasai and 0130w. +This book has been continuously improved through the joint efforts of many contributors in the open-source community. Thanks to every contributor who invested time and effort, they are (in the order automatically generated by GitHub): krahets, coderonion, Gonglja, nuomi1, Reanon, justin-tse, hpstory, danielsss, curtishd, night-cruise, S-N-O-R-L-A-X, rongyi, msk397, gvenusleo, khoaxuantu, rivertwilight, K3v123, gyt95, zhuoqinyue, yuelinxin, Zuoxun, mingXta, Phoenix0415, FangYuan33, GN-Yu, longsizhuo, IsChristina, xBLACKICEx, guowei-gong, Cathay-Chen, pengchzn, QiLOL, magentaqin, hello-ikun, JoseHung, qualifier1024, thomasq0, sunshinesDL, L-Super, Guanngxu, Transmigration-zhou, WSL0809, Slone123c, lhxsm, yuan0221, what-is-me, Shyam-Chen, theNefelibatas, longranger2, codeberg-user, xiongsp, JeffersonHuang, prinpal, seven1240, Wonderdch, malone6, xiaomiusa87, gaofer, bluebean-cloud, a16su, SamJin98, hongyun-robot, nanlei, XiaChuerwu, yd-j, iron-irax, mgisr, steventimes, junminhong, heshuyue, danny900714, MolDuM, Nigh, Dr-XYZ, XC-Zero, reeswell, PXG-XPG, NI-SW, Horbin-Magician, Enlightenus, YangXuanyi, beatrix-chan, DullSword, xjr7670, jiaxianhua, qq909244296, iStig, boloboloda, hts0000, gledfish, wenjianmin, keshida, kilikilikid, lclc6, lwbaptx, linyejoe2, liuxjerry, llql1211, fbigm, echo1937, szu17dmy, dshlstarr, Yucao-cy, coderlef, czruby, bongbongbakudan, beintentional, ZongYangL, ZhongYuuu, ZhongGuanbin, hezhizhen, linzeyan, ZJKung, luluxia, xb534, ztkuaikuai, yw-1021, ElaBosak233, baagod, zhouLion, yishangzhang, yi427, yanedie, yabo083, weibk, wangwang105, th1nk3r-ing, tao363, 4yDX3906, syd168, sslmj2020, smilelsb, siqyka, selear, sdshaoda, Xi-Row, popozhu, nuquist19, noobcodemaker, XiaoK29, chadyi, lyl625760, lucaswangdev, 0130w, shanghai-Jerry, EJackYang, Javesun99, eltociear, lipusheng, KNChiu, BlindTerran, ShiMaRing, lovelock, FreddieLi, FloranceYeh, fanchenggang, gltianwen, goerll, nedchu, curly210102, CuB3y0nd, KraHsu, CarrotDLaw, youshaoXG, bubble9um, Asashishi, Asa0oo0o0o, fanenr, eagleanurag, akshiterate, 52coder, foursevenlove, KorsChen, GaochaoZhu, hopkings2008, yang-le, realwujing, Evilrabbit520, Umer-Jahangir, Turing-1024-Lee, Suremotoo, paoxiaomooo, Chieko-Seren, Allen-Scai, ymmmas, Risuntsy, Richard-Zhang1019, RafaelCaso, qingpeng9802, primexiao, Urbaner3, zhongfq, nidhoggfgg, MwumLi, CreatorMetaSky, martinx, ZnYang2018, hugtyftg, logan-qiu, psychelzh, Keynman, KeiichiKasai, and KawaiiAsh. The code review work for this book was completed by coderonion, curtishd, Gonglja, gvenusleo, hpstory, justin-tse, khoaxuantu, krahets, night-cruise, nuomi1, Reanon and rongyi (in alphabetical order). Thanks to them for the time and effort they put in, it is they who ensure the standardization and unity of code in various languages. The Traditional Chinese version of this book was reviewed by Shyam-Chen and Dr-XYZ, and the English version was reviewed by yuelinxin, K3v123, QiLOL, Phoenix0415, SamJin98, yanedie, RafaelCaso, pengchzn, thomasq0 and magentaqin. It is because of their continuous contributions that this book can serve a wider readership, and we thank them. +The ePub ebook generation tool for this book was developed by zhongfq. We thank him for his contribution, which provides readers with a more flexible way to read. + During the creation of this book, I received help from many people. - Thanks to my mentor at the company, Dr. Li Xi, who encouraged me to "take action quickly" during a conversation, strengthening my determination to write this book; diff --git a/en/docs/chapter_preface/suggestions.assets/code_md_to_repo.png b/en/docs/chapter_preface/suggestions.assets/code_md_to_repo.png index f448405b1..6495e053a 100644 Binary files a/en/docs/chapter_preface/suggestions.assets/code_md_to_repo.png and b/en/docs/chapter_preface/suggestions.assets/code_md_to_repo.png differ diff --git a/en/docs/chapter_preface/suggestions.assets/learning_route.png b/en/docs/chapter_preface/suggestions.assets/learning_route.png index bec486c79..4ff7a3d01 100644 Binary files a/en/docs/chapter_preface/suggestions.assets/learning_route.png and b/en/docs/chapter_preface/suggestions.assets/learning_route.png differ diff --git a/en/docs/chapter_searching/binary_search.assets/binary_search_example.png b/en/docs/chapter_searching/binary_search.assets/binary_search_example.png index 00132378e..ee9285842 100644 Binary files a/en/docs/chapter_searching/binary_search.assets/binary_search_example.png and b/en/docs/chapter_searching/binary_search.assets/binary_search_example.png differ diff --git a/en/docs/chapter_searching/binary_search.assets/binary_search_ranges.png b/en/docs/chapter_searching/binary_search.assets/binary_search_ranges.png index f057a8c3d..adbcb4fc2 100644 Binary files a/en/docs/chapter_searching/binary_search.assets/binary_search_ranges.png and b/en/docs/chapter_searching/binary_search.assets/binary_search_ranges.png differ diff --git a/en/docs/chapter_searching/binary_search.assets/binary_search_step1.png b/en/docs/chapter_searching/binary_search.assets/binary_search_step1.png index 99a668306..b3fc9ec01 100644 Binary files a/en/docs/chapter_searching/binary_search.assets/binary_search_step1.png and b/en/docs/chapter_searching/binary_search.assets/binary_search_step1.png differ diff --git a/en/docs/chapter_searching/binary_search.assets/binary_search_step2.png b/en/docs/chapter_searching/binary_search.assets/binary_search_step2.png index fd85ce770..3e1f4ca7d 100644 Binary files a/en/docs/chapter_searching/binary_search.assets/binary_search_step2.png and b/en/docs/chapter_searching/binary_search.assets/binary_search_step2.png differ diff --git a/en/docs/chapter_searching/binary_search.assets/binary_search_step3.png b/en/docs/chapter_searching/binary_search.assets/binary_search_step3.png index a48f988ec..076b262c3 100644 Binary files a/en/docs/chapter_searching/binary_search.assets/binary_search_step3.png and b/en/docs/chapter_searching/binary_search.assets/binary_search_step3.png differ diff --git a/en/docs/chapter_searching/binary_search.assets/binary_search_step4.png b/en/docs/chapter_searching/binary_search.assets/binary_search_step4.png index 753f57813..216b4c94f 100644 Binary files a/en/docs/chapter_searching/binary_search.assets/binary_search_step4.png and b/en/docs/chapter_searching/binary_search.assets/binary_search_step4.png differ diff --git a/en/docs/chapter_searching/binary_search.assets/binary_search_step5.png b/en/docs/chapter_searching/binary_search.assets/binary_search_step5.png index 11b6fd3bd..946a63076 100644 Binary files a/en/docs/chapter_searching/binary_search.assets/binary_search_step5.png and b/en/docs/chapter_searching/binary_search.assets/binary_search_step5.png differ diff --git a/en/docs/chapter_searching/binary_search.assets/binary_search_step6.png b/en/docs/chapter_searching/binary_search.assets/binary_search_step6.png index 362d4e43a..0452971a6 100644 Binary files a/en/docs/chapter_searching/binary_search.assets/binary_search_step6.png and b/en/docs/chapter_searching/binary_search.assets/binary_search_step6.png differ diff --git a/en/docs/chapter_searching/binary_search.assets/binary_search_step7.png b/en/docs/chapter_searching/binary_search.assets/binary_search_step7.png index a158321be..52970eda6 100644 Binary files a/en/docs/chapter_searching/binary_search.assets/binary_search_step7.png and b/en/docs/chapter_searching/binary_search.assets/binary_search_step7.png differ diff --git a/en/docs/chapter_searching/binary_search_edge.assets/binary_search_edge_by_element.png b/en/docs/chapter_searching/binary_search_edge.assets/binary_search_edge_by_element.png index 3706d9b54..d04393b57 100644 Binary files a/en/docs/chapter_searching/binary_search_edge.assets/binary_search_edge_by_element.png and b/en/docs/chapter_searching/binary_search_edge.assets/binary_search_edge_by_element.png differ diff --git a/en/docs/chapter_searching/binary_search_edge.assets/binary_search_right_edge_by_left_edge.png b/en/docs/chapter_searching/binary_search_edge.assets/binary_search_right_edge_by_left_edge.png index 829ee0994..30e597b43 100644 Binary files a/en/docs/chapter_searching/binary_search_edge.assets/binary_search_right_edge_by_left_edge.png and b/en/docs/chapter_searching/binary_search_edge.assets/binary_search_right_edge_by_left_edge.png differ diff --git a/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_example.png b/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_example.png index facef9485..1251800a0 100644 Binary files a/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_example.png and b/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_example.png differ diff --git a/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_naive.png b/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_naive.png index bb76c5ab4..8d875e065 100644 Binary files a/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_naive.png and b/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_naive.png differ diff --git a/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step1.png b/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step1.png index f2add31d0..21bf1c5c0 100644 Binary files a/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step1.png and b/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step1.png differ diff --git a/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step2.png b/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step2.png index 09e73f03c..5172f7f54 100644 Binary files a/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step2.png and b/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step2.png differ diff --git a/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step3.png b/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step3.png index f64ab93a4..4ef582eeb 100644 Binary files a/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step3.png and b/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step3.png differ diff --git a/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step4.png b/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step4.png index 5ba6b0f22..b03ae6bd8 100644 Binary files a/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step4.png and b/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step4.png differ diff --git a/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step5.png b/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step5.png index c12343a81..3687ed28d 100644 Binary files a/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step5.png and b/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step5.png differ diff --git a/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step6.png b/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step6.png index 286035b29..b1454fa1d 100644 Binary files a/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step6.png and b/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step6.png differ diff --git a/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step7.png b/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step7.png index 9113545dd..d21c4b089 100644 Binary files a/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step7.png and b/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step7.png differ diff --git a/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step8.png b/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step8.png index 4fa214235..bf6fee2c5 100644 Binary files a/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step8.png and b/en/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step8.png differ diff --git a/en/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_brute_force.png b/en/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_brute_force.png index 8481ea4ec..eb9ef5735 100644 Binary files a/en/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_brute_force.png and b/en/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_brute_force.png differ diff --git a/en/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step1.png b/en/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step1.png index 8a74994f4..85f66af7b 100644 Binary files a/en/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step1.png and b/en/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step1.png differ diff --git a/en/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step2.png b/en/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step2.png index a0d1fe74e..673ca7dbf 100644 Binary files a/en/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step2.png and b/en/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step2.png differ diff --git a/en/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step3.png b/en/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step3.png index 215beb34f..039165ea7 100644 Binary files a/en/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step3.png and b/en/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step3.png differ diff --git a/en/docs/chapter_searching/searching_algorithm_revisited.assets/searching_algorithms.png b/en/docs/chapter_searching/searching_algorithm_revisited.assets/searching_algorithms.png index d8822564d..21186ea95 100644 Binary files a/en/docs/chapter_searching/searching_algorithm_revisited.assets/searching_algorithms.png and b/en/docs/chapter_searching/searching_algorithm_revisited.assets/searching_algorithms.png differ diff --git a/en/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step1.png b/en/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step1.png index a0f12a959..2d5d9adfc 100644 Binary files a/en/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step1.png and b/en/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step1.png differ diff --git a/en/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step2.png b/en/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step2.png index 9784d2552..039a8b8e0 100644 Binary files a/en/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step2.png and b/en/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step2.png differ diff --git a/en/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step3.png b/en/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step3.png index 2a443e5b7..a53e5f0d3 100644 Binary files a/en/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step3.png and b/en/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step3.png differ diff --git a/en/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step4.png b/en/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step4.png index 2f2ef74cd..ce7418fd9 100644 Binary files a/en/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step4.png and b/en/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step4.png differ diff --git a/en/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step5.png b/en/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step5.png index 2291b3b86..157700015 100644 Binary files a/en/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step5.png and b/en/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step5.png differ diff --git a/en/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step6.png b/en/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step6.png index 9aa77c42a..6437d3d63 100644 Binary files a/en/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step6.png and b/en/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step6.png differ diff --git a/en/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step7.png b/en/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step7.png index 2b3620e05..e1aa85a1d 100644 Binary files a/en/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step7.png and b/en/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step7.png differ diff --git a/en/docs/chapter_sorting/bubble_sort.assets/bubble_sort_overview.png b/en/docs/chapter_sorting/bubble_sort.assets/bubble_sort_overview.png index e9699f7d4..0041701fb 100644 Binary files a/en/docs/chapter_sorting/bubble_sort.assets/bubble_sort_overview.png and b/en/docs/chapter_sorting/bubble_sort.assets/bubble_sort_overview.png differ diff --git a/en/docs/chapter_sorting/bucket_sort.assets/bucket_sort_overview.png b/en/docs/chapter_sorting/bucket_sort.assets/bucket_sort_overview.png index 143a43668..202eda7aa 100644 Binary files a/en/docs/chapter_sorting/bucket_sort.assets/bucket_sort_overview.png and b/en/docs/chapter_sorting/bucket_sort.assets/bucket_sort_overview.png differ diff --git a/en/docs/chapter_sorting/bucket_sort.assets/scatter_in_buckets_distribution.png b/en/docs/chapter_sorting/bucket_sort.assets/scatter_in_buckets_distribution.png index 1c56c0411..fd73a63e2 100644 Binary files a/en/docs/chapter_sorting/bucket_sort.assets/scatter_in_buckets_distribution.png and b/en/docs/chapter_sorting/bucket_sort.assets/scatter_in_buckets_distribution.png differ diff --git a/en/docs/chapter_sorting/bucket_sort.assets/scatter_in_buckets_recursively.png b/en/docs/chapter_sorting/bucket_sort.assets/scatter_in_buckets_recursively.png index 3e768bc4c..19c7ca677 100644 Binary files a/en/docs/chapter_sorting/bucket_sort.assets/scatter_in_buckets_recursively.png and b/en/docs/chapter_sorting/bucket_sort.assets/scatter_in_buckets_recursively.png differ diff --git a/en/docs/chapter_sorting/counting_sort.assets/counting_sort_overview.png b/en/docs/chapter_sorting/counting_sort.assets/counting_sort_overview.png index f4db88af3..4257881e4 100644 Binary files a/en/docs/chapter_sorting/counting_sort.assets/counting_sort_overview.png and b/en/docs/chapter_sorting/counting_sort.assets/counting_sort_overview.png differ diff --git a/en/docs/chapter_sorting/counting_sort.assets/counting_sort_step1.png b/en/docs/chapter_sorting/counting_sort.assets/counting_sort_step1.png index dcd3e4109..8a2c68ac8 100644 Binary files a/en/docs/chapter_sorting/counting_sort.assets/counting_sort_step1.png and b/en/docs/chapter_sorting/counting_sort.assets/counting_sort_step1.png differ diff --git a/en/docs/chapter_sorting/counting_sort.assets/counting_sort_step2.png b/en/docs/chapter_sorting/counting_sort.assets/counting_sort_step2.png index 231abb0ac..31ba8cbd3 100644 Binary files a/en/docs/chapter_sorting/counting_sort.assets/counting_sort_step2.png and b/en/docs/chapter_sorting/counting_sort.assets/counting_sort_step2.png differ diff --git a/en/docs/chapter_sorting/counting_sort.assets/counting_sort_step3.png b/en/docs/chapter_sorting/counting_sort.assets/counting_sort_step3.png index 8023c33bb..cf8d61e33 100644 Binary files a/en/docs/chapter_sorting/counting_sort.assets/counting_sort_step3.png and b/en/docs/chapter_sorting/counting_sort.assets/counting_sort_step3.png differ diff --git a/en/docs/chapter_sorting/counting_sort.assets/counting_sort_step4.png b/en/docs/chapter_sorting/counting_sort.assets/counting_sort_step4.png index ab1e32f6a..f24bf64bb 100644 Binary files a/en/docs/chapter_sorting/counting_sort.assets/counting_sort_step4.png and b/en/docs/chapter_sorting/counting_sort.assets/counting_sort_step4.png differ diff --git a/en/docs/chapter_sorting/counting_sort.assets/counting_sort_step5.png b/en/docs/chapter_sorting/counting_sort.assets/counting_sort_step5.png index db0f420c1..731071ee8 100644 Binary files a/en/docs/chapter_sorting/counting_sort.assets/counting_sort_step5.png and b/en/docs/chapter_sorting/counting_sort.assets/counting_sort_step5.png differ diff --git a/en/docs/chapter_sorting/counting_sort.assets/counting_sort_step6.png b/en/docs/chapter_sorting/counting_sort.assets/counting_sort_step6.png index 193cfb602..a5564c721 100644 Binary files a/en/docs/chapter_sorting/counting_sort.assets/counting_sort_step6.png and b/en/docs/chapter_sorting/counting_sort.assets/counting_sort_step6.png differ diff --git a/en/docs/chapter_sorting/counting_sort.assets/counting_sort_step7.png b/en/docs/chapter_sorting/counting_sort.assets/counting_sort_step7.png index 065b025f2..7f2febf23 100644 Binary files a/en/docs/chapter_sorting/counting_sort.assets/counting_sort_step7.png and b/en/docs/chapter_sorting/counting_sort.assets/counting_sort_step7.png differ diff --git a/en/docs/chapter_sorting/counting_sort.assets/counting_sort_step8.png b/en/docs/chapter_sorting/counting_sort.assets/counting_sort_step8.png index 85191884c..350e043a8 100644 Binary files a/en/docs/chapter_sorting/counting_sort.assets/counting_sort_step8.png and b/en/docs/chapter_sorting/counting_sort.assets/counting_sort_step8.png differ diff --git a/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step1.png b/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step1.png index 670b26a6b..a8b8c1432 100644 Binary files a/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step1.png and b/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step1.png differ diff --git a/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step10.png b/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step10.png index 1f1b5180d..8db11fe5f 100644 Binary files a/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step10.png and b/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step10.png differ diff --git a/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step11.png b/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step11.png index 4476f5210..9bf3f2926 100644 Binary files a/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step11.png and b/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step11.png differ diff --git a/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step12.png b/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step12.png index ed065e5db..6b6e134f2 100644 Binary files a/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step12.png and b/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step12.png differ diff --git a/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step2.png b/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step2.png index 587eaec82..55690c269 100644 Binary files a/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step2.png and b/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step2.png differ diff --git a/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step3.png b/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step3.png index 4178dc6f7..9b449611b 100644 Binary files a/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step3.png and b/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step3.png differ diff --git a/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step4.png b/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step4.png index c28742f84..5c2af0a87 100644 Binary files a/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step4.png and b/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step4.png differ diff --git a/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step5.png b/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step5.png index 568984c3f..ac0e1a1c1 100644 Binary files a/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step5.png and b/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step5.png differ diff --git a/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step6.png b/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step6.png index ca48e5fbc..95bcfa3b6 100644 Binary files a/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step6.png and b/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step6.png differ diff --git a/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step7.png b/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step7.png index aba72afd4..df1b5997b 100644 Binary files a/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step7.png and b/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step7.png differ diff --git a/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step8.png b/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step8.png index 62540bb5d..2e7113d22 100644 Binary files a/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step8.png and b/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step8.png differ diff --git a/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step9.png b/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step9.png index 89aea66ab..a5a697065 100644 Binary files a/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step9.png and b/en/docs/chapter_sorting/heap_sort.assets/heap_sort_step9.png differ diff --git a/en/docs/chapter_sorting/insertion_sort.assets/insertion_operation.png b/en/docs/chapter_sorting/insertion_sort.assets/insertion_operation.png index 8a5b35cd7..f3337a49a 100644 Binary files a/en/docs/chapter_sorting/insertion_sort.assets/insertion_operation.png and b/en/docs/chapter_sorting/insertion_sort.assets/insertion_operation.png differ diff --git a/en/docs/chapter_sorting/insertion_sort.assets/insertion_sort_overview.png b/en/docs/chapter_sorting/insertion_sort.assets/insertion_sort_overview.png index b95218756..c0e3b7c8c 100644 Binary files a/en/docs/chapter_sorting/insertion_sort.assets/insertion_sort_overview.png and b/en/docs/chapter_sorting/insertion_sort.assets/insertion_sort_overview.png differ diff --git a/en/docs/chapter_sorting/merge_sort.assets/merge_sort_overview.png b/en/docs/chapter_sorting/merge_sort.assets/merge_sort_overview.png index cdeaf9e70..748486e8d 100644 Binary files a/en/docs/chapter_sorting/merge_sort.assets/merge_sort_overview.png and b/en/docs/chapter_sorting/merge_sort.assets/merge_sort_overview.png differ diff --git a/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step1.png b/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step1.png index 06f40f51c..acf2f8fb0 100644 Binary files a/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step1.png and b/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step1.png differ diff --git a/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step10.png b/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step10.png index 466ee150d..1737047ef 100644 Binary files a/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step10.png and b/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step10.png differ diff --git a/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step2.png b/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step2.png index 0c48cbd5e..9ef0f8736 100644 Binary files a/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step2.png and b/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step2.png differ diff --git a/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step3.png b/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step3.png index c58ca5c61..fc17e8d34 100644 Binary files a/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step3.png and b/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step3.png differ diff --git a/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step4.png b/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step4.png index 4ce1375bc..d20106e29 100644 Binary files a/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step4.png and b/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step4.png differ diff --git a/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step5.png b/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step5.png index 7a3eb200e..21743d9b5 100644 Binary files a/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step5.png and b/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step5.png differ diff --git a/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step6.png b/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step6.png index 644d20b65..8e88eaaac 100644 Binary files a/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step6.png and b/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step6.png differ diff --git a/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step7.png b/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step7.png index 3afa045b7..496fbf804 100644 Binary files a/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step7.png and b/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step7.png differ diff --git a/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step8.png b/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step8.png index 7acf85f15..9f4be45c4 100644 Binary files a/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step8.png and b/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step8.png differ diff --git a/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step9.png b/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step9.png index 5fee275b3..33588ab87 100644 Binary files a/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step9.png and b/en/docs/chapter_sorting/merge_sort.assets/merge_sort_step9.png differ diff --git a/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step1.png b/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step1.png index 43a43e0ab..fe106fcde 100644 Binary files a/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step1.png and b/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step1.png differ diff --git a/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step2.png b/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step2.png index 4248ea648..23c9821b5 100644 Binary files a/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step2.png and b/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step2.png differ diff --git a/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step3.png b/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step3.png index 308cf42aa..06676dd31 100644 Binary files a/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step3.png and b/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step3.png differ diff --git a/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step4.png b/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step4.png index ec00e8f0d..28d829ef7 100644 Binary files a/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step4.png and b/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step4.png differ diff --git a/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step5.png b/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step5.png index 618cbdb21..b6e206d4f 100644 Binary files a/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step5.png and b/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step5.png differ diff --git a/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step6.png b/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step6.png index eee63e20c..d8855e6d6 100644 Binary files a/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step6.png and b/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step6.png differ diff --git a/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step7.png b/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step7.png index c87abb445..823139d90 100644 Binary files a/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step7.png and b/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step7.png differ diff --git a/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step8.png b/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step8.png index 3ada3943e..70065c795 100644 Binary files a/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step8.png and b/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step8.png differ diff --git a/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step9.png b/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step9.png index 16b04ed17..95b6e6233 100644 Binary files a/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step9.png and b/en/docs/chapter_sorting/quick_sort.assets/pivot_division_step9.png differ diff --git a/en/docs/chapter_sorting/quick_sort.assets/quick_sort_overview.png b/en/docs/chapter_sorting/quick_sort.assets/quick_sort_overview.png index 1bea05c64..66f1a5dec 100644 Binary files a/en/docs/chapter_sorting/quick_sort.assets/quick_sort_overview.png and b/en/docs/chapter_sorting/quick_sort.assets/quick_sort_overview.png differ diff --git a/en/docs/chapter_sorting/radix_sort.assets/radix_sort_overview.png b/en/docs/chapter_sorting/radix_sort.assets/radix_sort_overview.png index 60e0ef9cc..4366787b3 100644 Binary files a/en/docs/chapter_sorting/radix_sort.assets/radix_sort_overview.png and b/en/docs/chapter_sorting/radix_sort.assets/radix_sort_overview.png differ diff --git a/en/docs/chapter_sorting/selection_sort.assets/selection_sort_instability.png b/en/docs/chapter_sorting/selection_sort.assets/selection_sort_instability.png index a510641c3..3ccb833c8 100644 Binary files a/en/docs/chapter_sorting/selection_sort.assets/selection_sort_instability.png and b/en/docs/chapter_sorting/selection_sort.assets/selection_sort_instability.png differ diff --git a/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step1.png b/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step1.png index 18d643639..cdb8a7fef 100644 Binary files a/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step1.png and b/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step1.png differ diff --git a/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step10.png b/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step10.png index 37c8a83a7..3b16d5906 100644 Binary files a/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step10.png and b/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step10.png differ diff --git a/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step11.png b/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step11.png index d47f92440..0be7affac 100644 Binary files a/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step11.png and b/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step11.png differ diff --git a/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step2.png b/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step2.png index 11a33be96..60b7a66b3 100644 Binary files a/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step2.png and b/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step2.png differ diff --git a/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step3.png b/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step3.png index 6c47435f4..298acf350 100644 Binary files a/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step3.png and b/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step3.png differ diff --git a/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step4.png b/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step4.png index 3c0d4ac89..268095edd 100644 Binary files a/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step4.png and b/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step4.png differ diff --git a/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step5.png b/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step5.png index 709177131..80f3e1edc 100644 Binary files a/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step5.png and b/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step5.png differ diff --git a/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step6.png b/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step6.png index 1ec8c8c1b..de61be83c 100644 Binary files a/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step6.png and b/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step6.png differ diff --git a/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step7.png b/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step7.png index e5c2ed810..3cdd7bcd3 100644 Binary files a/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step7.png and b/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step7.png differ diff --git a/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step8.png b/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step8.png index be6b1285a..f7af01c7f 100644 Binary files a/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step8.png and b/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step8.png differ diff --git a/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step9.png b/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step9.png index a68926780..2ef613b0c 100644 Binary files a/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step9.png and b/en/docs/chapter_sorting/selection_sort.assets/selection_sort_step9.png differ diff --git a/en/docs/chapter_sorting/sorting_algorithm.assets/sorting_examples.png b/en/docs/chapter_sorting/sorting_algorithm.assets/sorting_examples.png index 33e6786dd..bcaefebe5 100644 Binary files a/en/docs/chapter_sorting/sorting_algorithm.assets/sorting_examples.png and b/en/docs/chapter_sorting/sorting_algorithm.assets/sorting_examples.png differ diff --git a/en/docs/chapter_sorting/summary.assets/sorting_algorithms_comparison.png b/en/docs/chapter_sorting/summary.assets/sorting_algorithms_comparison.png index 48b4c7c73..28bae7893 100644 Binary files a/en/docs/chapter_sorting/summary.assets/sorting_algorithms_comparison.png and b/en/docs/chapter_sorting/summary.assets/sorting_algorithms_comparison.png differ diff --git a/en/docs/chapter_stack_and_queue/deque.assets/array_deque_step1.png b/en/docs/chapter_stack_and_queue/deque.assets/array_deque_step1.png index 4825a7e35..28a3a5828 100644 Binary files a/en/docs/chapter_stack_and_queue/deque.assets/array_deque_step1.png and b/en/docs/chapter_stack_and_queue/deque.assets/array_deque_step1.png differ diff --git a/en/docs/chapter_stack_and_queue/deque.assets/array_deque_step2_push_last.png b/en/docs/chapter_stack_and_queue/deque.assets/array_deque_step2_push_last.png index bff545e78..74b605fab 100644 Binary files a/en/docs/chapter_stack_and_queue/deque.assets/array_deque_step2_push_last.png and b/en/docs/chapter_stack_and_queue/deque.assets/array_deque_step2_push_last.png differ diff --git a/en/docs/chapter_stack_and_queue/deque.assets/array_deque_step3_push_first.png b/en/docs/chapter_stack_and_queue/deque.assets/array_deque_step3_push_first.png index f7fe476cf..2dae8fa5a 100644 Binary files a/en/docs/chapter_stack_and_queue/deque.assets/array_deque_step3_push_first.png and b/en/docs/chapter_stack_and_queue/deque.assets/array_deque_step3_push_first.png differ diff --git a/en/docs/chapter_stack_and_queue/deque.assets/array_deque_step4_pop_last.png b/en/docs/chapter_stack_and_queue/deque.assets/array_deque_step4_pop_last.png index 88509cec5..32bc76fe6 100644 Binary files a/en/docs/chapter_stack_and_queue/deque.assets/array_deque_step4_pop_last.png and b/en/docs/chapter_stack_and_queue/deque.assets/array_deque_step4_pop_last.png differ diff --git a/en/docs/chapter_stack_and_queue/deque.assets/array_deque_step5_pop_first.png b/en/docs/chapter_stack_and_queue/deque.assets/array_deque_step5_pop_first.png index 602767918..7068ded4b 100644 Binary files a/en/docs/chapter_stack_and_queue/deque.assets/array_deque_step5_pop_first.png and b/en/docs/chapter_stack_and_queue/deque.assets/array_deque_step5_pop_first.png differ diff --git a/en/docs/chapter_stack_and_queue/deque.assets/deque_operations.png b/en/docs/chapter_stack_and_queue/deque.assets/deque_operations.png index c1bb5252b..55cdad141 100644 Binary files a/en/docs/chapter_stack_and_queue/deque.assets/deque_operations.png and b/en/docs/chapter_stack_and_queue/deque.assets/deque_operations.png differ diff --git a/en/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step1.png b/en/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step1.png index 39d546d4f..3958823e2 100644 Binary files a/en/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step1.png and b/en/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step1.png differ diff --git a/en/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step2_push_last.png b/en/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step2_push_last.png index 6a1e8811a..f06f29230 100644 Binary files a/en/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step2_push_last.png and b/en/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step2_push_last.png differ diff --git a/en/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step3_push_first.png b/en/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step3_push_first.png index 11d7ae76d..bd4b412a5 100644 Binary files a/en/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step3_push_first.png and b/en/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step3_push_first.png differ diff --git a/en/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step4_pop_last.png b/en/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step4_pop_last.png index ac4b07322..3fbe296d1 100644 Binary files a/en/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step4_pop_last.png and b/en/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step4_pop_last.png differ diff --git a/en/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step5_pop_first.png b/en/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step5_pop_first.png index 170764600..6ba9b5fdf 100644 Binary files a/en/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step5_pop_first.png and b/en/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step5_pop_first.png differ diff --git a/en/docs/chapter_stack_and_queue/queue.assets/array_queue_step1.png b/en/docs/chapter_stack_and_queue/queue.assets/array_queue_step1.png index 5480fdcd2..93f87a3ce 100644 Binary files a/en/docs/chapter_stack_and_queue/queue.assets/array_queue_step1.png and b/en/docs/chapter_stack_and_queue/queue.assets/array_queue_step1.png differ diff --git a/en/docs/chapter_stack_and_queue/queue.assets/array_queue_step2_push.png b/en/docs/chapter_stack_and_queue/queue.assets/array_queue_step2_push.png index d012e6e81..b2c6454a9 100644 Binary files a/en/docs/chapter_stack_and_queue/queue.assets/array_queue_step2_push.png and b/en/docs/chapter_stack_and_queue/queue.assets/array_queue_step2_push.png differ diff --git a/en/docs/chapter_stack_and_queue/queue.assets/array_queue_step3_pop.png b/en/docs/chapter_stack_and_queue/queue.assets/array_queue_step3_pop.png index 775db5ce2..9b7e1c2d0 100644 Binary files a/en/docs/chapter_stack_and_queue/queue.assets/array_queue_step3_pop.png and b/en/docs/chapter_stack_and_queue/queue.assets/array_queue_step3_pop.png differ diff --git a/en/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step1.png b/en/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step1.png index a91e20d85..4d5f20928 100644 Binary files a/en/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step1.png and b/en/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step1.png differ diff --git a/en/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step2_push.png b/en/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step2_push.png index f818fb0e7..f91e459da 100644 Binary files a/en/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step2_push.png and b/en/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step2_push.png differ diff --git a/en/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step3_pop.png b/en/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step3_pop.png index d49c2fcc1..cd55a4f8e 100644 Binary files a/en/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step3_pop.png and b/en/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step3_pop.png differ diff --git a/en/docs/chapter_stack_and_queue/queue.assets/queue_operations.png b/en/docs/chapter_stack_and_queue/queue.assets/queue_operations.png index 9cd76f263..d944b67ba 100644 Binary files a/en/docs/chapter_stack_and_queue/queue.assets/queue_operations.png and b/en/docs/chapter_stack_and_queue/queue.assets/queue_operations.png differ diff --git a/en/docs/chapter_stack_and_queue/stack.assets/array_stack_step1.png b/en/docs/chapter_stack_and_queue/stack.assets/array_stack_step1.png index ca3205cf0..54a271519 100644 Binary files a/en/docs/chapter_stack_and_queue/stack.assets/array_stack_step1.png and b/en/docs/chapter_stack_and_queue/stack.assets/array_stack_step1.png differ diff --git a/en/docs/chapter_stack_and_queue/stack.assets/array_stack_step2_push.png b/en/docs/chapter_stack_and_queue/stack.assets/array_stack_step2_push.png index d5dd08c7f..d8ea26581 100644 Binary files a/en/docs/chapter_stack_and_queue/stack.assets/array_stack_step2_push.png and b/en/docs/chapter_stack_and_queue/stack.assets/array_stack_step2_push.png differ diff --git a/en/docs/chapter_stack_and_queue/stack.assets/array_stack_step3_pop.png b/en/docs/chapter_stack_and_queue/stack.assets/array_stack_step3_pop.png index 1eb84b050..910783899 100644 Binary files a/en/docs/chapter_stack_and_queue/stack.assets/array_stack_step3_pop.png and b/en/docs/chapter_stack_and_queue/stack.assets/array_stack_step3_pop.png differ diff --git a/en/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step1.png b/en/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step1.png index 68d31f058..e3de6b846 100644 Binary files a/en/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step1.png and b/en/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step1.png differ diff --git a/en/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step2_push.png b/en/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step2_push.png index de10323e9..e8126df8e 100644 Binary files a/en/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step2_push.png and b/en/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step2_push.png differ diff --git a/en/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step3_pop.png b/en/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step3_pop.png index bee4facf0..6d66c7f1c 100644 Binary files a/en/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step3_pop.png and b/en/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step3_pop.png differ diff --git a/en/docs/chapter_stack_and_queue/stack.assets/stack_operations.png b/en/docs/chapter_stack_and_queue/stack.assets/stack_operations.png index 336ce12d8..8dfb8d72e 100644 Binary files a/en/docs/chapter_stack_and_queue/stack.assets/stack_operations.png and b/en/docs/chapter_stack_and_queue/stack.assets/stack_operations.png differ diff --git a/en/docs/chapter_tree/array_representation_of_tree.assets/array_representation_binary_tree.png b/en/docs/chapter_tree/array_representation_of_tree.assets/array_representation_binary_tree.png index 0baa74774..f1387c98f 100644 Binary files a/en/docs/chapter_tree/array_representation_of_tree.assets/array_representation_binary_tree.png and b/en/docs/chapter_tree/array_representation_of_tree.assets/array_representation_binary_tree.png differ diff --git a/en/docs/chapter_tree/array_representation_of_tree.assets/array_representation_complete_binary_tree.png b/en/docs/chapter_tree/array_representation_of_tree.assets/array_representation_complete_binary_tree.png index b1059688f..c88639fe2 100644 Binary files a/en/docs/chapter_tree/array_representation_of_tree.assets/array_representation_complete_binary_tree.png and b/en/docs/chapter_tree/array_representation_of_tree.assets/array_representation_complete_binary_tree.png differ diff --git a/en/docs/chapter_tree/array_representation_of_tree.assets/array_representation_with_empty.png b/en/docs/chapter_tree/array_representation_of_tree.assets/array_representation_with_empty.png index ca81c0449..6a5631681 100644 Binary files a/en/docs/chapter_tree/array_representation_of_tree.assets/array_representation_with_empty.png and b/en/docs/chapter_tree/array_representation_of_tree.assets/array_representation_with_empty.png differ diff --git a/en/docs/chapter_tree/array_representation_of_tree.assets/array_representation_without_empty.png b/en/docs/chapter_tree/array_representation_of_tree.assets/array_representation_without_empty.png index 3e280d842..93f94c910 100644 Binary files a/en/docs/chapter_tree/array_representation_of_tree.assets/array_representation_without_empty.png and b/en/docs/chapter_tree/array_representation_of_tree.assets/array_representation_without_empty.png differ diff --git a/en/docs/chapter_tree/avl_tree.assets/avltree_degradation_from_inserting_node.png b/en/docs/chapter_tree/avl_tree.assets/avltree_degradation_from_inserting_node.png index ffc99032b..93b0617f0 100644 Binary files a/en/docs/chapter_tree/avl_tree.assets/avltree_degradation_from_inserting_node.png and b/en/docs/chapter_tree/avl_tree.assets/avltree_degradation_from_inserting_node.png differ diff --git a/en/docs/chapter_tree/avl_tree.assets/avltree_degradation_from_removing_node.png b/en/docs/chapter_tree/avl_tree.assets/avltree_degradation_from_removing_node.png index bbf8284a8..ee86a2490 100644 Binary files a/en/docs/chapter_tree/avl_tree.assets/avltree_degradation_from_removing_node.png and b/en/docs/chapter_tree/avl_tree.assets/avltree_degradation_from_removing_node.png differ diff --git a/en/docs/chapter_tree/avl_tree.assets/avltree_left_right_rotate.png b/en/docs/chapter_tree/avl_tree.assets/avltree_left_right_rotate.png index 17a61030f..00528037d 100644 Binary files a/en/docs/chapter_tree/avl_tree.assets/avltree_left_right_rotate.png and b/en/docs/chapter_tree/avl_tree.assets/avltree_left_right_rotate.png differ diff --git a/en/docs/chapter_tree/avl_tree.assets/avltree_left_rotate.png b/en/docs/chapter_tree/avl_tree.assets/avltree_left_rotate.png index c64f74a1d..0c2ae54db 100644 Binary files a/en/docs/chapter_tree/avl_tree.assets/avltree_left_rotate.png and b/en/docs/chapter_tree/avl_tree.assets/avltree_left_rotate.png differ diff --git a/en/docs/chapter_tree/avl_tree.assets/avltree_left_rotate_with_grandchild.png b/en/docs/chapter_tree/avl_tree.assets/avltree_left_rotate_with_grandchild.png index 61026646b..3a0b2795c 100644 Binary files a/en/docs/chapter_tree/avl_tree.assets/avltree_left_rotate_with_grandchild.png and b/en/docs/chapter_tree/avl_tree.assets/avltree_left_rotate_with_grandchild.png differ diff --git a/en/docs/chapter_tree/avl_tree.assets/avltree_right_left_rotate.png b/en/docs/chapter_tree/avl_tree.assets/avltree_right_left_rotate.png index 9290719e7..78c77404c 100644 Binary files a/en/docs/chapter_tree/avl_tree.assets/avltree_right_left_rotate.png and b/en/docs/chapter_tree/avl_tree.assets/avltree_right_left_rotate.png differ diff --git a/en/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step1.png b/en/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step1.png index 456144d8f..981a8b3da 100644 Binary files a/en/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step1.png and b/en/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step1.png differ diff --git a/en/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step2.png b/en/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step2.png index 8e4a5b4bb..426362f32 100644 Binary files a/en/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step2.png and b/en/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step2.png differ diff --git a/en/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step3.png b/en/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step3.png index b563da0da..15028da52 100644 Binary files a/en/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step3.png and b/en/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step3.png differ diff --git a/en/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step4.png b/en/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step4.png index c3afd8c1b..1072ade09 100644 Binary files a/en/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step4.png and b/en/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step4.png differ diff --git a/en/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_with_grandchild.png b/en/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_with_grandchild.png index faed161d1..9a022a93e 100644 Binary files a/en/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_with_grandchild.png and b/en/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_with_grandchild.png differ diff --git a/en/docs/chapter_tree/avl_tree.assets/avltree_rotation_cases.png b/en/docs/chapter_tree/avl_tree.assets/avltree_rotation_cases.png index da4dfce6d..4474707cf 100644 Binary files a/en/docs/chapter_tree/avl_tree.assets/avltree_rotation_cases.png and b/en/docs/chapter_tree/avl_tree.assets/avltree_rotation_cases.png differ diff --git a/en/docs/chapter_tree/binary_search_tree.assets/binary_search_tree.png b/en/docs/chapter_tree/binary_search_tree.assets/binary_search_tree.png index 2c0c1e100..7eb767d5b 100644 Binary files a/en/docs/chapter_tree/binary_search_tree.assets/binary_search_tree.png and b/en/docs/chapter_tree/binary_search_tree.assets/binary_search_tree.png differ diff --git a/en/docs/chapter_tree/binary_search_tree.assets/bst_degradation.png b/en/docs/chapter_tree/binary_search_tree.assets/bst_degradation.png index e56933ca5..c5c1b30de 100644 Binary files a/en/docs/chapter_tree/binary_search_tree.assets/bst_degradation.png and b/en/docs/chapter_tree/binary_search_tree.assets/bst_degradation.png differ diff --git a/en/docs/chapter_tree/binary_search_tree.assets/bst_inorder_traversal.png b/en/docs/chapter_tree/binary_search_tree.assets/bst_inorder_traversal.png index c26c1082b..49e5144e7 100644 Binary files a/en/docs/chapter_tree/binary_search_tree.assets/bst_inorder_traversal.png and b/en/docs/chapter_tree/binary_search_tree.assets/bst_inorder_traversal.png differ diff --git a/en/docs/chapter_tree/binary_search_tree.assets/bst_insert.png b/en/docs/chapter_tree/binary_search_tree.assets/bst_insert.png index a913e0063..26f6b8bbf 100644 Binary files a/en/docs/chapter_tree/binary_search_tree.assets/bst_insert.png and b/en/docs/chapter_tree/binary_search_tree.assets/bst_insert.png differ diff --git a/en/docs/chapter_tree/binary_search_tree.assets/bst_remove_case1.png b/en/docs/chapter_tree/binary_search_tree.assets/bst_remove_case1.png index 494236725..b344dce1b 100644 Binary files a/en/docs/chapter_tree/binary_search_tree.assets/bst_remove_case1.png and b/en/docs/chapter_tree/binary_search_tree.assets/bst_remove_case1.png differ diff --git a/en/docs/chapter_tree/binary_search_tree.assets/bst_remove_case2.png b/en/docs/chapter_tree/binary_search_tree.assets/bst_remove_case2.png index 979223610..a39ddfdc4 100644 Binary files a/en/docs/chapter_tree/binary_search_tree.assets/bst_remove_case2.png and b/en/docs/chapter_tree/binary_search_tree.assets/bst_remove_case2.png differ diff --git a/en/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step1.png b/en/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step1.png index 46e03649d..b7fa9143f 100644 Binary files a/en/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step1.png and b/en/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step1.png differ diff --git a/en/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step2.png b/en/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step2.png index 0efa18000..efd772865 100644 Binary files a/en/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step2.png and b/en/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step2.png differ diff --git a/en/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step3.png b/en/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step3.png index 7f7bd2416..0ae00b2ac 100644 Binary files a/en/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step3.png and b/en/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step3.png differ diff --git a/en/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step4.png b/en/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step4.png index 5acf8ffb8..189acb6c9 100644 Binary files a/en/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step4.png and b/en/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step4.png differ diff --git a/en/docs/chapter_tree/binary_search_tree.assets/bst_search_step1.png b/en/docs/chapter_tree/binary_search_tree.assets/bst_search_step1.png index c8bee4bab..adbe100e9 100644 Binary files a/en/docs/chapter_tree/binary_search_tree.assets/bst_search_step1.png and b/en/docs/chapter_tree/binary_search_tree.assets/bst_search_step1.png differ diff --git a/en/docs/chapter_tree/binary_search_tree.assets/bst_search_step2.png b/en/docs/chapter_tree/binary_search_tree.assets/bst_search_step2.png index 788173d76..0d0aee43c 100644 Binary files a/en/docs/chapter_tree/binary_search_tree.assets/bst_search_step2.png and b/en/docs/chapter_tree/binary_search_tree.assets/bst_search_step2.png differ diff --git a/en/docs/chapter_tree/binary_search_tree.assets/bst_search_step3.png b/en/docs/chapter_tree/binary_search_tree.assets/bst_search_step3.png index 6bfb17d54..2fa5f6228 100644 Binary files a/en/docs/chapter_tree/binary_search_tree.assets/bst_search_step3.png and b/en/docs/chapter_tree/binary_search_tree.assets/bst_search_step3.png differ diff --git a/en/docs/chapter_tree/binary_search_tree.assets/bst_search_step4.png b/en/docs/chapter_tree/binary_search_tree.assets/bst_search_step4.png index 23a22a032..23d1666c9 100644 Binary files a/en/docs/chapter_tree/binary_search_tree.assets/bst_search_step4.png and b/en/docs/chapter_tree/binary_search_tree.assets/bst_search_step4.png differ diff --git a/en/docs/chapter_tree/binary_tree.assets/balanced_binary_tree.png b/en/docs/chapter_tree/binary_tree.assets/balanced_binary_tree.png index 1102330e7..4b74f1c44 100644 Binary files a/en/docs/chapter_tree/binary_tree.assets/balanced_binary_tree.png and b/en/docs/chapter_tree/binary_tree.assets/balanced_binary_tree.png differ diff --git a/en/docs/chapter_tree/binary_tree.assets/binary_tree_add_remove.png b/en/docs/chapter_tree/binary_tree.assets/binary_tree_add_remove.png index a66ca9cdf..b38ca2680 100644 Binary files a/en/docs/chapter_tree/binary_tree.assets/binary_tree_add_remove.png and b/en/docs/chapter_tree/binary_tree.assets/binary_tree_add_remove.png differ diff --git a/en/docs/chapter_tree/binary_tree.assets/binary_tree_best_worst_cases.png b/en/docs/chapter_tree/binary_tree.assets/binary_tree_best_worst_cases.png index 86c667ef0..d49d6d7f8 100644 Binary files a/en/docs/chapter_tree/binary_tree.assets/binary_tree_best_worst_cases.png and b/en/docs/chapter_tree/binary_tree.assets/binary_tree_best_worst_cases.png differ diff --git a/en/docs/chapter_tree/binary_tree.assets/binary_tree_definition.png b/en/docs/chapter_tree/binary_tree.assets/binary_tree_definition.png index df51c6fd6..507db3dc3 100644 Binary files a/en/docs/chapter_tree/binary_tree.assets/binary_tree_definition.png and b/en/docs/chapter_tree/binary_tree.assets/binary_tree_definition.png differ diff --git a/en/docs/chapter_tree/binary_tree.assets/binary_tree_terminology.png b/en/docs/chapter_tree/binary_tree.assets/binary_tree_terminology.png index 9f2563b7d..d7e5fd63e 100644 Binary files a/en/docs/chapter_tree/binary_tree.assets/binary_tree_terminology.png and b/en/docs/chapter_tree/binary_tree.assets/binary_tree_terminology.png differ diff --git a/en/docs/chapter_tree/binary_tree.assets/complete_binary_tree.png b/en/docs/chapter_tree/binary_tree.assets/complete_binary_tree.png index e8821b4f9..90e653016 100644 Binary files a/en/docs/chapter_tree/binary_tree.assets/complete_binary_tree.png and b/en/docs/chapter_tree/binary_tree.assets/complete_binary_tree.png differ diff --git a/en/docs/chapter_tree/binary_tree.assets/full_binary_tree.png b/en/docs/chapter_tree/binary_tree.assets/full_binary_tree.png index 4679adbc3..26bb60c87 100644 Binary files a/en/docs/chapter_tree/binary_tree.assets/full_binary_tree.png and b/en/docs/chapter_tree/binary_tree.assets/full_binary_tree.png differ diff --git a/en/docs/chapter_tree/binary_tree.assets/perfect_binary_tree.png b/en/docs/chapter_tree/binary_tree.assets/perfect_binary_tree.png index f12cdaff1..a3ba5298c 100644 Binary files a/en/docs/chapter_tree/binary_tree.assets/perfect_binary_tree.png and b/en/docs/chapter_tree/binary_tree.assets/perfect_binary_tree.png differ diff --git a/en/docs/chapter_tree/binary_tree_traversal.assets/binary_tree_bfs.png b/en/docs/chapter_tree/binary_tree_traversal.assets/binary_tree_bfs.png index 0619301b0..eff233bc8 100644 Binary files a/en/docs/chapter_tree/binary_tree_traversal.assets/binary_tree_bfs.png and b/en/docs/chapter_tree/binary_tree_traversal.assets/binary_tree_bfs.png differ diff --git a/en/docs/chapter_tree/binary_tree_traversal.assets/binary_tree_dfs.png b/en/docs/chapter_tree/binary_tree_traversal.assets/binary_tree_dfs.png index ee6233d11..6ae37dc32 100644 Binary files a/en/docs/chapter_tree/binary_tree_traversal.assets/binary_tree_dfs.png and b/en/docs/chapter_tree/binary_tree_traversal.assets/binary_tree_dfs.png differ diff --git a/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step1.png b/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step1.png index 47f79cf3f..8b84c7155 100644 Binary files a/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step1.png and b/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step1.png differ diff --git a/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step10.png b/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step10.png index 1ab77230c..a0a074d59 100644 Binary files a/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step10.png and b/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step10.png differ diff --git a/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step11.png b/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step11.png index 8a5393fda..9f2799a3e 100644 Binary files a/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step11.png and b/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step11.png differ diff --git a/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step2.png b/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step2.png index c32ec04e2..34ce7e7b3 100644 Binary files a/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step2.png and b/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step2.png differ diff --git a/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step3.png b/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step3.png index bff7b8c6e..94afcfb82 100644 Binary files a/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step3.png and b/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step3.png differ diff --git a/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step4.png b/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step4.png index 46af41d79..f45987fc4 100644 Binary files a/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step4.png and b/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step4.png differ diff --git a/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step5.png b/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step5.png index 8f68c9156..b81309db4 100644 Binary files a/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step5.png and b/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step5.png differ diff --git a/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step6.png b/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step6.png index 1d2d4881a..1a65ea9bd 100644 Binary files a/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step6.png and b/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step6.png differ diff --git a/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step7.png b/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step7.png index f875ea341..c3ab18fd0 100644 Binary files a/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step7.png and b/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step7.png differ diff --git a/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step8.png b/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step8.png index 1dc55c56a..46a30526b 100644 Binary files a/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step8.png and b/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step8.png differ diff --git a/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step9.png b/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step9.png index 82852f0be..daeb297c2 100644 Binary files a/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step9.png and b/en/docs/chapter_tree/binary_tree_traversal.assets/preorder_step9.png differ diff --git a/en/docs/index.assets/btn_chinese_edition.svg b/en/docs/index.assets/btn_chinese_edition.svg deleted file mode 100644 index 1d43e5738..000000000 --- a/en/docs/index.assets/btn_chinese_edition.svg +++ /dev/null @@ -1 +0,0 @@ -中文版 \ No newline at end of file diff --git a/en/docs/index.assets/btn_chinese_edition_dark.svg b/en/docs/index.assets/btn_chinese_edition_dark.svg deleted file mode 100644 index e622663ba..000000000 --- a/en/docs/index.assets/btn_chinese_edition_dark.svg +++ /dev/null @@ -1 +0,0 @@ -中文版 \ No newline at end of file diff --git a/en/docs/index.assets/btn_download_pdf.svg b/en/docs/index.assets/btn_download_pdf.svg deleted file mode 100644 index ed236a077..000000000 --- a/en/docs/index.assets/btn_download_pdf.svg +++ /dev/null @@ -1 +0,0 @@ -PDF \ No newline at end of file diff --git a/en/docs/index.assets/btn_download_pdf_dark.svg b/en/docs/index.assets/btn_download_pdf_dark.svg index 308cfeda0..20892d60a 100644 --- a/en/docs/index.assets/btn_download_pdf_dark.svg +++ b/en/docs/index.assets/btn_download_pdf_dark.svg @@ -1 +1 @@ -PDF \ No newline at end of file +PDF/ePub \ No newline at end of file diff --git a/en/docs/index.assets/btn_read_online.svg b/en/docs/index.assets/btn_read_online.svg deleted file mode 100644 index a2500e44f..000000000 --- a/en/docs/index.assets/btn_read_online.svg +++ /dev/null @@ -1 +0,0 @@ -Web \ No newline at end of file diff --git a/en/mkdocs.yml b/en/mkdocs.yml index e6b0f8104..4e64a7b8f 100644 --- a/en/mkdocs.yml +++ b/en/mkdocs.yml @@ -9,7 +9,7 @@ docs_dir: ../build/en/docs site_dir: ../site/en # Repository edit_uri: tree/main/en/docs -version: 1.2.0 +version: 1.3.0 # Configuration theme: diff --git a/epub/.gitignore b/epub/.gitignore deleted file mode 100644 index 44774968b..000000000 --- a/epub/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -dist/ -node_modules/ -*.epub -test_*.js -validation-report.json diff --git a/epub/README.md b/epub/README.md deleted file mode 100644 index 1be24744d..000000000 --- a/epub/README.md +++ /dev/null @@ -1,58 +0,0 @@ -# Hello Algorithm EPUB Converter - -Convert [Hello Algorithm](https://github.com/krahets/hello-algo) Markdown documentation to EPUB e-books. - -## Installation - -```bash -npm install -``` - -## Usage - -### Basic Usage - -```bash -# Build Chinese version with C++ code (default) -npm run build - -# Build with specific programming language -npm run build -- -l python - -# Build Traditional Chinese version -npm run build -- -d zh-hant -l python -o hello-algo-zh-hant-python.epub - -# Build English version -npm run build -- -d en -l python -o hello-algo-en-python.epub - -# Build Japanese version -npm run build -- -d ja -l cpp -o hello-algo-ja-cpp.epub - -# Build all combinations -npm run build -- --all --release-version 1.2.0 -``` - -### Command Line Parameters - -| Parameter | Short | Description | Default | -|-----------|-------|-------------|---------| -| `--doc-language` | `-d` | Document language (zh, zh-hant, en, ja) | `zh` | -| `--output` | `-o` | Output EPUB file path | `./hello-algo.epub` | -| `--language` | `-l` | Programming language | `cpp` | -| `--all` | `-a` | Build all combinations | - | -| `--release-version` | - | Version number for output filename | `1.0.0` | -| `--validate` | - | Enable content integrity validation | `false` | -| `--help` | `-h` | Show help | - | -| `--version` | `-V` | Show version | - | - -### Supported Languages - -**Document Languages:** -- `zh` - Simplified Chinese (all programming languages) -- `zh-hant` - Traditional Chinese (all programming languages) -- `en` - English (cpp, java, python only) -- `ja` - Japanese (cpp, java, python only) - -**Programming Languages:** -- Supported by all document languages: `cpp`, `python`, `java` -- Supported by Chinese versions only: `csharp`, `go`, `swift`, `javascript`, `typescript`, `dart`, `rust`, `c`, `kotlin`, `ruby`, `zig` diff --git a/epub/covers/hello-algo-cover-en.jpg b/epub/covers/hello-algo-cover-en.jpg deleted file mode 100644 index f65fad98b..000000000 Binary files a/epub/covers/hello-algo-cover-en.jpg and /dev/null differ diff --git a/epub/covers/hello-algo-cover-zh-hant.jpg b/epub/covers/hello-algo-cover-zh-hant.jpg deleted file mode 100644 index 0ba7ca92a..000000000 Binary files a/epub/covers/hello-algo-cover-zh-hant.jpg and /dev/null differ diff --git a/epub/covers/hello-algo-cover-zh.jpg b/epub/covers/hello-algo-cover-zh.jpg deleted file mode 100644 index 209efe63b..000000000 Binary files a/epub/covers/hello-algo-cover-zh.jpg and /dev/null differ diff --git a/epub/fonts/MathJax_Main-Regular.otf b/epub/fonts/MathJax_Main-Regular.otf deleted file mode 100644 index 5cfdff9a9..000000000 Binary files a/epub/fonts/MathJax_Main-Regular.otf and /dev/null differ diff --git a/epub/fonts/MathJax_Math-Regular.otf b/epub/fonts/MathJax_Math-Regular.otf deleted file mode 100644 index 9d9c1684a..000000000 Binary files a/epub/fonts/MathJax_Math-Regular.otf and /dev/null differ diff --git a/epub/package-lock.json b/epub/package-lock.json deleted file mode 100644 index a3ca142fc..000000000 --- a/epub/package-lock.json +++ /dev/null @@ -1,1735 +0,0 @@ -{ - "name": "hello-algo-epub", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "hello-algo-epub", - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "@types/commander": "^2.12.0", - "adm-zip": "^0.5.10", - "commander": "^14.0.2", - "epub-gen": "^0.1.0", - "fs-extra": "^11.2.0", - "highlight.js": "^11.11.1", - "js-yaml": "^4.1.0", - "marked": "^11.1.1", - "path": "^0.12.7" - }, - "devDependencies": { - "@types/fs-extra": "^11.0.4", - "@types/js-yaml": "^4.0.9", - "@types/node": "^20.11.0", - "ts-node": "^10.9.2", - "typescript": "^5.3.3" - } - }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "node_modules/@tsconfig/node10": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.12.tgz", - "integrity": "sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/commander": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@types/commander/-/commander-2.12.0.tgz", - "integrity": "sha512-DDmRkovH7jPjnx7HcbSnqKg2JeNANyxNZeUvB0iE+qKBLN+vzN5iSIwt+J2PFSmBuYEut4mgQvI/fTX9YQH/vw==", - "license": "MIT", - "dependencies": { - "commander": "*" - } - }, - "node_modules/@types/fs-extra": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-11.0.4.tgz", - "integrity": "sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/jsonfile": "*", - "@types/node": "*" - } - }, - "node_modules/@types/js-yaml": { - "version": "4.0.9", - "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz", - "integrity": "sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/jsonfile": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/@types/jsonfile/-/jsonfile-6.1.4.tgz", - "integrity": "sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/node": { - "version": "20.19.26", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.26.tgz", - "integrity": "sha512-0l6cjgF0XnihUpndDhk+nyD3exio3iKaYROSgvh/qSevPXax3L8p5DBRFjbvalnwatGgHEQn2R88y2fA3g4irg==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "undici-types": "~6.21.0" - } - }, - "node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.3.4", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", - "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "acorn": "^8.11.0" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/adm-zip": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.16.tgz", - "integrity": "sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ==", - "license": "MIT", - "engines": { - "node": ">=12.0" - } - }, - "node_modules/archiver": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-3.1.1.tgz", - "integrity": "sha512-5Hxxcig7gw5Jod/8Gq0OneVgLYET+oNHcxgWItq4TbhOzRLKNAFUb9edAftiMKXvXfCB0vbGrJdZDNq0dWMsxg==", - "license": "MIT", - "dependencies": { - "archiver-utils": "^2.1.0", - "async": "^2.6.3", - "buffer-crc32": "^0.2.1", - "glob": "^7.1.4", - "readable-stream": "^3.4.0", - "tar-stream": "^2.1.0", - "zip-stream": "^2.1.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/archiver-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", - "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", - "license": "MIT", - "dependencies": { - "glob": "^7.1.4", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^2.0.0" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/archiver-utils/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/archiver-utils/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "license": "MIT" - }, - "node_modules/archiver-utils/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true, - "license": "MIT" - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "license": "Python-2.0" - }, - "node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "license": "MIT", - "dependencies": { - "lodash": "^4.17.14" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "license": "MIT" - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "license": "MIT" - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "license": "MIT", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "license": "ISC" - }, - "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/cheerio": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz", - "integrity": "sha512-8/MzidM6G/TgRelkzDG13y3Y9LxBjCb+8yOEZ9+wwq5gVF2w2pV0wmHvjfT0RvuxGyR7UEuK36r+yYMbT4uKgA==", - "license": "MIT", - "dependencies": { - "css-select": "~1.2.0", - "dom-serializer": "~0.1.0", - "entities": "~1.1.1", - "htmlparser2": "^3.9.1", - "lodash.assignin": "^4.0.9", - "lodash.bind": "^4.1.4", - "lodash.defaults": "^4.0.1", - "lodash.filter": "^4.4.0", - "lodash.flatten": "^4.2.0", - "lodash.foreach": "^4.3.0", - "lodash.map": "^4.4.0", - "lodash.merge": "^4.4.0", - "lodash.pick": "^4.2.1", - "lodash.reduce": "^4.4.0", - "lodash.reject": "^4.4.0", - "lodash.some": "^4.4.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/commander": { - "version": "14.0.2", - "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz", - "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==", - "license": "MIT", - "engines": { - "node": ">=20" - } - }, - "node_modules/component-emitter": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", - "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/compress-commons": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-2.1.1.tgz", - "integrity": "sha512-eVw6n7CnEMFzc3duyFVrQEuY1BlHR3rYsSztyG32ibGMW722i3C6IizEGMFmfMU+A+fALvBIwxN3czffTcdA+Q==", - "license": "MIT", - "dependencies": { - "buffer-crc32": "^0.2.13", - "crc32-stream": "^3.0.1", - "normalize-path": "^3.0.0", - "readable-stream": "^2.3.6" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/compress-commons/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/compress-commons/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "license": "MIT" - }, - "node_modules/compress-commons/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "license": "MIT" - }, - "node_modules/cookiejar": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", - "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==", - "license": "MIT" - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "license": "MIT" - }, - "node_modules/crc": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", - "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", - "license": "MIT", - "dependencies": { - "buffer": "^5.1.0" - } - }, - "node_modules/crc32-stream": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-3.0.1.tgz", - "integrity": "sha512-mctvpXlbzsvK+6z8kJwSJ5crm7yBwrQMTybJzMw1O4lLGJqjlDCXY2Zw7KheiA6XBEcBmfLx1D88mjRGVJtY9w==", - "license": "MIT", - "dependencies": { - "crc": "^3.4.4", - "readable-stream": "^3.4.0" - }, - "engines": { - "node": ">= 6.9.0" - } - }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/css-select": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", - "integrity": "sha512-dUQOBoqdR7QwV90WysXPLXG5LO7nhYBgiWVfxF80DKPF8zx1t/pUd2FYy73emg3zrjtM6dzmYgbHKfV2rxiHQA==", - "license": "BSD-like", - "dependencies": { - "boolbase": "~1.0.0", - "css-what": "2.1", - "domutils": "1.5.1", - "nth-check": "~1.0.1" - } - }, - "node_modules/css-what": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", - "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==", - "license": "BSD-2-Clause", - "engines": { - "node": "*" - } - }, - "node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/diacritics": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/diacritics/-/diacritics-1.3.0.tgz", - "integrity": "sha512-wlwEkqcsaxvPJML+rDh/2iS824jbREk6DUMUKkEaSlxdYHeS43cClJtsWglvw2RfeXGm6ohKDqsXteJ5sP5enA==", - "license": "MIT" - }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/dom-serializer": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", - "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", - "license": "MIT", - "dependencies": { - "domelementtype": "^1.3.0", - "entities": "^1.1.1" - } - }, - "node_modules/domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", - "license": "BSD-2-Clause" - }, - "node_modules/domhandler": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", - "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "1" - } - }, - "node_modules/domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha512-gSu5Oi/I+3wDENBsOWBiRK1eoGxcywYSqg3rR960/+EfY0CF4EX1VPkgHOZ3WiS/Jg2DtliF6BhWcHlfpYUcGw==", - "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/ejs": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", - "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", - "hasInstallScript": true, - "license": "Apache-2.0", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", - "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", - "license": "MIT", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/entities": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", - "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", - "license": "BSD-2-Clause" - }, - "node_modules/epub-gen": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/epub-gen/-/epub-gen-0.1.0.tgz", - "integrity": "sha512-Xt2tP4XlDkZnrJCumP+3v4nEWqIN5JXNu0V5aUywwmKkhhIUrzRQ75igKFBbE2H0mUKlWnIpv2YMmzEa+RJeiw==", - "license": "MIT", - "dependencies": { - "archiver": "^3.0.0", - "cheerio": "^0.22.0", - "diacritics": "^1.3.0", - "ejs": "^2.6.1", - "entities": "^1.1.2", - "fs-extra": "^7.0.1", - "mime": "^2.4.0", - "q": "^1.5.1", - "rimraf": "^2.6.3", - "superagent": "^3.8.3", - "underscore": "^1.9.1", - "uslug": "^1.0.4" - } - }, - "node_modules/epub-gen/node_modules/fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/epub-gen/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "license": "MIT", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/epub-gen/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "license": "MIT", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "license": "MIT" - }, - "node_modules/form-data": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.5.tgz", - "integrity": "sha512-jqdObeR2rxZZbPSGL+3VckHMYtu+f9//KXBsVny6JSX/pa38Fy+bGjuG8eW/H6USNQWhLi8Num++cU2yOCNz4A==", - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "es-set-tostringtag": "^2.1.0", - "hasown": "^2.0.2", - "mime-types": "^2.1.35", - "safe-buffer": "^5.2.1" - }, - "engines": { - "node": ">= 0.12" - } - }, - "node_modules/formidable": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.6.tgz", - "integrity": "sha512-KcpbcpuLNOwrEjnbpMC0gS+X8ciDoZE1kkqzat4a8vrprf+s9pKNQ/QIwWfbfs4ltgmFl3MD177SNTkve3BwGQ==", - "deprecated": "Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau", - "license": "MIT", - "funding": { - "url": "https://ko-fi.com/tunnckoCore/commissions" - } - }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "license": "MIT" - }, - "node_modules/fs-extra": { - "version": "11.3.2", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz", - "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==", - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "license": "ISC" - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "license": "ISC" - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/highlight.js": { - "version": "11.11.1", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.11.1.tgz", - "integrity": "sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/htmlparser2": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", - "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", - "license": "MIT", - "dependencies": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "license": "ISC" - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsonfile": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", - "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/lazystream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", - "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", - "license": "MIT", - "dependencies": { - "readable-stream": "^2.0.5" - }, - "engines": { - "node": ">= 0.6.3" - } - }, - "node_modules/lazystream/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/lazystream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "license": "MIT" - }, - "node_modules/lazystream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "license": "MIT" - }, - "node_modules/lodash.assignin": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", - "integrity": "sha512-yX/rx6d/UTVh7sSVWVSIMjfnz95evAgDFdb1ZozC35I9mSFCkmzptOzevxjgbQUsc78NR44LVHWjsoMQXy9FDg==", - "license": "MIT" - }, - "node_modules/lodash.bind": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz", - "integrity": "sha512-lxdsn7xxlCymgLYo1gGvVrfHmkjDiyqVv62FAeF2i5ta72BipE1SLxw8hPEPLhD4/247Ijw07UQH7Hq/chT5LA==", - "license": "MIT" - }, - "node_modules/lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==", - "license": "MIT" - }, - "node_modules/lodash.difference": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.difference/-/lodash.difference-4.5.0.tgz", - "integrity": "sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==", - "license": "MIT" - }, - "node_modules/lodash.filter": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz", - "integrity": "sha512-pXYUy7PR8BCLwX5mgJ/aNtyOvuJTdZAo9EQFUvMIYugqmJxnrYaANvTbgndOzHSCSR0wnlBBfRXJL5SbWxo3FQ==", - "license": "MIT" - }, - "node_modules/lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==", - "license": "MIT" - }, - "node_modules/lodash.foreach": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", - "integrity": "sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==", - "license": "MIT" - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", - "license": "MIT" - }, - "node_modules/lodash.map": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", - "integrity": "sha512-worNHGKLDetmcEYDvh2stPCrrQRkP20E4l0iIS7F8EvzMqBBi7ltvFN5m1HvTf1P7Jk1txKhvFcmYsCr8O2F1Q==", - "license": "MIT" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "license": "MIT" - }, - "node_modules/lodash.pick": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", - "integrity": "sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==", - "deprecated": "This package is deprecated. Use destructuring assignment syntax instead.", - "license": "MIT" - }, - "node_modules/lodash.reduce": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", - "integrity": "sha512-6raRe2vxCYBhpBu+B+TtNGUzah+hQjVdu3E17wfusjyrXBka2nBS8OH/gjVZ5PvHOhWmIZTYri09Z6n/QfnNMw==", - "license": "MIT" - }, - "node_modules/lodash.reject": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz", - "integrity": "sha512-qkTuvgEzYdyhiJBx42YPzPo71R1aEr0z79kAv7Ixg8wPFEjgRgJdUsGMG3Hf3OYSF/kHI79XhNlt+5Ar6OzwxQ==", - "license": "MIT" - }, - "node_modules/lodash.some": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", - "integrity": "sha512-j7MJE+TuT51q9ggt4fSgVqro163BEFjAt3u97IqU+JA2DkWl80nFTrowzLpZ/BnpN7rrl0JA/593NAdd8p/scQ==", - "license": "MIT" - }, - "node_modules/lodash.union": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz", - "integrity": "sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==", - "license": "MIT" - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true, - "license": "ISC" - }, - "node_modules/marked": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-11.2.0.tgz", - "integrity": "sha512-HR0m3bvu0jAPYiIvLUUQtdg1g6D247//lvcekpHO1WMvbwDlwSkZAX9Lw4F4YHE1T0HaaNve0tuAWuV1UJ6vtw==", - "license": "MIT", - "bin": { - "marked": "bin/marked.js" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "~1.0.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/path": { - "version": "0.12.7", - "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", - "integrity": "sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==", - "license": "MIT", - "dependencies": { - "process": "^0.11.1", - "util": "^0.10.3" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "license": "MIT", - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "license": "MIT" - }, - "node_modules/q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", - "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", - "license": "MIT", - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } - }, - "node_modules/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/superagent": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz", - "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==", - "deprecated": "Please upgrade to superagent v10.2.2+, see release notes at https://github.com/forwardemail/superagent/releases/tag/v10.2.2 - maintenance is supported by Forward Email @ https://forwardemail.net", - "license": "MIT", - "dependencies": { - "component-emitter": "^1.2.0", - "cookiejar": "^2.1.0", - "debug": "^3.1.0", - "extend": "^3.0.0", - "form-data": "^2.3.1", - "formidable": "^1.2.0", - "methods": "^1.1.1", - "mime": "^1.4.1", - "qs": "^6.5.1", - "readable-stream": "^2.3.5" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/superagent/node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/superagent/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/superagent/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "license": "MIT" - }, - "node_modules/superagent/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "license": "MIT", - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ts-node": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", - "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, - "node_modules/typescript": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/underscore": { - "version": "1.13.7", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz", - "integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==", - "license": "MIT" - }, - "node_modules/undici-types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unorm": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.6.0.tgz", - "integrity": "sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA==", - "license": "MIT or GPL-2.0", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uslug": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/uslug/-/uslug-1.0.4.tgz", - "integrity": "sha512-Jrbpp/NS3TvIGNjfJT1sn3/BCeykoxR8GbNYW5lF6fUscLkbXFwj1b7m4DvIkHm8k3Qr6Co68lbTmoZTMGk/ow==", - "dependencies": { - "unorm": ">= 1.0.0" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/util": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", - "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", - "license": "MIT", - "dependencies": { - "inherits": "2.0.3" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "license": "MIT" - }, - "node_modules/util/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "license": "ISC" - }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true, - "license": "MIT" - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "license": "ISC" - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/zip-stream": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-2.1.3.tgz", - "integrity": "sha512-EkXc2JGcKhO5N5aZ7TmuNo45budRaFGHOmz24wtJR7znbNqDPmdZtUauKX6et8KAVseAMBOyWJqEpXcHTBsh7Q==", - "license": "MIT", - "dependencies": { - "archiver-utils": "^2.1.0", - "compress-commons": "^2.1.1", - "readable-stream": "^3.4.0" - }, - "engines": { - "node": ">= 6" - } - } - } -} diff --git a/epub/package.json b/epub/package.json deleted file mode 100644 index c2cbf70fc..000000000 --- a/epub/package.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "hello-algo-epub", - "version": "1.0.0", - "description": "Convert Hello Algorithm docs to EPUB", - "main": "dist/index.js", - "scripts": { - "build": "ts-node src/index.ts" - }, - "keywords": [ - "epub", - "markdown", - "ebook" - ], - "author": "", - "license": "MIT", - "dependencies": { - "@types/commander": "^2.12.0", - "adm-zip": "^0.5.10", - "commander": "^14.0.2", - "epub-gen": "^0.1.0", - "fs-extra": "^11.2.0", - "highlight.js": "^11.11.1", - "js-yaml": "^4.1.0", - "marked": "^11.1.1", - "path": "^0.12.7" - }, - "devDependencies": { - "@types/fs-extra": "^11.0.4", - "@types/js-yaml": "^4.0.9", - "@types/node": "^20.11.0", - "ts-node": "^10.9.2", - "typescript": "^5.3.3" - } -} diff --git a/epub/src/epub.ts b/epub/src/epub.ts deleted file mode 100644 index 6d573ec7e..000000000 --- a/epub/src/epub.ts +++ /dev/null @@ -1,371 +0,0 @@ -import * as fs from 'fs-extra'; -import * as path from 'path'; -import { Chapter, ImageInfo, EpubGenOptions } from './types'; -import { markdownToHtml, extractImagePaths, readImage, getCustomCSS } from './markdown'; - -const Epub = require('epub-gen'); - -export interface EpubOptions { - title: string; - author: string; - publisher?: string; - description?: string; - language?: string; - cover?: string; - codeLanguage?: string; // Programming language for code examples - docLanguage?: string; // Document language (zh, zh-hant, en, ja) - version?: string; // Version number -} - -/** - * Get table of contents title based on document language - */ -function getTocTitle(docLanguage?: string): string { - const tocTitles: { [key: string]: string } = { - 'zh': '目录', - 'zh-hant': '目錄', - 'en': 'Table of Contents', - 'ja': '目次', - }; - return tocTitles[docLanguage || 'zh'] || '目录'; -} - -/** - * Generate homepage HTML - */ -function generateTitlePage(title: string, author: string, docLanguage?: string, version?: string, codeLanguage?: string): string { - const lang = docLanguage || 'zh'; - - // Code reviewer mapping by language and document language - const codeReviewers: { [docLang: string]: { [codeLang: string]: string } } = { - 'zh': { - 'python': '靳宇栋(@krahets)', - 'cpp': '宫兰景(@Gonglja)', - 'java': '靳宇栋(@krahets)', - 'csharp': '@hpstory', - 'go': '刘代富(@Reanon)', - 'swift': '@nuomi1', - 'javascript': '谢发 (@justin-tse)', - 'typescript': '谢发 (@justin-tse)', - 'dart': '刘玉新(@gvenusleo)', - 'rust': '伍志豪(@night-cruise)、荣怡(@rongyi)', - 'c': '宫兰景(@Gonglja)', - 'ruby': '阮春科秀(@khoaxuantu)', - 'kotlin': '陈东辉(@curtishd)', - }, - 'zh-hant': { - 'python': '靳宇棟(@krahets)', - 'cpp': '宮蘭景(@Gonglja)', - 'java': '靳宇棟(@krahets)', - 'csharp': '@hpstory', - 'go': '劉代富(@Reanon)', - 'swift': '@nuomi1', - 'javascript': '謝發 (@justin-tse)', - 'typescript': '謝發 (@justin-tse)', - 'dart': '劉玉新(@gvenusleo)', - 'rust': '伍志豪(@night-cruise)、榮怡(@rongyi)', - 'c': '宮蘭景(@Gonglja)', - 'ruby': '阮春科秀(@khoaxuantu)', - 'kotlin': '陳東輝(@curtishd)', - }, - 'en': { - 'python': 'Yudong Jin (@krahets)', - 'cpp': 'Lanjing Gong (@Gonglja)', - 'java': 'Yudong Jin (@krahets)', - 'csharp': '@hpstory', - 'go': 'Daifu Liu (@Reanon)', - 'swift': '@nuomi1', - 'javascript': 'Fa Xie (@justin-tse)', - 'typescript': 'Fa Xie (@justin-tse)', - 'dart': 'Yuxin Liu (@gvenusleo)', - 'rust': 'Zhihao Wu (@night-cruise), Yi Rong (@rongyi)', - 'c': 'Lanjing Gong (@Gonglja)', - 'ruby': 'Chunke Xiu Ruan (@khoaxuantu)', - 'kotlin': 'Donghui Chen (@curtishd)', - }, - 'ja': { - 'python': '靳宇棟(@krahets)', - 'cpp': '宮蘭景(@Gonglja)', - 'java': '靳宇棟(@krahets)', - 'csharp': '@hpstory', - 'go': '劉代富(@Reanon)', - 'swift': '@nuomi1', - 'javascript': '謝発 (@justin-tse)', - 'typescript': '謝発 (@justin-tse)', - 'dart': '劉玉新(@gvenusleo)', - 'rust': '伍志豪(@night-cruise)、栄怡(@rongyi)', - 'c': '宮蘭景(@Gonglja)', - 'ruby': '阮春科秀(@khoaxuantu)', - 'kotlin': '陳東輝(@curtishd)', - }, - }; - - // Multilingual text configuration - const i18n: { [key: string]: { subtitle: string; authorPrefix: string; authorName: string; codeReviewPrefix: string; readOnline: string; codeRepo: string; versionPrefix: string } } = { - 'zh': { - subtitle: '动画图解、一键运行的数据结构与算法教程', - authorPrefix: '作者:', - authorName: '靳宇栋 (@krahets)', - codeReviewPrefix: '代码审阅:', - readOnline: '在线阅读', - codeRepo: '代码仓库', - versionPrefix: '版本', - }, - 'zh-hant': { - subtitle: '動畫圖解、一鍵運行的資料結構與演算法教程', - authorPrefix: '作者:', - authorName: '靳宇棟 (@krahets)', - codeReviewPrefix: '程式碼審閱:', - readOnline: '線上閱讀', - codeRepo: '程式碼倉庫', - versionPrefix: '版本', - }, - 'en': { - subtitle: 'Data structures and algorithms crash course with animated illustrations and off-the-shelf code', - authorPrefix: 'Author: ', - authorName: 'Yudong Jin (@krahets)', - codeReviewPrefix: 'Code Review: ', - readOnline: 'Read Online', - codeRepo: 'Code Repository', - versionPrefix: 'Version', - }, - 'ja': { - subtitle: 'アニメーション図解、ワンクリック実行のデータ構造とアルゴリズム教程', - authorPrefix: '著者:', - authorName: '靳宇棟 (@krahets)', - codeReviewPrefix: 'コードレビュー:', - readOnline: 'オンライン閲覧', - codeRepo: 'コードリポジトリ', - versionPrefix: 'バージョン', - }, - }; - - const text = i18n[lang] || i18n['zh']; - const versionText = version ? `${text.versionPrefix} ${version}` : ''; - const codeReviewer = codeLanguage && codeReviewers[lang] && codeReviewers[lang][codeLanguage] - ? codeReviewers[lang][codeLanguage] - : ''; - - return ` -
-

Hello 算法

- -

${text.subtitle}

- -

${text.authorPrefix}${text.authorName}

- - ${codeReviewer ? `

${text.codeReviewPrefix}${codeReviewer}

` : ''} - - ${versionText ? `

${versionText}

` : ''} - -
-

- ${text.readOnline}
- www.hello-algo.com -

-

- ${text.codeRepo}
- github.com/krahets/hello-algo -

-
-
- `; -} - -/** - * Generate EPUB e-book - */ -export async function generateEpub( - chapters: Chapter[], - docsDir: string, - outputPath: string, - options: EpubOptions -): Promise { - console.log('Starting EPUB generation...'); - - // Create temporary directory for images - const tempDir = path.join(path.dirname(outputPath), 'temp_images'); - fs.ensureDirSync(tempDir); - - // Prepare content - const content: any[] = []; - const imageMap: { [original: string]: string } = {}; - let imageIndex = 0; - - // Add homepage (before table of contents) - const titlePageTitles: { [key: string]: string } = { - 'zh': '首页', - 'zh-hant': '首頁', - 'en': 'Home', - 'ja': 'ホーム', - }; - const titlePageTitle = titlePageTitles[options.docLanguage || 'zh'] || '首页'; - - content.push({ - title: titlePageTitle, - data: generateTitlePage(options.title, options.author, options.docLanguage, options.version, options.codeLanguage), - beforeToc: true, // Before table of contents - excludeFromToc: false, // Include in table of contents - level: 0, - number: '', - }); - - for (const chapter of chapters) { - if (!chapter.content) { - continue; - } - - console.log(`Processing chapter: ${chapter.title}`); - - // Read chapter content - const markdown = chapter.content; - const chapterDir = path.dirname(chapter.path); - - // Extract images and copy to temporary directory - const imagePaths = extractImagePaths(markdown, chapter.path); - for (const { original, fullPath } of imagePaths) { - if (!imageMap[original]) { - // Copy image to temporary directory - const ext = path.extname(fullPath); - const newFileName = `img_${imageIndex}${ext}`; - const tempImagePath = path.join(tempDir, newFileName); - fs.copyFileSync(fullPath, tempImagePath); - imageMap[original] = tempImagePath; - imageIndex++; - } - - // Replace image paths in markdown with absolute paths (using file:// protocol) - const tempImagePath = imageMap[original]; - chapter.content = chapter.content.replace( - new RegExp(`!\\[[^\\]]*\\]\\(${escapeRegex(original)}\\)`, 'g'), - `![${path.basename(fullPath)}](file://${tempImagePath})` - ); - } - - // Use chapter title directly (MD documents already have numbering) - const displayTitle = chapter.title.trim(); - - // Convert to HTML - const codeLanguage = options.codeLanguage || 'cpp'; - const html = markdownToHtml(chapter.content, chapterDir, codeLanguage, options.docLanguage, chapter.path); - - content.push({ - title: displayTitle, - data: html, - // Do not use beforeToc, let all chapters arrange naturally in order - // Chapters are already arranged according to mkdocs.yml order, parent chapters first, child chapters follow - beforeToc: false, - excludeFromToc: false, - // Add level information for generating nested table of contents - level: chapter.level, - parentTitle: chapter.parentTitle, - number: chapter.number, - }); - } - - // Prepare font file paths - const fontsDir = path.join(__dirname, '..', 'fonts'); - const fonts: string[] = []; - - // Add math fonts (shared by all versions) - const mathJaxMathPath = path.join(fontsDir, 'MathJax_Math-Regular.otf'); - const mathJaxMainPath = path.join(fontsDir, 'MathJax_Main-Regular.otf'); - - // Add code font (shared by all versions) - const jetbrainsMonoPath = path.join(fontsDir, 'JetBrainsMonoNerdFont-Regular.ttf'); - - // Select body font based on document language - const docLang = options.docLanguage || 'zh'; - let serifFontPath: string | null = null; - let serifItalicFontPath: string | null = null; - - if (docLang === 'zh' || docLang === 'zh-hant') { - // Chinese version uses Noto Serif SC Regular - serifFontPath = path.join(fontsDir, 'NotoSerifSC-Regular.ttf'); - } else if (docLang === 'en') { - // English version uses Roboto Serif - serifFontPath = path.join(fontsDir, 'RobotoSerif-VariableFont_GRAD,opsz,wdth,wght.ttf'); - serifItalicFontPath = path.join(fontsDir, 'RobotoSerif-Italic-VariableFont_GRAD,opsz,wdth,wght.ttf'); - } else if (docLang === 'ja') { - // Japanese version uses Noto Serif JP - serifFontPath = path.join(fontsDir, 'NotoSerifJP-VariableFont_wght.ttf'); - } - - // Add math fonts - if (fs.existsSync(mathJaxMathPath)) { - fonts.push(mathJaxMathPath); - } else { - console.warn(`Warning: Font file does not exist: ${mathJaxMathPath}`); - } - if (fs.existsSync(mathJaxMainPath)) { - fonts.push(mathJaxMainPath); - } else { - console.warn(`Warning: Font file does not exist: ${mathJaxMainPath}`); - } - - // Add body font - if (serifFontPath && fs.existsSync(serifFontPath)) { - fonts.push(serifFontPath); - } else if (serifFontPath) { - console.warn(`Warning: Font file does not exist: ${serifFontPath}`); - } - - // Add italic font (if available) - if (serifItalicFontPath && fs.existsSync(serifItalicFontPath)) { - fonts.push(serifItalicFontPath); - } else if (serifItalicFontPath) { - console.warn(`Warning: Font file does not exist: ${serifItalicFontPath}`); - } - - // Add code font - if (fs.existsSync(jetbrainsMonoPath)) { - fonts.push(jetbrainsMonoPath); - } else { - console.warn(`Warning: Font file does not exist: ${jetbrainsMonoPath}`); - } - - // Prepare EPUB options - const epubOptions: EpubGenOptions = { - title: options.title, - author: options.author, - publisher: options.publisher || 'Hello Algorithm', - description: options.description || '动画图解、一键运行的数据结构与算法教程', - language: options.language || 'zh-CN', - content: content, - verbose: true, - // Disable automatic chapter title addition (we already handle this in Markdown) - appendChapterTitles: false, - // Use custom templates to generate nested table of contents - customNcxTocTemplatePath: path.join(__dirname, '..', 'templates', 'toc.ncx.ejs'), - customHtmlTocTemplatePath: path.join(__dirname, '..', 'templates', 'toc.xhtml.ejs'), - // Inject custom CSS (based on document language) - css: getCustomCSS(options.docLanguage), - // Set cover - cover: options.cover, - // Add font files - fonts: fonts, - // Set table of contents title based on document language - tocTitle: getTocTitle(options.docLanguage), - }; - - // Generate EPUB - try { - epubOptions.output = outputPath; - const epub = new Epub(epubOptions); - await epub.promise; - console.log(`EPUB generated successfully: ${outputPath}`); - - // Clean up temporary directory - fs.removeSync(tempDir); - } catch (error) { - console.error('Error generating EPUB:', error); - // Clean up temporary directory - fs.removeSync(tempDir); - throw error; - } -} - -function escapeRegex(str: string): string { - return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); -} - diff --git a/epub/src/index.ts b/epub/src/index.ts deleted file mode 100644 index 2c1f90a91..000000000 --- a/epub/src/index.ts +++ /dev/null @@ -1,535 +0,0 @@ -import * as fs from 'fs-extra'; -import * as path from 'path'; -import { execSync } from 'child_process'; -import { Command } from 'commander'; -import { parseMkdocsConfig, flattenNav, readChapterContent, parseVersion } from './parser'; -import { generateEpub } from './epub'; -import { Chapter, HeadingInfo } from './types'; -import { extractHeadings } from './markdown'; -import { validateEpubHeadings } from './validator'; - -// Supported programming languages list -const SUPPORTED_LANGUAGES = [ - 'cpp', 'python', 'java', 'csharp', 'go', 'swift', - 'javascript', 'typescript', 'dart', 'rust', 'c', - 'kotlin', 'ruby', 'zig' -]; - -// Document language configuration -interface DocLanguageConfig { - mkdocsPath: string; - docsDir: string; - title: string; - description: string; - language: string; - supportedCodeLanguages?: string[]; // Supported programming languages list -} - -/** - * Generate output filename - */ -function generateOutputFilename(docLanguage: string, codeLanguage: string, workDir: string, projectRoot: string): string { - // Get document language configuration - const docConfig = DOC_LANGUAGE_CONFIG[docLanguage]; - const mkdocsPath = path.resolve(workDir, docConfig.mkdocsPath); - - // Parse version from mkdocs.yml - const version = parseVersion(mkdocsPath); - - const filename = `hello-algo_${version}_${docLanguage}_${codeLanguage}.epub`; - const outputDir = path.join(projectRoot, 'build', 'epub', 'outputs'); - fs.ensureDirSync(outputDir); - return path.join(outputDir, filename); -} - -/** - * Get git repository remote URL - */ -function getGitRemoteUrl(): string { - try { - const url = execSync('git remote get-url origin', { encoding: 'utf-8', cwd: process.cwd() }).trim(); - return url; - } catch (error) { - console.error('Error: Unable to get git remote URL'); - console.error('Please ensure the current directory is a git repository or manually specify the repository URL'); - throw error; - } -} - -/** - * Recursively copy directory, skipping existing files - */ -function copyDirectoryRecursive(src: string, dest: string): void { - if (!fs.existsSync(src)) { - return; - } - - const stat = fs.statSync(src); - - if (stat.isDirectory()) { - // Ensure target directory exists - fs.ensureDirSync(dest); - - // Read all contents of source directory - const entries = fs.readdirSync(src); - - for (const entry of entries) { - const srcPath = path.join(src, entry); - const destPath = path.join(dest, entry); - - const entryStat = fs.statSync(srcPath); - - if (entryStat.isDirectory()) { - // Recursively handle subdirectories - copyDirectoryRecursive(srcPath, destPath); - } else { - // Copy file if target doesn't exist - if (!fs.existsSync(destPath)) { - fs.copyFileSync(srcPath, destPath); - } - } - } - } else { - // If it's a file, copy directly (if target doesn't exist) - if (!fs.existsSync(dest)) { - fs.copyFileSync(src, dest); - } - } -} - -/** - * Prepare docs branch working directory - * 1. Clone docs branch to build/epub/hello-algo directory - * 2. Copy necessary files and directories (skip existing files) - */ -async function prepareDocsBranch(): Promise { - // Get project root directory (assuming running from epub directory, or current directory is project root) - const currentDir = process.cwd(); - let projectRoot: string; - - // If current directory is epub directory, go up to find project root - if (path.basename(currentDir) === 'epub') { - projectRoot = path.dirname(currentDir); - } else { - // Otherwise assume current directory is project root - projectRoot = currentDir; - } - - const buildEpubDir = path.join(projectRoot, 'build', 'epub', 'hello-algo'); - - console.log('Preparing docs branch working directory...'); - console.log(`Project root directory: ${projectRoot}`); - console.log(`Target directory: ${buildEpubDir}`); - - // Create build/epub directory (if it doesn't exist) - const buildDir = path.join(projectRoot, 'build', 'epub'); - fs.ensureDirSync(buildDir); - - // Get git repository URL - const repoUrl = getGitRemoteUrl(); - - // Check if build/epub/hello-algo directory already exists - if (fs.existsSync(buildEpubDir)) { - const gitDir = path.join(buildEpubDir, '.git'); - - // Check if it's a git repository - if (fs.existsSync(gitDir)) { - console.log('Detected existing git repository, using git pull to update...'); - try { - // First switch to docs branch (if not on docs branch) - execSync('git checkout docs', { - stdio: 'inherit', - cwd: buildEpubDir - }); - - // Execute git pull to update - execSync('git pull', { - stdio: 'inherit', - cwd: buildEpubDir - }); - - console.log('✓ docs branch update completed'); - } catch (error) { - console.error('Error: git pull update failed, trying to re-clone...'); - // If pull fails, delete directory and re-clone - fs.removeSync(buildEpubDir); - // Continue with clone logic below - } - } else { - // If directory exists but is not a git repository, delete and re-clone - console.log('Detected existing directory but not a git repository, deleting and re-cloning...'); - fs.removeSync(buildEpubDir); - } - } - - // If directory doesn't exist or has been deleted, execute clone - if (!fs.existsSync(buildEpubDir)) { - try { - console.log(`Cloning docs branch: ${repoUrl}`); - console.log(`Target: ${buildEpubDir}`); - - // Execute git clone, using shallow clone for speed - execSync(`git clone --branch docs --depth 1 "${repoUrl}" "${buildEpubDir}"`, { - stdio: 'inherit', - cwd: projectRoot - }); - - console.log('✓ docs branch clone completed'); - } catch (error) { - console.error('Error: Failed to clone docs branch'); - throw error; - } - } - - // Files and directories to copy - const itemsToCopy = ['mkdocs.yml', 'docs', 'en', 'ja', 'overrides', 'zh-hant']; - - console.log('\nStarting file copy...'); - - for (const item of itemsToCopy) { - const sourcePath = path.join(projectRoot, item); - const targetPath = path.join(buildEpubDir, item); - - // Check if source file/directory exists - if (!fs.existsSync(sourcePath)) { - console.log(`⚠️ Skipping ${item} (source file does not exist)`); - continue; - } - - try { - const stat = fs.statSync(sourcePath); - - if (stat.isDirectory()) { - // For directories, recursively copy, skipping existing files - copyDirectoryRecursive(sourcePath, targetPath); - console.log(`✓ Copied directory: ${item}`); - } else { - // For files, copy if target doesn't exist - if (!fs.existsSync(targetPath)) { - fs.copyFileSync(sourcePath, targetPath); - console.log(`✓ Copied file: ${item}`); - } else { - console.log(`⊘ Skipping ${item} (target file already exists)`); - } - } - } catch (error) { - console.error(`⚠️ Error copying ${item}:`, error instanceof Error ? error.message : String(error)); - // Continue processing other files - } - } - - console.log('\n✓ File copy completed'); - console.log(`Working directory: ${buildEpubDir}\n`); - - return buildEpubDir; -} - -const DOC_LANGUAGE_CONFIG: { [key: string]: DocLanguageConfig } = { - 'zh': { - mkdocsPath: 'mkdocs.yml', - docsDir: 'docs', // Relative to project root directory - title: 'Hello 算法', - description: '动画图解、一键运行的数据结构与算法教程', - language: 'zh-CN', - // Chinese version supports all languages - }, - 'zh-hant': { - mkdocsPath: 'zh-hant/mkdocs.yml', - docsDir: 'zh-hant/docs', // Relative to project root directory - title: 'Hello 演算法', - description: '動畫圖解、一鍵執行的資料結構與演算法教程', - language: 'zh-Hant', - // Traditional Chinese version supports all languages - }, - 'en': { - mkdocsPath: 'en/mkdocs.yml', - docsDir: 'en/docs', // Relative to project root directory - title: 'Hello Algo', - description: 'Data Structures and Algorithms Crash Course with Animated Illustrations and Off-the-Shelf Code', - language: 'en', - supportedCodeLanguages: ['cpp', 'java', 'python'], - }, - 'ja': { - mkdocsPath: 'ja/mkdocs.yml', - docsDir: 'ja/docs', // Relative to project root directory - title: 'Hello アルゴリズム', - description: 'アニメーションで図解、ワンクリック実行のデータ構造とアルゴリズムチュートリアル', - language: 'ja', - supportedCodeLanguages: ['cpp', 'java', 'python'], - } -}; - -/** - * Build a single EPUB file - */ -async function buildEpub( - docLanguage: string, - codeLanguage: string, - outputPath: string, - workDir: string, - validate: boolean = false -): Promise<{ success: boolean; error?: string }> { - try { - // Get document language configuration - const docConfig = DOC_LANGUAGE_CONFIG[docLanguage]; - if (!docConfig) { - return { success: false, error: `Unsupported document language: ${docLanguage}` }; - } - - // Verify if programming language is supported by this document language - if (docConfig.supportedCodeLanguages && !docConfig.supportedCodeLanguages.includes(codeLanguage)) { - return { success: false, error: `Document language "${docLanguage}" does not support programming language "${codeLanguage}"` }; - } - - // Config file path (workDir is now project root directory) - const mkdocsPath = path.resolve(workDir, docConfig.mkdocsPath); - - // Calculate project root directory (workDir is project root directory) - const repoDir = workDir; - - // Document directory (absolute path) - const docsDir = path.join(repoDir, docConfig.docsDir); - - // Check if directory exists - if (!fs.existsSync(docsDir)) { - return { success: false, error: `Document directory does not exist: ${docsDir}` }; - } - - if (!fs.existsSync(mkdocsPath)) { - return { success: false, error: `Config file does not exist: ${mkdocsPath}` }; - } - - // Parse configuration - const nav = parseMkdocsConfig(mkdocsPath); - // Parse version from mkdocs.yml - const version = parseVersion(mkdocsPath); - - // Flatten navigation structure - const chapters = flattenNav(nav, docsDir); - - // Read chapter content and extract headings - const allHeadings: HeadingInfo[] = []; - - for (const chapter of chapters) { - chapter.content = readChapterContent(chapter); - - // Extract all headings from this chapter - if (chapter.content.trim().length > 0) { - const headings = extractHeadings(chapter.content, chapter.path); - allHeadings.push(...headings); - } - } - - // Filter out empty content - const validChapters = chapters.filter(ch => ch.content.trim().length > 0); - - // Cover image path (select based on document language) - const epubDir = path.join(__dirname, '..'); - const coverMap: { [key: string]: string } = { - 'zh': path.join(epubDir, 'covers', 'hello-algo-cover-zh.jpg'), - 'zh-hant': path.join(epubDir, 'covers', 'hello-algo-cover-zh-hant.jpg'), - 'en': path.join(epubDir, 'covers', 'hello-algo-cover-en.jpg'), - 'ja': path.join(epubDir, 'covers', 'hello-algo-cover-en.jpg'), // Temporarily use English cover - }; - const coverPath = coverMap[docLanguage] || coverMap['zh']; - - // Generate EPUB - await generateEpub(validChapters, docsDir, outputPath, { - title: docConfig.title, - author: 'krahets', - publisher: 'Hello Algorithm', - description: docConfig.description, - language: docConfig.language, - cover: coverPath, - codeLanguage: codeLanguage, - docLanguage: docLanguage, - version: version, - }); - - // Validate EPUB content integrity (only execute when enabled) - if (validate) { - const validation = await validateEpubHeadings(outputPath, allHeadings); - - if (!validation.success) { - return { success: true, error: `Validation warning: Missing ${validation.missingHeadings.length} headings` }; - } - } - - return { success: true }; - } catch (error) { - return { success: false, error: error instanceof Error ? error.message : String(error) }; - } -} - -async function main() { - // Create command line program - const program = new Command(); - - program - .name('hello-algo-epub') - .description('Convert Hello Algorithm documentation to EPUB e-book') - .version('1.0.0') - .option('-d, --doc-language ', 'Document language (zh, zh-hant, en, ja)', 'zh') - .option('-o, --output ', 'Output EPUB file path') - .option('-l, --language ', `Programming language (${SUPPORTED_LANGUAGES.join(', ')})`, 'cpp') - .option('-a, --all', 'Build all combinations of document languages and programming languages') - .option('--validate', 'Enable EPUB content integrity validation', false) - .parse(process.argv); - - const options = program.opts(); - - // Get project root directory - const currentDir = process.cwd(); - let projectRoot: string; - if (path.basename(currentDir) === 'epub') { - projectRoot = path.dirname(currentDir); - } else { - projectRoot = currentDir; - } - - // Prepare docs branch working directory - let workDir: string; - try { - workDir = await prepareDocsBranch(); - } catch (error) { - console.error('Failed to prepare docs branch working directory:', error instanceof Error ? error.message : String(error)); - process.exit(1); - } - - // If using --all, execute batch build - if (options.all) { - // Validation: Cannot use --all with other options - // Check if these options were explicitly provided in command line arguments - const args = process.argv; - const hasDocLanguage = args.includes('-d') || args.includes('--doc-language'); - const hasLanguage = args.includes('-l') || args.includes('--language'); - const hasOutput = args.includes('-o') || args.includes('--output'); - - if (hasDocLanguage || hasLanguage || hasOutput) { - console.error('Error: Cannot specify --doc-language, --language, or --output when using --all'); - process.exit(1); - } - - // Generate all combinations - const builds: Array<{ docLanguage: string; codeLanguage: string }> = []; - - for (const docLang of Object.keys(DOC_LANGUAGE_CONFIG)) { - const docConfig = DOC_LANGUAGE_CONFIG[docLang]; - const codeLangs = docConfig.supportedCodeLanguages || SUPPORTED_LANGUAGES; - - for (const codeLang of codeLangs) { - builds.push({ docLanguage: docLang, codeLanguage: codeLang }); - } - } - - console.log(`Starting batch build of ${builds.length} EPUB files...\n`); - - const results: Array<{ docLanguage: string; codeLanguage: string; success: boolean; error?: string; outputPath: string }> = []; - - for (let i = 0; i < builds.length; i++) { - const { docLanguage, codeLanguage } = builds[i]; - const outputPath = generateOutputFilename(docLanguage, codeLanguage, workDir, projectRoot); - - console.log(`[${i + 1}/${builds.length}] Building: ${docLanguage}-${codeLanguage}`); - - const result = await buildEpub(docLanguage, codeLanguage, outputPath, workDir, options.validate); - - if (result.success) { - console.log(` ✅ Success: ${path.basename(outputPath)}`); - if (result.error) { - console.log(` ⚠️ ${result.error}`); - } - } else { - console.log(` ❌ Failed: ${result.error}`); - } - console.log(); - - results.push({ - docLanguage, - codeLanguage, - success: result.success, - error: result.error, - outputPath - }); - } - - // Display statistics - const successCount = results.filter(r => r.success).length; - const failCount = results.length - successCount; - - console.log('='.repeat(60)); - console.log('Build completed!'); - console.log(`Success: ${successCount}/${results.length}`); - console.log(`Failed: ${failCount}/${results.length}`); - console.log('='.repeat(60)); - - if (failCount > 0) { - console.log('\nFailed builds:'); - results.filter(r => !r.success).forEach(r => { - console.log(` - ${r.docLanguage}-${r.codeLanguage}: ${r.error}`); - }); - process.exit(1); - } - - return; - } - - // Single build logic - // Validate document language parameter - const supportedDocLanguages = Object.keys(DOC_LANGUAGE_CONFIG); - if (!supportedDocLanguages.includes(options.docLanguage)) { - console.error(`Error: Unsupported document language "${options.docLanguage}"`); - console.error(`Supported document languages: ${supportedDocLanguages.join(', ')}`); - process.exit(1); - } - - // Validate programming language parameter - if (!SUPPORTED_LANGUAGES.includes(options.language)) { - console.error(`Error: Unsupported programming language "${options.language}"`); - console.error(`Supported programming languages: ${SUPPORTED_LANGUAGES.join(', ')}`); - process.exit(1); - } - - // Get document language configuration - const docConfig = DOC_LANGUAGE_CONFIG[options.docLanguage]; - - // Validate combination of document language and programming language - if (docConfig.supportedCodeLanguages && !docConfig.supportedCodeLanguages.includes(options.language)) { - console.error(`Error: Document language "${options.docLanguage}" does not support programming language "${options.language}"`); - console.error(`${options.docLanguage} supported programming languages: ${docConfig.supportedCodeLanguages.join(', ')}`); - process.exit(1); - } - - // If output path not provided, auto-generate filename - const outputDir = path.join(projectRoot, 'build', 'epub', 'outputs'); - fs.ensureDirSync(outputDir); - - const outputPath = options.output - ? path.join(outputDir, path.basename(options.output)) - : path.join(outputDir, `hello-algo_${options.docLanguage}_${options.language}.epub`); - - console.log('Starting document processing...'); - console.log(`Document language: ${options.docLanguage}`); - console.log(`Programming language: ${options.language}`); - console.log(`Output file: ${outputPath}`); - console.log(); - - const result = await buildEpub(options.docLanguage, options.language, outputPath, workDir, options.validate); - - if (!result.success) { - console.error(`Build failed: ${result.error}`); - process.exit(1); - } - - if (result.error) { - console.warn(`⚠️ ${result.error}`); - } - - console.log('Completed!'); -} - -main().catch((error) => { - console.error('An error occurred:', error); - process.exit(1); -}); - diff --git a/epub/src/markdown.ts b/epub/src/markdown.ts deleted file mode 100644 index 20165f5be..000000000 --- a/epub/src/markdown.ts +++ /dev/null @@ -1,1457 +0,0 @@ -import { marked } from 'marked'; -import * as path from 'path'; -import * as fs from 'fs-extra'; -import { HeadingInfo } from './types'; -import { ImageInfo } from './types'; -import hljs from 'highlight.js'; - -/** - * Language configuration mapping - */ -interface LanguageConfig { - displayName: string; // Display name used in === "Language Name" - dirName: string; // Subdirectory name under codes/ directory - extension: string; // File extension - useSnakeCase: boolean; // Whether to use snake_case naming (false means camelCase) -} - -const LANGUAGE_MAP: { [key: string]: LanguageConfig } = { - cpp: { displayName: 'C++', dirName: 'cpp', extension: '.cpp', useSnakeCase: false }, - python: { displayName: 'Python', dirName: 'python', extension: '.py', useSnakeCase: true }, - java: { displayName: 'Java', dirName: 'java', extension: '.java', useSnakeCase: false }, - csharp: { displayName: 'C#', dirName: 'csharp', extension: '.cs', useSnakeCase: false }, - go: { displayName: 'Go', dirName: 'go', extension: '.go', useSnakeCase: false }, - swift: { displayName: 'Swift', dirName: 'swift', extension: '.swift', useSnakeCase: false }, - javascript: { displayName: 'JS', dirName: 'javascript', extension: '.js', useSnakeCase: false }, - typescript: { displayName: 'TS', dirName: 'typescript', extension: '.ts', useSnakeCase: false }, - dart: { displayName: 'Dart', dirName: 'dart', extension: '.dart', useSnakeCase: false }, - rust: { displayName: 'Rust', dirName: 'rust', extension: '.rs', useSnakeCase: true }, - c: { displayName: 'C', dirName: 'c', extension: '.c', useSnakeCase: true }, - kotlin: { displayName: 'Kotlin', dirName: 'kotlin', extension: '.kt', useSnakeCase: false }, - ruby: { displayName: 'Ruby', dirName: 'ruby', extension: '.rb', useSnakeCase: true }, - zig: { displayName: 'Zig', dirName: 'zig', extension: '.zig', useSnakeCase: true }, -}; - -/** - * Map markdown code block language identifiers to highlight.js supported language identifiers - * This mapping ensures code highlighting works correctly - */ -function normalizeLanguageForHighlight(lang: string | undefined): string { - if (!lang || lang.trim() === '') { - return ''; - } - - // Remove title attribute (if exists) - let normalized = lang.replace(/\s+title="[^"]*"/, '').trim().toLowerCase(); - - // Language identifier mapping table: markdown identifier -> highlight.js identifier - const langMap: { [key: string]: string } = { - 'py': 'python', - 'python': 'python', - 'cpp': 'cpp', - 'c++': 'cpp', - 'cxx': 'cpp', - 'java': 'java', - 'cs': 'csharp', - 'csharp': 'csharp', - 'c#': 'csharp', - 'go': 'go', - 'golang': 'go', - 'swift': 'swift', - 'js': 'javascript', - 'javascript': 'javascript', - 'ts': 'typescript', - 'typescript': 'typescript', - 'dart': 'dart', - 'rust': 'rust', - 'rs': 'rust', - 'c': 'c', - 'kt': 'kotlin', - 'kotlin': 'kotlin', - 'rb': 'ruby', - 'ruby': 'ruby', - 'zig': 'zig', - }; - - // If exists in mapping table, return mapped value - if (langMap[normalized]) { - return langMap[normalized]; - } - - // Otherwise return original value (may be supported by highlight.js) - return normalized; -} - -/** - * Get comment prefix based on programming language - */ -function getCommentPrefix(lang: string): string { - // Python uses # - if (lang === 'python' || lang === 'py') { - return '#'; - } - // Other languages use // - return '//'; -} - -/** - * Configure marked renderer - */ -function configureMarked() { - const renderer = new marked.Renderer(); - - // Custom heading rendering (heading numbers already provided by MD documents) - renderer.heading = (text: string, level: number) => { - // Generate anchor ID (remove special characters and spaces) - const id = text - .replace(/[^\u4e00-\u9fa5a-zA-Z0-9\s]/g, '') // Keep Chinese, letters, numbers and spaces - .trim() - .replace(/\s+/g, '-') // Replace spaces with hyphens - .toLowerCase(); - return `${text}\n`; - }; - - // Custom link rendering, remove links to .md files (invalid in EPUB) - renderer.link = (href: string, title: string | null, text: string) => { - // If link points to .md file, only return text content (remove hyperlink) - if (href && href.endsWith('.md')) { - return text; - } - // Other links remain unchanged - const titleAttr = title ? ` title="${title}"` : ''; - return `${text}`; - }; - - // Custom image rendering, for later image extraction - renderer.image = (href: string, title: string | null, text: string) => { - return `${text || ''}`; - }; - - // Custom code block rendering, supports title attribute and syntax highlighting - renderer.code = (code: string, language: string | undefined, escaped: boolean) => { - let lang = language || ''; - let highlightedCode = code; - let filename: string | null = null; - - // Extract title from language parameter (format: cpp title="heap.cpp") - // marked passes the entire infostring as the language parameter - if (language) { - const titleMatch = language.match(/title="([^"]+)"/); - if (titleMatch) { - filename = titleMatch[1]; - } - } - - // Normalize language identifier to ensure compatibility with highlight.js - const normalizedLang = normalizeLanguageForHighlight(lang); - - // Use highlight.js for syntax highlighting - try { - if (normalizedLang && normalizedLang !== '' && hljs.getLanguage(normalizedLang)) { - // Use normalized language identifier for highlighting - const result = hljs.highlight(code, { language: normalizedLang }); - highlightedCode = result.value; - lang = normalizedLang; - } else { - // If language not supported, use auto-detection - const result = hljs.highlightAuto(code); - highlightedCode = result.value; - lang = result.language || normalizedLang || 'text'; - } - } catch (error) { - console.warn(`Syntax highlighting failed, using original code: ${error}`); - highlightedCode = escaped ? code : escapeHtml(code); - lang = normalizedLang || 'text'; - } - - // If has filename, add filename as comment at the beginning of code - if (filename && filename.trim() !== '') { - const commentPrefix = getCommentPrefix(lang); - const codeWithFilename = `${commentPrefix} ${escapeHtml(filename)}\n\n${highlightedCode}`; - return `
${codeWithFilename}
`; - } - - // Normal code block without filename - return `
${highlightedCode}
`; - }; - - // Custom table rendering, maintain original format - renderer.table = (header: string, body: string) => { - return `\n\n${header}\n\n${body}\n
`; - }; - - marked.setOptions({ - renderer, - gfm: true, - breaks: false, - pedantic: false, - }); -} - -function escapeHtml(text: string): string { - const map: { [key: string]: string } = { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - "'": ''', - }; - return text.replace(/[&<>"']/g, (m) => map[m]); -} - -/** - * Remove YAML frontmatter (--- ... --- block at the beginning of file) - */ -function removeYamlFrontmatter(markdown: string): string { - // Remove YAML frontmatter at the beginning of file (--- ... ---) - return markdown.replace(/^---\s*\n[\s\S]*?\n---\s*\n/, ''); -} - -/** - * Remove all end-of-line attribute block markers (like {data-toc-label="..."} or { class="animation-figure" }) - */ -function removeAttributeBlocks(markdown: string): string { - // Only remove "attribute block-like" braces: - // - Contains "=" inside (like data-toc-label="...", class="...", etc.) - // - Avoid damaging LaTeX syntax (e.g., \begin{aligned}, \text{...} that don't contain "=") - // Note: Only process in non-code block areas to avoid mistakenly deleting code block content - const lines = markdown.split('\n'); - const result: string[] = []; - let inCodeBlock = false; - - for (let i = 0; i < lines.length; i++) { - const line = lines[i]; - - // 检查是否是代码块开始/结束标记 - if (line.match(/^\s*```/)) { - inCodeBlock = !inCodeBlock; - result.push(line); - continue; - } - - // If inside code block, keep original line without removing attribute blocks - if (inCodeBlock) { - result.push(line); - continue; - } - - // Only remove end-of-line attribute blocks in non-code block areas - // Precise matching: only remove specific format attribute blocks - // Matching formats: - // - {data-toc-label="..."} - // - { class="animation-figure" } - // - {class="cover-image"} - // Use more precise regex, only match common HTML/Markdown attribute names - // Match: optional space + { + optional space + attribute name + optional space + = + optional space + "value" + optional space + } + optional space + end of line - const cleanedLine = line.replace(/\s*\{\s*(?:data-toc-label|class)\s*=\s*"[^"]*"\s*\}\s*$/, ''); - result.push(cleanedLine); - } - - return result.join('\n'); -} - -/** - * Decrease heading levels (lower all headings by one level) - * Skip content in code blocks - */ -function decreaseHeadingLevels(markdown: string): string { - const lines = markdown.split('\n'); - const result: string[] = []; - let inCodeBlock = false; - - for (const line of lines) { - // 检查是否是代码块开始/结束标记 - if (line.match(/^\s*```/)) { - inCodeBlock = !inCodeBlock; - result.push(line); - continue; - } - - // If inside code block, keep original line - if (inCodeBlock) { - result.push(line); - continue; - } - - // Match heading line: ^#{1,6}\s+ - const headingMatch = line.match(/^(#{1,6})\s+(.+)$/); - if (headingMatch) { - const level = headingMatch[1].length; - const content = headingMatch[2]; - - // If already H6, keep unchanged; otherwise increase one level - if (level < 6) { - result.push('#' + headingMatch[1] + ' ' + content); - } else { - result.push(line); - } - } else { - result.push(line); - } - } - - return result.join('\n'); -} - -/** - * Convert Markdown to HTML - * @param markdown Markdown text - * @param baseDir Base directory - * @param language Programming language (default 'cpp') - * @param docLanguage Document language (optional, for admonition title localization: zh, zh-hant, en, ja) - * @param filePath File path (optional, used to determine if it's index.md) - */ -export function markdownToHtml(markdown: string, baseDir: string, language: string = 'cpp', docLanguage?: string, filePath?: string): string { - configureMarked(); - - // First clean up unwanted markers - markdown = removeYamlFrontmatter(markdown); - markdown = removeAttributeBlocks(markdown); - - // If not index.md file, decrease heading levels - if (filePath && path.basename(filePath, '.md') !== 'index') { - markdown = decreaseHeadingLevels(markdown); - } - - // Process multi-language code blocks, only keep specified language version - markdown = processMultiLanguageCodeBlocks(markdown, language); - - // Process tabbed content (=== "<1>", === "ArrayStack" etc. non-programming language tabs) - markdown = processTabbedContent(markdown); - - // Process special admonition syntax (!!! abstract, !!! success, etc.) - const admonitionResult = processAdmonitions(markdown, docLanguage); - markdown = admonitionResult.markdown; - const admonitionPlaceholders = admonitionResult.placeholders; - - // Support

syntax, convert it to use CSS class - markdown = markdown.replace(//g, '

'); - - // Use placeholders to protect math formulas from being escaped by marked - // Use pure alphanumeric placeholders (avoid special characters being parsed by Markdown) - const mathPlaceholders = new Map(); - let placeholderCounter = 0; - - // 先提取块级公式 $$...$$ - markdown = markdown.replace(/\$\$([\s\S]+?)\$\$/g, (match, formula) => { - const placeholder = `XMATHBLOCKX${placeholderCounter}X`; - const rendered = processDisplayMath(formula); - mathPlaceholders.set(placeholder, rendered); - placeholderCounter++; - return placeholder; - }); - - // 再提取行内公式 $...$ - markdown = markdown.replace(/\$([^\$\n]+?)\$/g, (match, formula) => { - const placeholder = `XMATHINLINEX${placeholderCounter}X`; - const rendered = processInlineMath(formula); - mathPlaceholders.set(placeholder, rendered); - placeholderCounter++; - return placeholder; - }); - - // Parse Markdown - let html = marked.parse(markdown) as string; - - // 替换回数学公式的 HTML - for (const [placeholder, rendered] of mathPlaceholders.entries()) { - html = html.replace(new RegExp(placeholder, 'g'), rendered); - } - - // Parse and replace back admonition content placeholders - for (const [placeholder, content] of admonitionPlaceholders.entries()) { - // Process math formulas in content - let processedContent = content; - const contentMathPlaceholders = new Map(); - let contentPlaceholderCounter = 0; - - // First extract block-level formulas $$...$$ - processedContent = processedContent.replace(/\$\$([\s\S]+?)\$\$/g, (match, formula) => { - const mathPlaceholder = `XMATHBLOCKX${contentPlaceholderCounter}X`; - const rendered = processDisplayMath(formula); - contentMathPlaceholders.set(mathPlaceholder, rendered); - contentPlaceholderCounter++; - return mathPlaceholder; - }); - - // Then extract inline formulas $...$ - processedContent = processedContent.replace(/\$([^\$\n]+?)\$/g, (match, formula) => { - const mathPlaceholder = `XMATHINLINEX${contentPlaceholderCounter}X`; - const rendered = processInlineMath(formula); - contentMathPlaceholders.set(mathPlaceholder, rendered); - contentPlaceholderCounter++; - return mathPlaceholder; - }); - - // Parse Markdown in content - let parsedContent = marked.parse(processedContent) as string; - - // Replace back math formula HTML - for (const [mathPlaceholder, rendered] of contentMathPlaceholders.entries()) { - parsedContent = parsedContent.replace(new RegExp(mathPlaceholder, 'g'), rendered); - } - - html = html.replace(new RegExp(placeholder, 'g'), parsedContent); - } - - return wrapHtmlContent(html); -} - -/** - * Process tabbed content (non-programming language tabs, such as step descriptions, different implementation methods, etc.) - * All this content should be preserved and converted to appropriate HTML format - */ -function processTabbedContent(markdown: string): string { - // Match === "non-programming language tags" content blocks - // These tags include: <1>, <2>, ..., ArrayStack, LinkedListStack, push(), pop(), etc. - const lines = markdown.split('\n'); - const result: string[] = []; - let i = 0; - - // Define programming language tags (these should not be processed by processTabbedContent) - const programmingLanguages = [ - 'Python', 'C++', 'Java', 'C#', 'Go', 'Swift', 'JS', 'TS', - 'Dart', 'Rust', 'C', 'Kotlin', 'Ruby', 'Zig' - ]; - - while (i < lines.length) { - const line = lines[i]; - - // Check if it's a tag line - const tabMatch = line.match(/^===\s+"([^"]+)"/); - - // Only process non-programming language tags - if (tabMatch && !programmingLanguages.includes(tabMatch[1])) { - const tabName = tabMatch[1]; - - i++; - - // Collect all indented content under this tag - while (i < lines.length) { - const contentLine = lines[i]; - - // If encounter next === tag, end current tag content - if (contentLine.match(/^===/)) { - break; - } - - // If encounter non-indented heading or paragraph, end current tag content - if (contentLine.trim() && !contentLine.match(/^\s/) && contentLine.match(/^[^#\s]/)) { - break; - } - - // Remove 4 space indentation (MkDocs tabbed content usually has 4 space indentation) - result.push(contentLine.replace(/^ /, '')); - i++; - } - - continue; - } - - // 普通行,直接添加 - result.push(line); - i++; - } - - return result.join('\n'); -} - -function processMultiLanguageCodeBlocks(markdown: string, language: string = 'cpp'): string { - // Get target language display name - const langConfig = LANGUAGE_MAP[language]; - const targetLangName = langConfig ? langConfig.displayName : 'C++'; - - // Define programming language tags to filter (only these tags will be treated as multi-language code blocks) - const programmingLanguages = [ - 'Python', 'C++', 'Java', 'C#', 'Go', 'Swift', 'JS', 'TS', - 'Dart', 'Rust', 'C', 'Kotlin', 'Ruby', 'Zig' - ]; - - // Match entire multi-language code block group (from first === to next non-indented line or file end) - // Use more precise matching: consecutive === "Language" blocks until encountering non-indented line - const lines = markdown.split('\n'); - const result: string[] = []; - let i = 0; - - while (i < lines.length) { - const line = lines[i]; - - // Check if it's a language tag line - const langMatch = line.match(/^===\s+"([^"]+)"/); - - // Only process programming language tags, other tags (like <1>, <2>, ArrayStack, etc.) remain unchanged - if (langMatch && programmingLanguages.includes(langMatch[1])) { - // Found the start of a multi-language code block group - const blocks: Array<{ lang: string; lines: string[] }> = []; - let currentLang = langMatch[1]; - let currentBlockLines: string[] = []; - let inCodeBlock = false; - - // Collect all language blocks - i++; // Skip first language tag line - - while (i < lines.length) { - const currentLine = lines[i]; - - // Check if it's next language tag (must be outside code block) - if (!inCodeBlock) { - const nextLangMatch = currentLine.match(/^===\s+"([^"]+)"/); - if (nextLangMatch) { - // Only continue processing when it's a programming language tag - if (programmingLanguages.includes(nextLangMatch[1])) { - // Save current block - if (currentBlockLines.length > 0) { - blocks.push({ lang: currentLang, lines: currentBlockLines }); - } - // Start new block - currentLang = nextLangMatch[1]; - currentBlockLines = []; - i++; - continue; - } else { - // Encounter non-programming language tag (like <1>, ArrayStack, etc.), code block group ends - if (currentBlockLines.length > 0) { - blocks.push({ lang: currentLang, lines: currentBlockLines }); - } - break; - } - } - } - - // Check if it's code block start/end (match any indentation ```) - - if (currentLine.match(/^\s*```/)) { - inCodeBlock = !inCodeBlock; - currentBlockLines.push(currentLine); - i++; - continue; - } - - // When inside code block, all content should be collected - if (inCodeBlock) { - currentBlockLines.push(currentLine); - i++; - continue; - } - - // When outside code block, check if code block group ends - // If encounter non-indented non-empty line (and not next language tag), code block group ends - if (currentLine.trim()) { - // If it's heading line (starts with #), code block group ends - if (currentLine.match(/^#/)) { - // Heading line, code block group ends - if (currentBlockLines.length > 0) { - blocks.push({ lang: currentLang, lines: currentBlockLines }); - } - break; - } else if (!currentLine.match(/^\s/) && !currentLine.match(/^===/) && !currentLine.match(/^\?\?\?/) && !currentLine.match(/^```/)) { - // Normal paragraph (non-indented, non-language tag, non-admonition, non-code block), code block group ends - if (currentBlockLines.length > 0) { - blocks.push({ lang: currentLang, lines: currentBlockLines }); - } - break; - } - } - - // Add to current block (including empty lines and indented lines outside code block) - currentBlockLines.push(currentLine); - i++; - } - - // If loop ends, save last block - if (currentBlockLines.length > 0) { - blocks.push({ lang: currentLang, lines: currentBlockLines }); - } - - // Find target language version - const targetBlock = blocks.find(b => b.lang === targetLangName); - - if (targetBlock) { - // Only keep target language version code block (remove indentation) - for (const blockLine of targetBlock.lines) { - // Remove leading 4 space indentation - result.push(blockLine.replace(/^ /, '')); - } - } else if (blocks.length > 0) { - // If no target language version, keep first version - for (const blockLine of blocks[0].lines) { - result.push(blockLine.replace(/^ /, '')); - } - } - - // i has already been updated in the loop, continue processing next line - continue; - } - - // 普通行,直接添加 - result.push(line); - i++; - } - - return result.join('\n'); -} - -/** - * Process inline math formulas - */ -function processInlineMath(formula: string): string { - const content = processMathContent(formula.trim()); - return `${content}`; -} - -/** - * Process block-level math formulas - */ -function processDisplayMath(formula: string): string { - let result = formula.trim(); - - // Process aligned environment - if (result.includes('\\begin{aligned}')) { - result = result.replace(/\\begin\{aligned\}([\s\S]*?)\\end\{aligned\}/g, (match, content) => { - return processAlignedMath(content); - }); - } else { - result = processMathContent(result); - } - - return `

${result}
`; -} - -/** - * Process aligned math environment - */ -function processAlignedMath(content: string): string { - // Process \newline - let aligned = content.trim().replace(/\\newline/g, '\n'); - - // Split by line - const lines = aligned.split('\n').filter((line: string) => line.trim()); - - if (lines.length === 0) { - return processMathContent(content); - } - - // Process each line - const processedLines = lines.map((line: string) => { - if (line.includes('&')) { - // Has alignment symbol, split by & - return line.split('&').map((part: string) => processMathContent(part.trim())); - } else { - // No alignment symbol - return [processMathContent(line.trim())]; - } - }); - - // Build table - let html = ''; - for (const line of processedLines) { - html += ''; - for (let i = 0; i < line.length; i++) { - const cell = line[i] || ''; - const align = i === 0 ? 'right' : 'left'; - html += ``; - } - html += ''; - } - html += '
${cell}
'; - - return html; -} - -/** - * Process math formula content (LaTeX to HTML) - */ -function processMathContent(latex: string): string { - let result = latex.trim(); - - // First process text and roman font (before processing superscripts/subscripts to avoid nested braces issue) - result = result.replace(/\\text\s*\{([^}]+)\}/g, '$1'); - result = result.replace(/\\mathrm\s*\{([^}]+)\}/g, '$1'); - - // Process function names - result = result.replace(/\\log/g, 'log'); - result = result.replace(/\\ln/g, 'ln'); - result = result.replace(/\\sin/g, 'sin'); - result = result.replace(/\\cos/g, 'cos'); - result = result.replace(/\\tan/g, 'tan'); - - // Process subscripts - result = result.replace(/_\{([^}]+)\}/g, '$1'); - result = result.replace(/_([a-zA-Z0-9])/g, '$1'); - - // Process superscripts - result = result.replace(/\^\{([^}]+)\}/g, '$1'); - result = result.replace(/\^([a-zA-Z0-9])/g, '$1'); - - // Process fractions - result = result.replace(/\\frac\s*\{([^}]+)\}\s*\{([^}]+)\}/g, '$1⁄$2'); - - // Process square root - result = result.replace(/\\sqrt\s*\{([^}]+)\}/g, '√$1'); - - // Process Greek letters - const greekMap: { [key: string]: string } = { - '\\alpha': 'α', '\\beta': 'β', '\\gamma': 'γ', '\\delta': 'δ', - '\\epsilon': 'ε', '\\theta': 'θ', '\\lambda': 'λ', '\\mu': 'μ', - '\\pi': 'π', '\\sigma': 'σ', '\\tau': 'τ', '\\phi': 'φ', - '\\omega': 'ω', '\\Theta': 'Θ', '\\Omega': 'Ω' - }; - - for (const [tex, unicode] of Object.entries(greekMap)) { - result = result.replace(new RegExp(tex.replace(/\\/g, '\\\\'), 'g'), unicode); - } - - // Process special symbols - result = result.replace(/\\times/g, '×'); - result = result.replace(/\\div/g, '÷'); - result = result.replace(/\\cdot/g, '·'); - result = result.replace(/\\ast/g, '∗'); - result = result.replace(/\\pm/g, '±'); - result = result.replace(/\\mp/g, '∓'); - result = result.replace(/\\leq/g, '≤'); - result = result.replace(/\\geq/g, '≥'); - result = result.replace(/\\neq/g, '≠'); - result = result.replace(/\\ne/g, '≠'); - result = result.replace(/\\approx/g, '≈'); - result = result.replace(/\\equiv/g, '≡'); - result = result.replace(/\\sim/g, '∼'); - result = result.replace(/\\propto/g, '∝'); - result = result.replace(/\\infty/g, '∞'); - result = result.replace(/\\sum/g, '∑'); - result = result.replace(/\\prod/g, '∏'); - result = result.replace(/\\int/g, '∫'); - result = result.replace(/\\dots/g, '...'); - result = result.replace(/\\ldots/g, '…'); - result = result.replace(/\\lfloor/g, '⌊'); - result = result.replace(/\\rfloor/g, '⌋'); - result = result.replace(/\\lceil/g, '⌈'); - result = result.replace(/\\rceil/g, '⌉'); - result = result.replace(/\\in/g, '∈'); - result = result.replace(/\\notin/g, '∉'); - result = result.replace(/\\subset/g, '⊂'); - result = result.replace(/\\supset/g, '⊃'); - result = result.replace(/\\subseteq/g, '⊆'); - result = result.replace(/\\supseteq/g, '⊇'); - result = result.replace(/\\cup/g, '∪'); - result = result.replace(/\\cap/g, '∩'); - result = result.replace(/\\emptyset/g, '∅'); - result = result.replace(/\\forall/g, '∀'); - result = result.replace(/\\exists/g, '∃'); - result = result.replace(/\\land/g, '∧'); - result = result.replace(/\\lor/g, '∨'); - result = result.replace(/\\neg/g, '¬'); - - // Process space commands - result = result.replace(/\\quad/g, ' '); - result = result.replace(/\\qquad/g, ' '); - result = result.replace(/\\,/g, ' '); - result = result.replace(/\\;/g, ' '); - - // Process arrow symbols - result = result.replace(/\\rightarrow/g, '→'); - result = result.replace(/\\leftarrow/g, '←'); - result = result.replace(/\\Rightarrow/g, '⇒'); - result = result.replace(/\\Leftarrow/g, '⇐'); - result = result.replace(/\\leftrightarrow/g, '↔'); - result = result.replace(/\\Leftrightarrow/g, '⇔'); - result = result.replace(/\\to/g, '→'); - result = result.replace(/\\gets/g, '←'); - - // Process LaTeX bracket commands (remove \left and \right directly, keep brackets themselves) - result = result.replace(/\\left\s*/g, ''); - result = result.replace(/\\right\s*/g, ''); - - // Process escaped braces (use placeholders to protect) - result = result.replace(/\\\{/g, 'LEFTBRACE'); - result = result.replace(/\\\}/g, 'RIGHTBRACE'); - - // Clean brackets and backslashes - result = result.replace(/\{|\}/g, ''); - result = result.replace(/\\/g, ''); - - // Restore escaped braces - result = result.replace(/LEFTBRACE/g, '{'); - result = result.replace(/RIGHTBRACE/g, '}'); - - // Clean consecutive extra spaces (but preserve spaces inside HTML tags) - result = result.replace(/(?]*)\s{2,}(?![^<]*>)/g, ' '); - - // No longer convert letters to italics, keep original letters - - return result; -} - - -/** - * Process MkDocs admonition syntax - * Supports two formats: - * 1. !!! note (use default title) - * 2. !!! note "Custom title" (use custom title) - */ -function processAdmonitions(markdown: string, docLanguage?: string): { markdown: string; placeholders: Map } { - const lines = markdown.split('\n'); - const result: string[] = []; - const placeholders = new Map(); - let placeholderCounter = 0; - let i = 0; - - while (i < lines.length) { - const line = lines[i]; - - // Check if it's admonition start - const admonitionMatch = line.match(/^!!!\s+(\w+)(?:\s+"([^"]+)")?\s*$/); - - if (admonitionMatch) { - const type = admonitionMatch[1]; - const customTitle = admonitionMatch[2]; - const title = customTitle || getAdmonitionTitle(type, docLanguage); - - i++; // Skip admonition marker line - - // Collect all indented content (starting with 4 spaces) - const contentLines: string[] = []; - while (i < lines.length) { - const contentLine = lines[i]; - - // If it's indented line (starting with 4 spaces), belongs to admonition content - if (contentLine.match(/^ /)) { - // Remove first 4 spaces - contentLines.push(contentLine.substring(4)); - i++; - } - // If it's empty line, may also belong to admonition content (need to check next line) - else if (contentLine.trim() === '') { - // Look ahead, if next line is still indented, this empty line belongs to admonition - if (i + 1 < lines.length && lines[i + 1].match(/^ /)) { - contentLines.push(''); - i++; - } else { - // Otherwise admonition ends - break; - } - } - // Non-indented non-empty line, admonition ends - else { - break; - } - } - - // Generate admonition HTML structure, content part uses placeholder - const content = contentLines.join('\n').trim(); - const placeholder = `XADMONITIONCONTENTX${placeholderCounter}X`; - placeholders.set(placeholder, content); - placeholderCounter++; - - result.push(`
`); - // If title is empty, don't display title - if (title) { - result.push(`
${title}
`); - } - result.push(placeholder); - result.push(`
`); - - continue; - } - - // 普通行 - result.push(line); - i++; - } - - return { markdown: result.join('\n'), placeholders }; -} - -function getAdmonitionTitle(type: string, docLanguage?: string): string { - const lang = docLanguage || 'zh'; - - const titles: { [key: string]: { [key: string]: string } } = { - 'zh': { - abstract: '摘要', - success: '成功', - info: '信息', - warning: '警告', - danger: '危险', - note: '注意', - tip: '提示', - question: '问题', - quote: '引用', - }, - 'zh-hant': { - abstract: '摘要', - success: '成功', - info: '資訊', - warning: '警告', - danger: '危險', - note: '注意', - tip: '提示', - question: '問題', - quote: '引用', - }, - 'en': { - abstract: 'Summary', - success: 'Success', - info: 'Info', - warning: 'Warning', - danger: 'Danger', - note: 'Note', - tip: 'Hint', - question: 'Question', - quote: 'Quote', - }, - 'ja': { - abstract: '要約', - success: '成功', - info: '情報', - warning: '警告', - danger: '危険', - note: '注意', - tip: 'ヒント', - question: '質問', - quote: '引用', - }, - }; - - // If type is in dictionary, use dictionary value; if dictionary value is empty string, it means this type doesn't need a title - // If type is not in dictionary, return type itself - const title = titles[lang]?.[type]; - if (title !== undefined) { - return title; - } - const fallbackTitle = titles['zh']?.[type]; - if (fallbackTitle !== undefined) { - return fallbackTitle; - } - return type; -} - -/** - * Get custom CSS styles - */ -export function getCustomCSS(docLanguage?: string): string { - const lang = docLanguage || 'zh'; - - // Select font configuration based on document language - let serifFontName = 'Noto Serif SC'; - let serifFontFile = 'NotoSerifSC-Regular.ttf'; - let serifItalicFontFile: string | null = null; - let bodyFontFamily = '"Noto Serif SC", "Noto Serif CJK SC", "Source Han Serif SC", serif'; - - if (lang === 'en') { - serifFontName = 'Roboto Serif'; - serifFontFile = 'RobotoSerif-VariableFont_GRAD,opsz,wdth,wght.ttf'; - serifItalicFontFile = 'RobotoSerif-Italic-VariableFont_GRAD,opsz,wdth,wght.ttf'; - bodyFontFamily = '"Roboto Serif", serif'; - } else if (lang === 'ja') { - serifFontName = 'Noto Serif JP'; - serifFontFile = 'NotoSerifJP-VariableFont_wght.ttf'; - bodyFontFamily = '"Noto Serif JP", "Noto Serif CJK JP", serif'; - } else if (lang === 'zh' || lang === 'zh-hant') { - // Use default Noto Serif SC Regular - } - - return ` - /* Define embedded fonts */ - @font-face { - font-family: "MathJax_Math"; - src: url(./fonts/MathJax_Math-Regular.otf); - font-style: normal; - font-weight: normal; - } - @font-face { - font-family: "MathJax_Main"; - src: url(./fonts/MathJax_Main-Regular.otf); - font-style: normal; - font-weight: normal; - } - @font-face { - font-family: "${serifFontName}"; - src: url(./fonts/${serifFontFile}); - font-style: normal; - font-weight: normal; - } - ${serifItalicFontFile ? `@font-face { - font-family: "${serifFontName}"; - src: url(./fonts/${serifItalicFontFile}); - font-style: italic; - font-weight: normal; - }` : ''} - @font-face { - font-family: "JetBrains Mono"; - src: url(./fonts/JetBrainsMonoNerdFont-Regular.ttf); - font-style: normal; - font-weight: normal; - } - - body { - font-family: ${bodyFontFamily}; - line-height: 1.6; - max-width: 800px; - margin: 0 auto; - padding: 20px; - color: #333; - } - /* Link styles */ - a { - color: #1581CB; - text-decoration: none; - } - a:hover { - text-decoration: underline; - } - /* Center-aligned paragraphs (compatible with

syntax, converted to .text-center) */ - .text-center { - text-align: center; - } - /* Reduce bold text font weight */ - strong, b { - font-weight: 600; - } - h1, h2, h3, h4, h5, h6 { - color: #24292e; - margin-top: 1.2em; - margin-bottom: 0.6em; - font-weight: 600; - line-height: 1.25; - } - /* Chapter title (Chapter X) */ - h1 { - font-size: 1.5em; - text-align: center; - } - /* Section title (X.Y) */ - h2 { font-size: 1.3em; } - /* Main heading within Markdown document */ - h3 { font-size: 1.15em; } - /* Subheading within Markdown document */ - h4 { font-size: 1.05em; } - h5 { font-size: 1.0em; } - h6 { font-size: 1.0em; } - /* Inline code */ - code { - background-color: #f0f0f0; - padding: 2px 6px; - border-radius: 3px; - border: 1px solid #d0d0d0; - font-family: "JetBrains Mono", "Consolas", "Monaco", "Courier New", monospace; - font-size: 0.82em; - color: #333; - } - - /* Code blocks */ - pre { - padding: 3px 3px; - background-color: #f5f5f5; - border: 1.5px solid #d0d0d0; - border-radius: 6px; - margin: 16px 0; - line-height: 1.65; - page-break-inside: auto !important; - break-inside: auto !important; - } - - pre code { - background-color: #f5f5f5; - padding: 14px 16px; - border: none; - white-space: pre-wrap; - word-wrap: break-word; - word-break: break-all; - overflow-wrap: break-word; - font-family: "JetBrains Mono", "Consolas", "Monaco", "Courier New", monospace; - font-size: 0.78em; - color: #24292e; - display: block; - } - img { - max-width: 100%; - height: auto; - display: block; - margin: 20px auto; - border-radius: 8px; - } - blockquote { - border-left: 4px solid #3498db; - margin: 0; - padding-left: 20px; - color: #666; - } - table { - border-collapse: collapse; - width: 100%; - margin: 20px 0; - border: 1px solid #ddd; - font-size: 0.8em; - } - th, td { - border: 1px solid #ddd; - padding: 12px; - text-align: left; - vertical-align: top; - } - th { - background-color: #f2f2f2; - font-weight: bold; - text-align: center; - } - tbody tr:nth-child(even) { - background-color: #f9f9f9; - } - table code { - background-color: #f4f4f4; - padding: 2px 4px; - border-radius: 3px; - font-size: 1em; - } - .math-inline { - white-space: nowrap; - font-family: "MathJax_Math", "MathJax_Main", "STIX Two Math", "Latin Modern Math", "Computer Modern", "Times New Roman", Times, serif; - font-size: 1.05em; - vertical-align: baseline; - line-height: 1.4; - font-weight: normal; - letter-spacing: 0.01em; - } - .math-inline i { - font-style: italic; - font-family: "MathJax_Math", "MathJax_Main", "STIX Two Math", "Latin Modern Math", "Computer Modern", "Times New Roman", Times, serif; - } - .math-block { - text-align: center; - margin: 20px 0; - padding: 10px; - font-family: "MathJax_Math", "MathJax_Main", "STIX Two Math", "Latin Modern Math", "Computer Modern", "Times New Roman", Times, serif; - font-size: 1.05em; - } - .math-block i { - font-style: italic; - font-family: "MathJax_Math", "MathJax_Main", "STIX Two Math", "Latin Modern Math", "Computer Modern", "Times New Roman", Times, serif; - } - .math-function { - font-style: normal; - font-weight: normal; - } - .math-text { - font-style: normal; - font-weight: normal; - } - .math-roman { - font-style: normal; - font-weight: normal; - } - .math-aligned { - margin: 10px auto; - border-collapse: collapse; - border: none; - width: auto; - display: table; - } - .math-aligned td { - border: none; - padding: 6px 12px; - vertical-align: middle; - font-family: "MathJax_Math", "MathJax_Main", "STIX Two Math", "Latin Modern Math", "Computer Modern", "Times New Roman", Times, serif; - font-size: 1.05em; - } - .math-aligned i { - font-style: italic; - } - .math-inline sup, - .math-block sup { - font-size: 0.7em; - vertical-align: super; - } - .math-inline sub, - .math-block sub { - font-size: 0.7em; - vertical-align: sub; - } - .admonition { - margin: 20px 0; - padding: 12px 16px 8px 16px; - border: 2px solid #6d85df; - border-radius: 6px; - background-color: #f8f9fa; - } - .admonition-title { - font-weight: 600; - margin-bottom: 8px; - color: #2c3e50; - } - .admonition.note { - border-color: #53bbb1; - background-color: #f6fbfb; - } - .admonition.tip { - border-color: #53bbb1; - background-color: #f6fbfb; - } - .admonition.success { - border-color: #82bb81; - background-color: #f8fcf9; - } - .admonition.warning { - border-color: #ffc107; - background-color: #fff3cd; - } - .admonition.danger { - border-color: #dc3545; - background-color: #f8d7da; - } - .admonition.info { - border-color: #17a2b8; - background-color: #d1ecf1; - } - .admonition.abstract { - border-color: #6d85df; - background-color: #f8f9fa; - } - .admonition.question { - border-color: #82bb81; - background-color: #f8fcf9; - } - .admonition.quote { - border-color: #898989; - background-color: #f9f9f9; - } - ul, ol { - padding-left: 30px; - } - li { - margin: 5px 0; - } - - /* Syntax highlighting styles (GitHub Light theme) */ - .hljs { - display: block; - padding: 14px 16px; - color: #24292e; - background: #f5f5f5; - } - - .hljs-comment, - .hljs-quote { - color: #6a737d; - font-style: italic; - } - - .hljs-keyword, - .hljs-selector-tag, - .hljs-subst { - color: #d73a49; - font-weight: bold; - } - - .hljs-number, - .hljs-literal, - .hljs-variable, - .hljs-template-variable, - .hljs-tag .hljs-attr { - color: #005cc5; - } - - .hljs-string, - .hljs-doctag { - color: #032f62; - } - - .hljs-title, - .hljs-section, - .hljs-selector-id { - color: #6f42c1; - font-weight: bold; - } - - .hljs-subst { - font-weight: normal; - } - - .hljs-type, - .hljs-class .hljs-title { - color: #d73a49; - font-weight: bold; - } - - .hljs-tag, - .hljs-name, - .hljs-attribute { - color: #22863a; - font-weight: normal; - } - - .hljs-regexp, - .hljs-link { - color: #032f62; - } - - .hljs-symbol, - .hljs-bullet { - color: #e36209; - } - - .hljs-built_in, - .hljs-builtin-name { - color: #005cc5; - } - - .hljs-meta { - color: #6a737d; - font-weight: bold; - } - - .hljs-deletion { - background: #ffeef0; - } - - .hljs-addition { - background: #f0fff4; - } - - .hljs-emphasis { - font-style: italic; - } - - .hljs-strong { - font-weight: bold; - } -`; -} - -/** - * Wrap HTML content (simplified version, styles provided by CSS file) - */ -function wrapHtmlContent(html: string): string { - return html; -} - -/** - * Extract all headings from Markdown text - * @param markdown Markdown text - * @param chapterPath Chapter path (for identification) - * @returns Heading list - */ -export function extractHeadings(markdown: string, chapterPath: string): HeadingInfo[] { - const headings: HeadingInfo[] = []; - const lines = markdown.split('\n'); - let inCodeBlock = false; - let inFencedBlock = false; - - for (let i = 0; i < lines.length; i++) { - const line = lines[i]; - - // Check code block boundaries (three backticks or tildes) - if (line.match(/^\s*```/) || line.match(/^\s*~~~/)) { - inCodeBlock = !inCodeBlock; - continue; - } - - // Check indented code blocks (4 spaces) - if (line.match(/^ /) && !inCodeBlock) { - inFencedBlock = true; - continue; - } else if (inFencedBlock && !line.match(/^ /) && line.trim()) { - inFencedBlock = false; - } - - // Skip content in code blocks - if (inCodeBlock || inFencedBlock) { - continue; - } - - // Match ATX-style headings: # ## ### etc. - const match = line.match(/^(#{1,6})\s+(.+)$/); - if (match) { - const level = match[1].length; - let text = match[2].trim(); - - // Remove Markdown formatting and math formulas from heading, keep plain text - text = text - .replace(/\$[^$]+\$/g, '') // Remove inline math formulas - .replace(/\*\*(.+?)\*\*/g, '$1') // Remove bold - .replace(/\*(.+?)\*/g, '$1') // Remove italic - .replace(/`(.+?)`/g, '$1') // Remove code - .replace(/\[([^\]]+)\]\([^)]+\)/g, '$1') // Remove links, keep text - .trim(); - - if (text) { - headings.push({ - level, - text, - chapterPath, - lineNumber: i + 1 - }); - } - } - } - - return headings; -} - -/** - * Extract image paths from Markdown - */ -export function extractImagePaths(markdown: string, markdownFilePath: string): Array<{ original: string; fullPath: string }> { - const imageRegex = /!\[([^\]]*)\]\(([^)]+)\)/g; - const paths: Array<{ original: string; fullPath: string }> = []; - let match; - const markdownDir = path.dirname(markdownFilePath); - const docsRoot = path.resolve(markdownDir, '..'); - - while ((match = imageRegex.exec(markdown)) !== null) { - const imagePath = match[2]; - // Handle relative paths - if (!imagePath.startsWith('http://') && !imagePath.startsWith('https://') && !imagePath.startsWith('data:')) { - // Try multiple possible paths - const possiblePaths = [ - path.resolve(markdownDir, imagePath), // Relative to current markdown file - path.resolve(docsRoot, imagePath), // Relative to docs root directory - path.resolve(markdownDir, '..', imagePath), // Parent directory - ]; - - for (const fullPath of possiblePaths) { - if (fs.existsSync(fullPath)) { - paths.push({ original: imagePath, fullPath }); - break; - } - } - } - } - - return paths; -} - -/** - * Read image file - */ -export function readImage(imagePath: string): ImageInfo | null { - try { - const data = fs.readFileSync(imagePath); - const ext = path.extname(imagePath).toLowerCase(); - const mimeTypes: { [key: string]: string } = { - '.jpg': 'image/jpeg', - '.jpeg': 'image/jpeg', - '.png': 'image/png', - '.gif': 'image/gif', - '.svg': 'image/svg+xml', - '.webp': 'image/webp', - }; - const mimeType = mimeTypes[ext] || 'image/png'; - - return { - src: path.basename(imagePath), - data, - mimeType, - }; - } catch (error) { - console.warn(`Unable to read image: ${imagePath}`, error); - return null; - } -} - -/** - * Convert image to base64 data URI - */ -export function imageToDataUri(imageInfo: ImageInfo): string { - const base64 = imageInfo.data.toString('base64'); - return `data:${imageInfo.mimeType};base64,${base64}`; -} - diff --git a/epub/src/parser.ts b/epub/src/parser.ts deleted file mode 100644 index 4e7c0a91b..000000000 --- a/epub/src/parser.ts +++ /dev/null @@ -1,168 +0,0 @@ -import * as fs from 'fs-extra'; -import * as path from 'path'; -import * as yaml from 'js-yaml'; -import { NavItem, Chapter, MkDocsNavItem } from './types'; - -/** - * Parse mkdocs.yml file to extract version number - */ -export function parseVersion(configPath: string): string { - const content = fs.readFileSync(configPath, 'utf-8'); - const config = yaml.load(content) as any; - return config.version || '1.0.0'; -} - -/** - * Parse mkdocs.yml file to extract navigation structure - */ -export function parseMkdocsConfig(configPath: string): MkDocsNavItem[] { - const content = fs.readFileSync(configPath, 'utf-8'); - const config = yaml.load(content) as any; - return config.nav || []; -} - -/** - * Flatten navigation structure, extract all chapter paths while preserving hierarchy - * Based on mkdocs.yml structure: - * - Parent titles (e.g., "Chapter 0 Preface") contain arrays of child items - * - Child items can be string paths (index.md) or objects (sub-chapters) - */ -export function flattenNav(nav: MkDocsNavItem[], basePath: string = ''): Chapter[] { - const chapters: Chapter[] = []; - let order = 0; - - function traverse(items: MkDocsNavItem[], parentTitle: string = '', parentNumber: string = '', level: number = 0) { - for (const item of items) { - if (typeof item === 'string') { - // Simple path string (usually index.md, as chapter homepage) - const filePath = path.join(basePath, item); - if (fs.existsSync(filePath)) { - // Try to extract title from file content - const content = fs.readFileSync(filePath, 'utf-8'); - const titleMatch = content.match(/^#\s+(.+)$/m); - const title = titleMatch ? titleMatch[1].trim() : path.basename(item, '.md'); - - // index.md uses parent chapter's title and number - chapters.push({ - title: parentTitle || title, // If parent title exists, use it; otherwise use file title - path: filePath, - content: '', - order: order++, - level: level, - number: parentNumber || undefined, - parentTitle: undefined // index.md is top-level chapter - }); - } - } else if (typeof item === 'object' && item !== null) { - // Handle object format: { "title": "path" } or { "title": [...] } - if (Array.isArray(item)) { - traverse(item, parentTitle, parentNumber, level); - } else { - const keys = Object.keys(item); - if (keys.length === 1) { - const key = keys[0]; - const value = item[key]; - - if (typeof value === 'string') { - // { "title": "path" } format - this is a sub-chapter (e.g., "0.1   About this book": "path") - const filePath = path.join(basePath, value); - if (fs.existsSync(filePath)) { - const fullTitle = key.replace(/ /g, ' ').trim(); - - // Extract chapter number, e.g., "0.1   About this book" -> "0.1" - const numberMatch = fullTitle.match(/^(\d+(?:\.\d+)?)\s+/); - let chapterNumber = numberMatch ? numberMatch[1] : undefined; - - // Extract title (remove number part) - const title = fullTitle.replace(/^\d+(?:\.\d+)?\s+/, '').trim(); - - chapters.push({ - title: title, - path: filePath, - content: '', - order: order++, - level: level + 1, // Sub-chapter level +1 - number: chapterNumber, - parentTitle: parentTitle || undefined - }); - } - } else if (Array.isArray(value)) { - // { "title": [...] } format - this is parent chapter title and child items (e.g., "Chapter 0 Preface": [...]) - const chapterTitle = key.replace(/ /g, ' ').trim(); - - // Extract chapter number from title, e.g., "Chapter 0   Preface" -> "0" - let chapterNumber = ''; - const numberMatch = chapterTitle.match(/第\s*(\d+)\s*章/); - if (numberMatch) { - chapterNumber = numberMatch[1]; - } else { - // If no number found, try to infer from first sub-chapter (e.g., infer "0" from "0.1") - for (const subItem of value) { - if (typeof subItem === 'string') { - continue; - } else if (typeof subItem === 'object' && subItem !== null && !Array.isArray(subItem)) { - const subObj = subItem as { [key: string]: string | MkDocsNavItem[] }; - const subKeys = Object.keys(subObj); - if (subKeys.length === 1) { - const subKey = subKeys[0]; - const subValue = subObj[subKey]; - if (typeof subValue === 'string') { - const subTitle = subKey.replace(/ /g, ' ').trim(); - const subNumberMatch = subTitle.match(/^(\d+)\.\d+/); - if (subNumberMatch) { - chapterNumber = subNumberMatch[1]; - break; - } - } - } - } - } - } - - // Recursively process child items, maintain hierarchy - traverse(value, chapterTitle, chapterNumber, level); - } - } else if ('path' in item && typeof item.path === 'string') { - // Object with path property - const filePath = path.join(basePath, item.path); - if (fs.existsSync(filePath)) { - chapters.push({ - title: (typeof item.title === 'string' ? item.title : undefined) || path.basename(item.path, '.md'), - path: filePath, - content: '', - order: order++, - level: level, - number: parentNumber || undefined, - parentTitle: parentTitle || undefined - }); - } - } else if ('title' in item && 'children' in item && Array.isArray(item.children) && typeof item.title === 'string') { - // Object with title and children properties - traverse(item.children, item.title, parentNumber, level); - } - } - } - } - } - - traverse(nav); - - // Filter out chapters related to chapter_paperbook - return chapters.filter(chapter => { - // Check if path contains chapter_paperbook - return !chapter.path.includes('chapter_paperbook'); - }); -} - -/** - * Read chapter content - */ -export function readChapterContent(chapter: Chapter): string { - try { - return fs.readFileSync(chapter.path, 'utf-8'); - } catch (error) { - console.warn(`Unable to read file: ${chapter.path}`, error); - return ''; - } -} - diff --git a/epub/src/types.ts b/epub/src/types.ts deleted file mode 100644 index 0fa8f4d2d..000000000 --- a/epub/src/types.ts +++ /dev/null @@ -1,52 +0,0 @@ - -export interface NavItem { - title?: string; - path?: string; - children?: NavItem[]; -} - -// Navigation item type in MkDocs config file -export type MkDocsNavItem = string | { [key: string]: string | MkDocsNavItem[] } | MkDocsNavItem[]; - -export interface Chapter { - title: string; - path: string; - content: string; - order: number; - level: number; // Hierarchy level: 0=top-level chapter, 1=sub-chapter - number?: string; // Chapter number, e.g., "0", "0.1", "1", "1.1" - parentTitle?: string; // Parent chapter title -} - -export interface ImageInfo { - src: string; - data: Buffer; - mimeType: string; -} - -// Heading information -export interface HeadingInfo { - level: number; // Heading level (1-6) - text: string; // Heading text - chapterPath: string; // Path to the chapter - lineNumber?: number; // Line number (if available) -} - -// Option types for epub-gen library -export interface EpubGenOptions { - title: string; - author: string; - publisher?: string; - description?: string; - language?: string; - content: Chapter[]; - verbose?: boolean; - appendChapterTitles?: boolean; - customNcxTocTemplatePath?: string; - customHtmlTocTemplatePath?: string; - css?: string; - cover?: string; - output?: string; - fonts?: string[]; - tocTitle?: string; // Table of contents title -} diff --git a/epub/src/validator.ts b/epub/src/validator.ts deleted file mode 100644 index 6d5e924fa..000000000 --- a/epub/src/validator.ts +++ /dev/null @@ -1,137 +0,0 @@ -import * as fs from 'fs-extra'; -import * as path from 'path'; -import { HeadingInfo } from './types'; -const AdmZip = require('adm-zip'); - -/** - * Validate if EPUB contains all headings - * @param epubPath EPUB file path - * @param expectedHeadings Expected heading list - * @returns Validation result - */ -export async function validateEpubHeadings( - epubPath: string, - expectedHeadings: HeadingInfo[] -): Promise<{ success: boolean; missingHeadings: HeadingInfo[]; summary: string }> { - - console.log(`\nStarting EPUB content validation...`); - console.log(`Expected heading count: ${expectedHeadings.length}`); - - try { - // Extract EPUB - const zip = new AdmZip(epubPath); - const zipEntries = zip.getEntries(); - - // Extract all XHTML content - let allHtmlContent = ''; - for (const entry of zipEntries) { - if (entry.entryName.endsWith('.xhtml') || entry.entryName.endsWith('.html')) { - const content = entry.getData().toString('utf8'); - allHtmlContent += content + '\n'; - } - } - - // Check if each heading exists - const missingHeadings: HeadingInfo[] = []; - const foundHeadings: HeadingInfo[] = []; - - for (const heading of expectedHeadings) { - const found = checkHeadingInHtml(allHtmlContent, heading); - if (found) { - foundHeadings.push(heading); - } else { - missingHeadings.push(heading); - } - } - - // Generate report - const successRate = ((foundHeadings.length / expectedHeadings.length) * 100).toFixed(2); - - let summary = `\n${'='.repeat(60)}\n`; - summary += `EPUB Content Validation Report\n`; - summary += `${'='.repeat(60)}\n`; - summary += `Total headings: ${expectedHeadings.length}\n`; - summary += `Found: ${foundHeadings.length}\n`; - summary += `Missing: ${missingHeadings.length}\n`; - summary += `Completeness rate: ${successRate}%\n`; - summary += `${'='.repeat(60)}\n`; - - if (missingHeadings.length > 0) { - summary += `\n⚠️ Missing headings:\n`; - summary += `${'='.repeat(60)}\n`; - - // Group by chapter - const byChapter = new Map(); - for (const heading of missingHeadings) { - if (!byChapter.has(heading.chapterPath)) { - byChapter.set(heading.chapterPath, []); - } - byChapter.get(heading.chapterPath)!.push(heading); - } - - for (const [chapterPath, headings] of byChapter) { - summary += `\n📄 ${chapterPath}\n`; - for (const heading of headings) { - const indent = ' '.repeat(heading.level - 1); - summary += `${indent}${'#'.repeat(heading.level)} ${heading.text}`; - if (heading.lineNumber) { - summary += ` (line ${heading.lineNumber})`; - } - summary += `\n`; - } - } - summary += `\n`; - } else { - summary += `\n✅ All headings are included in the EPUB!\n\n`; - } - - console.log(summary); - - return { - success: missingHeadings.length === 0, - missingHeadings, - summary - }; - - } catch (error) { - console.error('Error during validation:', error); - return { - success: false, - missingHeadings: expectedHeadings, - summary: `Validation failed: ${error}` - }; - } -} - -/** - * Check if heading exists in HTML - */ -function checkHeadingInHtml(html: string, heading: HeadingInfo): boolean { - // Remove HTML tags and entities, keep only text - const cleanHtml = html - .replace(/]*>[\s\S]*?<\/script>/gi, '') // Remove scripts - .replace(/]*>[\s\S]*?<\/style>/gi, '') // Remove styles - .replace(/<[^>]+>/g, ' ') // Remove all HTML tags - .replace(/ /g, ' ') - .replace(/</g, '<') - .replace(/>/g, '>') - .replace(/&/g, '&') - .replace(/"/g, '"') - // Decode numeric entities - .replace(/&#x([0-9A-Fa-f]+);/g, (match, hex) => { - return String.fromCharCode(parseInt(hex, 16)); - }) - .replace(/&#(\d+);/g, (match, dec) => { - return String.fromCharCode(parseInt(dec, 10)); - }); - - // Normalize text: remove extra spaces - const normalizedHtml = cleanHtml.replace(/\s+/g, ' ').toLowerCase(); - const normalizedHeading = heading.text.replace(/\s+/g, ' ').toLowerCase(); - - // Check if heading text is included - return normalizedHtml.includes(normalizedHeading); -} - - - diff --git a/epub/templates/toc.ncx.ejs b/epub/templates/toc.ncx.ejs deleted file mode 100644 index d0820b67f..000000000 --- a/epub/templates/toc.ncx.ejs +++ /dev/null @@ -1,96 +0,0 @@ - - - - - - - - - - - <%= title %> - - - <%= author %> - - - <% - var playOrder = 1; - - // 构建层级结构 - var hierarchicalContent = []; - var currentParent = null; - - content.forEach(function(item, index) { - if (!item.excludeFromToc && !item.beforeToc) { - // 检查是否是顶级章节(level 0 或没有 parentTitle) - if (item.level === 0 || !item.parentTitle) { - // 开始新的父章节 - currentParent = { - title: item.title, - href: item.href, - level: 0, - number: item.number, - children: [] - }; - hierarchicalContent.push(currentParent); - } else if (item.level === 1 && currentParent) { - // 添加到当前父章节的子项 - currentParent.children.push({ - title: item.title, - href: item.href, - level: 1, - number: item.number - }); - } else { - // 其他情况,作为独立章节 - hierarchicalContent.push({ - title: item.title, - href: item.href, - level: item.level || 0, - number: item.number, - children: [] - }); - } - } - }); - - // 渲染嵌套的导航点 - function renderNavPoint(chapter, depth) { - var id = "navpoint_" + playOrder; - var href = chapter.href; - var title = chapter.title || 'Untitled'; - var children = chapter.children || []; - var number = chapter.number; - var level = chapter.level || 0; - var currentOrder = playOrder++; - - // 对于顶级章节(level 0),标题已经包含"第X章",不需要再加编号 - // 只对子章节(level 1)添加编号 - var displayTitle = (level === 1 && number ? number + ' ' : '') + title; - - var result = ' \n'; - result += ' \n'; - result += ' ' + displayTitle.replace(/&/g, '&').replace(//g, '>') + '\n'; - result += ' \n'; - result += ' \n'; - - // 递归渲染子章节 - if (children.length > 0) { - children.forEach(function(child) { - result += renderNavPoint(child, depth + 1); - }); - } - - result += ' \n'; - return result; - } - - // 渲染所有导航点 - hierarchicalContent.forEach(function(chapter) { - %><%- renderNavPoint(chapter, 0) %><% - }); - %> - - - diff --git a/epub/templates/toc.xhtml.ejs b/epub/templates/toc.xhtml.ejs deleted file mode 100644 index b08c9eed3..000000000 --- a/epub/templates/toc.xhtml.ejs +++ /dev/null @@ -1,115 +0,0 @@ - - - - - <%= title %> - - - - - -

<%= tocTitle %>

- - - - - diff --git a/epub/tsconfig.json b/epub/tsconfig.json deleted file mode 100644 index b432dc98e..000000000 --- a/epub/tsconfig.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2020", - "module": "commonjs", - "lib": ["ES2020"], - "outDir": "./dist", - "rootDir": "./src", - "strict": true, - "esModuleInterop": true, - "skipLibCheck": true, - "forceConsistentCasingInFileNames": true, - "resolveJsonModule": true, - "moduleResolution": "node" - }, - "include": ["src/**/*"], - "exclude": ["node_modules", "dist"] -} - diff --git a/ja/docs/chapter_preface/about_the_book.md b/ja/docs/chapter_preface/about_the_book.md index 0cd36d188..893d4c446 100644 --- a/ja/docs/chapter_preface/about_the_book.md +++ b/ja/docs/chapter_preface/about_the_book.md @@ -30,7 +30,7 @@ ## 謝辞 -この本は、オープンソースコミュニティの多くの貢献者の共同努力により継続的に改善されています。時間とエネルギーを投資してくださった各執筆者に感謝いたします。GitHubで生成された順序で記載されています: krahets, coderonion, Gonglja, nuomi1, Reanon, justin-tse, hpstory, danielsss, curtishd, night-cruise, S-N-O-R-L-A-X, msk397, gvenusleo, khoaxuantu, RiverTwilight, rongyi, gyt95, zhuoqinyue, K3v123, Zuoxun, mingXta, hello-ikun, FangYuan33, GN-Yu, yuelinxin, longsizhuo, Cathay-Chen, guowei-gong, xBLACKICEx, IsChristina, JoseHung, qualifier1024, QiLOL, pengchzn, Guanngxu, L-Super, WSL0809, Slone123c, lhxsm, yuan0221, what-is-me, theNefelibatas, longranger2, cy-by-side, xiongsp, JeffersonHuang, Transmigration-zhou, magentaqin, Wonderdch, malone6, xiaomiusa87, gaofer, bluebean-cloud, a16su, Shyam-Chen, nanlei, hongyun-robot, Phoenix0415, MolDuM, Nigh, he-weilai, junminhong, mgisr, iron-irax, yd-j, XiaChuerwu, XC-Zero, seven1240, SamJin98, wodray, reeswell, NI-SW, Horbin-Magician, Enlightenus, xjr7670, YangXuanyi, DullSword, boloboloda, iStig, qq909244296, jiaxianhua, wenjianmin, keshida, kilikilikid, lclc6, lwbaptx, liuxjerry, lucaswangdev, lyl625760, hts0000, gledfish, fbigm, echo1937, szu17dmy, dshlstarr, Yucao-cy, coderlef, czruby, bongbongbakudan, beintentional, ZongYangL, ZhongYuuu, luluxia, xb534, bitsmi, ElaBosak233, baagod, zhouLion, yishangzhang, yi427, yabo083, weibk, wangwang105, th1nk3r-ing, tao363, 4yDX3906, syd168, steventimes, sslmj2020, smilelsb, siqyka, selear, sdshaoda, Xi-Row, popozhu, nuquist19, noobcodemaker, XiaoK29, chadyi, ZhongGuanbin, shanghai-Jerry, JackYang-hellobobo, Javesun99, lipusheng, BlindTerran, ShiMaRing, FreddieLi, FloranceYeh, iFleey, fanchenggang, gltianwen, goerll, Dr-XYZ, nedchu, curly210102, CuB3y0nd, KraHsu, CarrotDLaw, youshaoXG, bubble9um, fanenr, eagleanurag, LifeGoesOnionOnionOnion, 52coder, foursevenlove, KorsChen, hezhizhen, linzeyan, ZJKung, GaochaoZhu, hopkings2008, yang-le, Evilrabbit520, Turing-1024-Lee, thomasq0, Suremotoo, Allen-Scai, Risuntsy, Richard-Zhang1019, qingpeng9802, primexiao, nidhoggfgg, 1ch0, MwumLi, martinx, ZnYang2018, hugtyftg, logan-qiu, psychelzh, Keynman, KeiichiKasai and 0130w. +この本は、オープンソースコミュニティの多くの貢献者の共同努力により継続的に改善されています。時間とエネルギーを投資してくださった各執筆者に感謝いたします。GitHubで生成された順序で記載されています: krahets, coderonion, Gonglja, nuomi1, Reanon, justin-tse, hpstory, danielsss, curtishd, night-cruise, S-N-O-R-L-A-X, rongyi, msk397, gvenusleo, khoaxuantu, rivertwilight, K3v123, gyt95, zhuoqinyue, yuelinxin, Zuoxun, mingXta, Phoenix0415, FangYuan33, GN-Yu, longsizhuo, IsChristina, xBLACKICEx, guowei-gong, Cathay-Chen, pengchzn, QiLOL, magentaqin, hello-ikun, JoseHung, qualifier1024, thomasq0, sunshinesDL, L-Super, Guanngxu, Transmigration-zhou, WSL0809, Slone123c, lhxsm, yuan0221, what-is-me, Shyam-Chen, theNefelibatas, longranger2, codeberg-user, xiongsp, JeffersonHuang, prinpal, seven1240, Wonderdch, malone6, xiaomiusa87, gaofer, bluebean-cloud, a16su, SamJin98, hongyun-robot, nanlei, XiaChuerwu, yd-j, iron-irax, mgisr, steventimes, junminhong, heshuyue, danny900714, MolDuM, Nigh, Dr-XYZ, XC-Zero, reeswell, PXG-XPG, NI-SW, Horbin-Magician, Enlightenus, YangXuanyi, beatrix-chan, DullSword, xjr7670, jiaxianhua, qq909244296, iStig, boloboloda, hts0000, gledfish, wenjianmin, keshida, kilikilikid, lclc6, lwbaptx, linyejoe2, liuxjerry, llql1211, fbigm, echo1937, szu17dmy, dshlstarr, Yucao-cy, coderlef, czruby, bongbongbakudan, beintentional, ZongYangL, ZhongYuuu, ZhongGuanbin, hezhizhen, linzeyan, ZJKung, luluxia, xb534, ztkuaikuai, yw-1021, ElaBosak233, baagod, zhouLion, yishangzhang, yi427, yanedie, yabo083, weibk, wangwang105, th1nk3r-ing, tao363, 4yDX3906, syd168, sslmj2020, smilelsb, siqyka, selear, sdshaoda, Xi-Row, popozhu, nuquist19, noobcodemaker, XiaoK29, chadyi, lyl625760, lucaswangdev, 0130w, shanghai-Jerry, EJackYang, Javesun99, eltociear, lipusheng, KNChiu, BlindTerran, ShiMaRing, lovelock, FreddieLi, FloranceYeh, fanchenggang, gltianwen, goerll, nedchu, curly210102, CuB3y0nd, KraHsu, CarrotDLaw, youshaoXG, bubble9um, Asashishi, Asa0oo0o0o, fanenr, eagleanurag, akshiterate, 52coder, foursevenlove, KorsChen, GaochaoZhu, hopkings2008, yang-le, realwujing, Evilrabbit520, Umer-Jahangir, Turing-1024-Lee, Suremotoo, paoxiaomooo, Chieko-Seren, Allen-Scai, ymmmas, Risuntsy, Richard-Zhang1019, RafaelCaso, qingpeng9802, primexiao, Urbaner3, zhongfq, nidhoggfgg, MwumLi, CreatorMetaSky, martinx, ZnYang2018, hugtyftg, logan-qiu, psychelzh, Keynman, KeiichiKasai, and KawaiiAsh。 この本のコードレビュー作業は、coderonion, Gonglja, gvenusleo, hpstory, justin‐tse, khoaxuantu, krahets, night-cruise, nuomi1, Reanon and rongyi(アルファベット順)によって完了されました。彼らの時間と努力に感謝し、様々な言語でのコードの標準化と統一性を確保してくださいました。 diff --git a/ja/mkdocs.yml b/ja/mkdocs.yml index af099f820..4aef0a8d8 100644 --- a/ja/mkdocs.yml +++ b/ja/mkdocs.yml @@ -9,7 +9,7 @@ docs_dir: ../build/ja/docs site_dir: ../site/ja # Repository edit_uri: tree/main/ja/docs -version: 1.2.0 +version: 1.3.0 # Configuration theme: diff --git a/mkdocs.yml b/mkdocs.yml index 63feb0274..ccfd7023f 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -9,10 +9,10 @@ site_dir: site repo_name: krahets/hello-algo repo_url: https://github.com/krahets/hello-algo edit_uri: tree/main/docs -version: 1.2.0 +version: 1.3.0 # Copyright -copyright: Copyright © 2025 krahets
The website content is licensed under CC BY-NC-SA 4.0 +copyright: Copyright © 2026 krahets
The website content is licensed under CC BY-NC-SA 4.0 # Configuration theme: diff --git a/zh-hant/codes/python/test_all.py b/zh-hant/codes/python/test_all.py index a90c773a4..7c585de87 100644 --- a/zh-hant/codes/python/test_all.py +++ b/zh-hant/codes/python/test_all.py @@ -7,7 +7,7 @@ env["PYTHONIOENCODING"] = "utf-8" if __name__ == "__main__": # find source code files - src_paths = sorted(glob.glob("codes/python/chapter_*/*.py")) + src_paths = sorted(glob.glob("chapter_*/*.py")) errors = [] # run python code diff --git a/zh-hant/docs/chapter_array_and_linkedlist/array.assets/array_definition.png b/zh-hant/docs/chapter_array_and_linkedlist/array.assets/array_definition.png index ea9589cbe..41c85c485 100644 Binary files a/zh-hant/docs/chapter_array_and_linkedlist/array.assets/array_definition.png and b/zh-hant/docs/chapter_array_and_linkedlist/array.assets/array_definition.png differ diff --git a/zh-hant/docs/chapter_array_and_linkedlist/array.assets/array_insert_element.png b/zh-hant/docs/chapter_array_and_linkedlist/array.assets/array_insert_element.png index 8863838d8..60c83c11e 100644 Binary files a/zh-hant/docs/chapter_array_and_linkedlist/array.assets/array_insert_element.png and b/zh-hant/docs/chapter_array_and_linkedlist/array.assets/array_insert_element.png differ diff --git a/zh-hant/docs/chapter_array_and_linkedlist/array.assets/array_memory_location_calculation.png b/zh-hant/docs/chapter_array_and_linkedlist/array.assets/array_memory_location_calculation.png index 71f6cca20..af930b58e 100644 Binary files a/zh-hant/docs/chapter_array_and_linkedlist/array.assets/array_memory_location_calculation.png and b/zh-hant/docs/chapter_array_and_linkedlist/array.assets/array_memory_location_calculation.png differ diff --git a/zh-hant/docs/chapter_array_and_linkedlist/array.assets/array_remove_element.png b/zh-hant/docs/chapter_array_and_linkedlist/array.assets/array_remove_element.png index eb9c704ca..9f4be5467 100644 Binary files a/zh-hant/docs/chapter_array_and_linkedlist/array.assets/array_remove_element.png and b/zh-hant/docs/chapter_array_and_linkedlist/array.assets/array_remove_element.png differ diff --git a/zh-hant/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_common_types.png b/zh-hant/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_common_types.png index fc062c8ee..4e825f221 100644 Binary files a/zh-hant/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_common_types.png and b/zh-hant/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_common_types.png differ diff --git a/zh-hant/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_definition.png b/zh-hant/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_definition.png index 26de5e966..a437a4269 100644 Binary files a/zh-hant/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_definition.png and b/zh-hant/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_definition.png differ diff --git a/zh-hant/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_insert_node.png b/zh-hant/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_insert_node.png index 982194b13..1ee2feeb9 100644 Binary files a/zh-hant/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_insert_node.png and b/zh-hant/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_insert_node.png differ diff --git a/zh-hant/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_remove_node.png b/zh-hant/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_remove_node.png index c29743856..e98f6d6e6 100644 Binary files a/zh-hant/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_remove_node.png and b/zh-hant/docs/chapter_array_and_linkedlist/linked_list.assets/linkedlist_remove_node.png differ diff --git a/zh-hant/docs/chapter_array_and_linkedlist/ram_and_cache.assets/computer_storage_devices.png b/zh-hant/docs/chapter_array_and_linkedlist/ram_and_cache.assets/computer_storage_devices.png index 390961738..c62214414 100644 Binary files a/zh-hant/docs/chapter_array_and_linkedlist/ram_and_cache.assets/computer_storage_devices.png and b/zh-hant/docs/chapter_array_and_linkedlist/ram_and_cache.assets/computer_storage_devices.png differ diff --git a/zh-hant/docs/chapter_array_and_linkedlist/ram_and_cache.assets/storage_pyramid.png b/zh-hant/docs/chapter_array_and_linkedlist/ram_and_cache.assets/storage_pyramid.png index 436a509d7..409b56d7a 100644 Binary files a/zh-hant/docs/chapter_array_and_linkedlist/ram_and_cache.assets/storage_pyramid.png and b/zh-hant/docs/chapter_array_and_linkedlist/ram_and_cache.assets/storage_pyramid.png differ diff --git a/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/backtrack_remove_return_or_not.png b/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/backtrack_remove_return_or_not.png index 2b9ffd5f7..320de08ac 100644 Binary files a/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/backtrack_remove_return_or_not.png and b/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/backtrack_remove_return_or_not.png differ diff --git a/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_constrained_paths.png b/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_constrained_paths.png index eb5408121..7cf3461ae 100644 Binary files a/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_constrained_paths.png and b/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_constrained_paths.png differ diff --git a/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_nodes.png b/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_nodes.png index af2f3486f..3bae604a9 100644 Binary files a/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_nodes.png and b/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_nodes.png differ diff --git a/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step1.png b/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step1.png index c1e921bc4..f3a2c5235 100644 Binary files a/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step1.png and b/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step1.png differ diff --git a/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step10.png b/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step10.png index 7e6abf108..1f184a08d 100644 Binary files a/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step10.png and b/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step10.png differ diff --git a/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step11.png b/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step11.png index e40e5feec..c9762de4b 100644 Binary files a/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step11.png and b/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step11.png differ diff --git a/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step2.png b/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step2.png index 482724d7f..7800ac237 100644 Binary files a/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step2.png and b/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step2.png differ diff --git a/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step3.png b/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step3.png index fb24940ee..4f31cfe3d 100644 Binary files a/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step3.png and b/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step3.png differ diff --git a/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step4.png b/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step4.png index 1ff8ac292..985c7a68d 100644 Binary files a/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step4.png and b/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step4.png differ diff --git a/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step5.png b/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step5.png index ae5f90f57..adecac501 100644 Binary files a/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step5.png and b/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step5.png differ diff --git a/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step6.png b/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step6.png index 83dc013c0..880bf298d 100644 Binary files a/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step6.png and b/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step6.png differ diff --git a/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step7.png b/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step7.png index 84771b5f0..2045f73b8 100644 Binary files a/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step7.png and b/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step7.png differ diff --git a/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step8.png b/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step8.png index 7061dfc7b..b00e80132 100644 Binary files a/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step8.png and b/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step8.png differ diff --git a/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step9.png b/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step9.png index 49d0c7b95..72d30bd58 100644 Binary files a/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step9.png and b/zh-hant/docs/chapter_backtracking/backtracking_algorithm.assets/preorder_find_paths_step9.png differ diff --git a/zh-hant/docs/chapter_backtracking/n_queens_problem.assets/n_queens_cols_diagonals.png b/zh-hant/docs/chapter_backtracking/n_queens_problem.assets/n_queens_cols_diagonals.png index 74a2b01fc..9c3e26f5b 100644 Binary files a/zh-hant/docs/chapter_backtracking/n_queens_problem.assets/n_queens_cols_diagonals.png and b/zh-hant/docs/chapter_backtracking/n_queens_problem.assets/n_queens_cols_diagonals.png differ diff --git a/zh-hant/docs/chapter_backtracking/n_queens_problem.assets/n_queens_constraints.png b/zh-hant/docs/chapter_backtracking/n_queens_problem.assets/n_queens_constraints.png index cb0e41e27..9a71f6cef 100644 Binary files a/zh-hant/docs/chapter_backtracking/n_queens_problem.assets/n_queens_constraints.png and b/zh-hant/docs/chapter_backtracking/n_queens_problem.assets/n_queens_constraints.png differ diff --git a/zh-hant/docs/chapter_backtracking/n_queens_problem.assets/n_queens_placing.png b/zh-hant/docs/chapter_backtracking/n_queens_problem.assets/n_queens_placing.png index dd97d9a2f..7a3804afa 100644 Binary files a/zh-hant/docs/chapter_backtracking/n_queens_problem.assets/n_queens_placing.png and b/zh-hant/docs/chapter_backtracking/n_queens_problem.assets/n_queens_placing.png differ diff --git a/zh-hant/docs/chapter_backtracking/n_queens_problem.assets/solution_4_queens.png b/zh-hant/docs/chapter_backtracking/n_queens_problem.assets/solution_4_queens.png index 1e841201a..22a52e9dd 100644 Binary files a/zh-hant/docs/chapter_backtracking/n_queens_problem.assets/solution_4_queens.png and b/zh-hant/docs/chapter_backtracking/n_queens_problem.assets/solution_4_queens.png differ diff --git a/zh-hant/docs/chapter_backtracking/permutations_problem.assets/permutations_i.png b/zh-hant/docs/chapter_backtracking/permutations_problem.assets/permutations_i.png index 5f82d1915..4ad9609a7 100644 Binary files a/zh-hant/docs/chapter_backtracking/permutations_problem.assets/permutations_i.png and b/zh-hant/docs/chapter_backtracking/permutations_problem.assets/permutations_i.png differ diff --git a/zh-hant/docs/chapter_backtracking/permutations_problem.assets/permutations_i_pruning.png b/zh-hant/docs/chapter_backtracking/permutations_problem.assets/permutations_i_pruning.png index 8032c5559..4c68d9ced 100644 Binary files a/zh-hant/docs/chapter_backtracking/permutations_problem.assets/permutations_i_pruning.png and b/zh-hant/docs/chapter_backtracking/permutations_problem.assets/permutations_i_pruning.png differ diff --git a/zh-hant/docs/chapter_backtracking/permutations_problem.assets/permutations_ii.png b/zh-hant/docs/chapter_backtracking/permutations_problem.assets/permutations_ii.png index 892a67116..c64ba9704 100644 Binary files a/zh-hant/docs/chapter_backtracking/permutations_problem.assets/permutations_ii.png and b/zh-hant/docs/chapter_backtracking/permutations_problem.assets/permutations_ii.png differ diff --git a/zh-hant/docs/chapter_backtracking/permutations_problem.assets/permutations_ii_pruning.png b/zh-hant/docs/chapter_backtracking/permutations_problem.assets/permutations_ii_pruning.png index 7661d83af..26ad5af51 100644 Binary files a/zh-hant/docs/chapter_backtracking/permutations_problem.assets/permutations_ii_pruning.png and b/zh-hant/docs/chapter_backtracking/permutations_problem.assets/permutations_ii_pruning.png differ diff --git a/zh-hant/docs/chapter_backtracking/permutations_problem.assets/permutations_ii_pruning_summary.png b/zh-hant/docs/chapter_backtracking/permutations_problem.assets/permutations_ii_pruning_summary.png index b948ccdb4..a954ca91e 100644 Binary files a/zh-hant/docs/chapter_backtracking/permutations_problem.assets/permutations_ii_pruning_summary.png and b/zh-hant/docs/chapter_backtracking/permutations_problem.assets/permutations_ii_pruning_summary.png differ diff --git a/zh-hant/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i.png b/zh-hant/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i.png index c330f95d6..007b9ccb2 100644 Binary files a/zh-hant/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i.png and b/zh-hant/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i.png differ diff --git a/zh-hant/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i_naive.png b/zh-hant/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i_naive.png index 80d1d85f0..474839f43 100644 Binary files a/zh-hant/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i_naive.png and b/zh-hant/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i_naive.png differ diff --git a/zh-hant/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i_pruning.png b/zh-hant/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i_pruning.png index a9880a643..1ae7f7272 100644 Binary files a/zh-hant/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i_pruning.png and b/zh-hant/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_i_pruning.png differ diff --git a/zh-hant/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_ii.png b/zh-hant/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_ii.png index 660f346c8..9bf997164 100644 Binary files a/zh-hant/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_ii.png and b/zh-hant/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_ii.png differ diff --git a/zh-hant/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_ii_repeat.png b/zh-hant/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_ii_repeat.png index 650028f56..908e05cc5 100644 Binary files a/zh-hant/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_ii_repeat.png and b/zh-hant/docs/chapter_backtracking/subset_sum_problem.assets/subset_sum_ii_repeat.png differ diff --git a/zh-hant/docs/chapter_computational_complexity/iteration_and_recursion.assets/iteration.png b/zh-hant/docs/chapter_computational_complexity/iteration_and_recursion.assets/iteration.png index f4e8df549..344695287 100644 Binary files a/zh-hant/docs/chapter_computational_complexity/iteration_and_recursion.assets/iteration.png and b/zh-hant/docs/chapter_computational_complexity/iteration_and_recursion.assets/iteration.png differ diff --git a/zh-hant/docs/chapter_computational_complexity/iteration_and_recursion.assets/nested_iteration.png b/zh-hant/docs/chapter_computational_complexity/iteration_and_recursion.assets/nested_iteration.png index f314c50e3..bc1dd74be 100644 Binary files a/zh-hant/docs/chapter_computational_complexity/iteration_and_recursion.assets/nested_iteration.png and b/zh-hant/docs/chapter_computational_complexity/iteration_and_recursion.assets/nested_iteration.png differ diff --git a/zh-hant/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_sum.png b/zh-hant/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_sum.png index 114ae717b..43b5f5bd1 100644 Binary files a/zh-hant/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_sum.png and b/zh-hant/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_sum.png differ diff --git a/zh-hant/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_sum_depth.png b/zh-hant/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_sum_depth.png index e8e794b3f..e1c182265 100644 Binary files a/zh-hant/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_sum_depth.png and b/zh-hant/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_sum_depth.png differ diff --git a/zh-hant/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_tree.png b/zh-hant/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_tree.png index 40b1f8a5c..77950adc8 100644 Binary files a/zh-hant/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_tree.png and b/zh-hant/docs/chapter_computational_complexity/iteration_and_recursion.assets/recursion_tree.png differ diff --git a/zh-hant/docs/chapter_computational_complexity/iteration_and_recursion.assets/tail_recursion_sum.png b/zh-hant/docs/chapter_computational_complexity/iteration_and_recursion.assets/tail_recursion_sum.png index 3d4260799..f265393b9 100644 Binary files a/zh-hant/docs/chapter_computational_complexity/iteration_and_recursion.assets/tail_recursion_sum.png and b/zh-hant/docs/chapter_computational_complexity/iteration_and_recursion.assets/tail_recursion_sum.png differ diff --git a/zh-hant/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_common_types.png b/zh-hant/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_common_types.png index bb65e10a2..a6659a266 100644 Binary files a/zh-hant/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_common_types.png and b/zh-hant/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_common_types.png differ diff --git a/zh-hant/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_exponential.png b/zh-hant/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_exponential.png index aa1172b91..e918224b6 100644 Binary files a/zh-hant/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_exponential.png and b/zh-hant/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_exponential.png differ diff --git a/zh-hant/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_recursive_linear.png b/zh-hant/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_recursive_linear.png index 99f30fe22..722b1108a 100644 Binary files a/zh-hant/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_recursive_linear.png and b/zh-hant/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_recursive_linear.png differ diff --git a/zh-hant/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_recursive_quadratic.png b/zh-hant/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_recursive_quadratic.png index 7710951fd..f482f8a07 100644 Binary files a/zh-hant/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_recursive_quadratic.png and b/zh-hant/docs/chapter_computational_complexity/space_complexity.assets/space_complexity_recursive_quadratic.png differ diff --git a/zh-hant/docs/chapter_computational_complexity/space_complexity.assets/space_types.png b/zh-hant/docs/chapter_computational_complexity/space_complexity.assets/space_types.png index 21cda71ea..2eaaf5310 100644 Binary files a/zh-hant/docs/chapter_computational_complexity/space_complexity.assets/space_types.png and b/zh-hant/docs/chapter_computational_complexity/space_complexity.assets/space_types.png differ diff --git a/zh-hant/docs/chapter_computational_complexity/time_complexity.assets/asymptotic_upper_bound.png b/zh-hant/docs/chapter_computational_complexity/time_complexity.assets/asymptotic_upper_bound.png index 753d70772..c7a839598 100644 Binary files a/zh-hant/docs/chapter_computational_complexity/time_complexity.assets/asymptotic_upper_bound.png and b/zh-hant/docs/chapter_computational_complexity/time_complexity.assets/asymptotic_upper_bound.png differ diff --git a/zh-hant/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_common_types.png b/zh-hant/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_common_types.png index 3e1e36fd1..dfe34ae00 100644 Binary files a/zh-hant/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_common_types.png and b/zh-hant/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_common_types.png differ diff --git a/zh-hant/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_constant_linear_quadratic.png b/zh-hant/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_constant_linear_quadratic.png index 1234ae7dc..06fb8e022 100644 Binary files a/zh-hant/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_constant_linear_quadratic.png and b/zh-hant/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_constant_linear_quadratic.png differ diff --git a/zh-hant/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_exponential.png b/zh-hant/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_exponential.png index 1630b19f7..cc049a99f 100644 Binary files a/zh-hant/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_exponential.png and b/zh-hant/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_exponential.png differ diff --git a/zh-hant/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_factorial.png b/zh-hant/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_factorial.png index 0a400b3ef..246c617f2 100644 Binary files a/zh-hant/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_factorial.png and b/zh-hant/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_factorial.png differ diff --git a/zh-hant/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_logarithmic.png b/zh-hant/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_logarithmic.png index e3134370e..7261c7343 100644 Binary files a/zh-hant/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_logarithmic.png and b/zh-hant/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_logarithmic.png differ diff --git a/zh-hant/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_logarithmic_linear.png b/zh-hant/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_logarithmic_linear.png index 6802b6dd6..c173696c5 100644 Binary files a/zh-hant/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_logarithmic_linear.png and b/zh-hant/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_logarithmic_linear.png differ diff --git a/zh-hant/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_simple_example.png b/zh-hant/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_simple_example.png index 3bd4127d5..2ecf0255b 100644 Binary files a/zh-hant/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_simple_example.png and b/zh-hant/docs/chapter_computational_complexity/time_complexity.assets/time_complexity_simple_example.png differ diff --git a/zh-hant/docs/chapter_data_structure/character_encoding.assets/ascii_table.png b/zh-hant/docs/chapter_data_structure/character_encoding.assets/ascii_table.png index bef8d1812..9e16c5dac 100644 Binary files a/zh-hant/docs/chapter_data_structure/character_encoding.assets/ascii_table.png and b/zh-hant/docs/chapter_data_structure/character_encoding.assets/ascii_table.png differ diff --git a/zh-hant/docs/chapter_data_structure/character_encoding.assets/unicode_hello_algo.png b/zh-hant/docs/chapter_data_structure/character_encoding.assets/unicode_hello_algo.png index d219c3551..a955357f8 100644 Binary files a/zh-hant/docs/chapter_data_structure/character_encoding.assets/unicode_hello_algo.png and b/zh-hant/docs/chapter_data_structure/character_encoding.assets/unicode_hello_algo.png differ diff --git a/zh-hant/docs/chapter_data_structure/character_encoding.assets/utf-8_hello_algo.png b/zh-hant/docs/chapter_data_structure/character_encoding.assets/utf-8_hello_algo.png index 7029dab79..d27f77a3c 100644 Binary files a/zh-hant/docs/chapter_data_structure/character_encoding.assets/utf-8_hello_algo.png and b/zh-hant/docs/chapter_data_structure/character_encoding.assets/utf-8_hello_algo.png differ diff --git a/zh-hant/docs/chapter_data_structure/classification_of_data_structure.assets/classification_logic_structure.png b/zh-hant/docs/chapter_data_structure/classification_of_data_structure.assets/classification_logic_structure.png index 745473257..975534fbe 100644 Binary files a/zh-hant/docs/chapter_data_structure/classification_of_data_structure.assets/classification_logic_structure.png and b/zh-hant/docs/chapter_data_structure/classification_of_data_structure.assets/classification_logic_structure.png differ diff --git a/zh-hant/docs/chapter_data_structure/classification_of_data_structure.assets/classification_phisical_structure.png b/zh-hant/docs/chapter_data_structure/classification_of_data_structure.assets/classification_phisical_structure.png index a9f101487..41be549cf 100644 Binary files a/zh-hant/docs/chapter_data_structure/classification_of_data_structure.assets/classification_phisical_structure.png and b/zh-hant/docs/chapter_data_structure/classification_of_data_structure.assets/classification_phisical_structure.png differ diff --git a/zh-hant/docs/chapter_data_structure/classification_of_data_structure.assets/computer_memory_location.png b/zh-hant/docs/chapter_data_structure/classification_of_data_structure.assets/computer_memory_location.png index aafa9e33a..706c6e22e 100644 Binary files a/zh-hant/docs/chapter_data_structure/classification_of_data_structure.assets/computer_memory_location.png and b/zh-hant/docs/chapter_data_structure/classification_of_data_structure.assets/computer_memory_location.png differ diff --git a/zh-hant/docs/chapter_data_structure/number_encoding.assets/1s_2s_complement.png b/zh-hant/docs/chapter_data_structure/number_encoding.assets/1s_2s_complement.png index f07dcfa40..15aaa677a 100644 Binary files a/zh-hant/docs/chapter_data_structure/number_encoding.assets/1s_2s_complement.png and b/zh-hant/docs/chapter_data_structure/number_encoding.assets/1s_2s_complement.png differ diff --git a/zh-hant/docs/chapter_data_structure/number_encoding.assets/ieee_754_float.png b/zh-hant/docs/chapter_data_structure/number_encoding.assets/ieee_754_float.png index c0a3210d6..be60b51fb 100644 Binary files a/zh-hant/docs/chapter_data_structure/number_encoding.assets/ieee_754_float.png and b/zh-hant/docs/chapter_data_structure/number_encoding.assets/ieee_754_float.png differ diff --git a/zh-hant/docs/chapter_divide_and_conquer/binary_search_recur.assets/binary_search_recur.png b/zh-hant/docs/chapter_divide_and_conquer/binary_search_recur.assets/binary_search_recur.png index 3649ce156..50b7f118b 100644 Binary files a/zh-hant/docs/chapter_divide_and_conquer/binary_search_recur.assets/binary_search_recur.png and b/zh-hant/docs/chapter_divide_and_conquer/binary_search_recur.assets/binary_search_recur.png differ diff --git a/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_division_pointers.png b/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_division_pointers.png index 1e9e450b0..a0a652cd9 100644 Binary files a/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_division_pointers.png and b/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_division_pointers.png differ diff --git a/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_example.png b/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_example.png index 5b0bfce47..d1e64e7cf 100644 Binary files a/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_example.png and b/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_example.png differ diff --git a/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_preorder_inorder_division.png b/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_preorder_inorder_division.png index da91ab1a4..3cb65fd85 100644 Binary files a/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_preorder_inorder_division.png and b/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/build_tree_preorder_inorder_division.png differ diff --git a/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_overall.png b/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_overall.png index 45baa3434..814cbcb62 100644 Binary files a/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_overall.png and b/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_overall.png differ diff --git a/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step1.png b/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step1.png index bb4d4701f..9032559af 100644 Binary files a/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step1.png and b/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step1.png differ diff --git a/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step2.png b/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step2.png index 59c77c25c..c6f6247a2 100644 Binary files a/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step2.png and b/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step2.png differ diff --git a/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step3.png b/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step3.png index 08f6b9e38..efb28e9ed 100644 Binary files a/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step3.png and b/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step3.png differ diff --git a/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step4.png b/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step4.png index de9dd0dcb..737164d6c 100644 Binary files a/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step4.png and b/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step4.png differ diff --git a/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step5.png b/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step5.png index eb0f07c0f..cdb49ef0f 100644 Binary files a/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step5.png and b/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step5.png differ diff --git a/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step6.png b/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step6.png index 230f6248b..3a71aaad0 100644 Binary files a/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step6.png and b/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step6.png differ diff --git a/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step7.png b/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step7.png index d62db2631..afece7954 100644 Binary files a/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step7.png and b/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step7.png differ diff --git a/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step8.png b/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step8.png index 1c31d7ad7..ba719a8bc 100644 Binary files a/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step8.png and b/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step8.png differ diff --git a/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step9.png b/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step9.png index db9bba022..4e31c4127 100644 Binary files a/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step9.png and b/zh-hant/docs/chapter_divide_and_conquer/build_binary_tree_problem.assets/built_tree_step9.png differ diff --git a/zh-hant/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_bubble_sort.png b/zh-hant/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_bubble_sort.png index 12452f66c..73b938628 100644 Binary files a/zh-hant/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_bubble_sort.png and b/zh-hant/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_bubble_sort.png differ diff --git a/zh-hant/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_merge_sort.png b/zh-hant/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_merge_sort.png index d82d0d95f..2b8690ad3 100644 Binary files a/zh-hant/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_merge_sort.png and b/zh-hant/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_merge_sort.png differ diff --git a/zh-hant/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_parallel_computing.png b/zh-hant/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_parallel_computing.png index 0f1a41449..3d549f470 100644 Binary files a/zh-hant/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_parallel_computing.png and b/zh-hant/docs/chapter_divide_and_conquer/divide_and_conquer.assets/divide_and_conquer_parallel_computing.png differ diff --git a/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_divide_and_conquer.png b/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_divide_and_conquer.png index a939dc66a..fc9547ccc 100644 Binary files a/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_divide_and_conquer.png and b/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_divide_and_conquer.png differ diff --git a/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_example.png b/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_example.png index 07792388a..1e461deaf 100644 Binary files a/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_example.png and b/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_example.png differ diff --git a/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f1_step1.png b/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f1_step1.png index 5c56a6574..7cdaca8e4 100644 Binary files a/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f1_step1.png and b/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f1_step1.png differ diff --git a/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f1_step2.png b/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f1_step2.png index 94659a290..fbe83f2ef 100644 Binary files a/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f1_step2.png and b/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f1_step2.png differ diff --git a/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step1.png b/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step1.png index 8e3c1c42f..56d58ca71 100644 Binary files a/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step1.png and b/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step1.png differ diff --git a/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step2.png b/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step2.png index 31ec6b8e6..200c8c45a 100644 Binary files a/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step2.png and b/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step2.png differ diff --git a/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step3.png b/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step3.png index 6770dcdcf..481cf35cf 100644 Binary files a/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step3.png and b/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step3.png differ diff --git a/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step4.png b/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step4.png index 6f6114faf..d0a0830af 100644 Binary files a/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step4.png and b/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f2_step4.png differ diff --git a/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step1.png b/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step1.png index 226c867c3..b4ce7adb5 100644 Binary files a/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step1.png and b/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step1.png differ diff --git a/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step2.png b/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step2.png index 5555414c2..8a9d3c8e8 100644 Binary files a/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step2.png and b/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step2.png differ diff --git a/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step3.png b/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step3.png index eac277f7d..2e5a3fb91 100644 Binary files a/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step3.png and b/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step3.png differ diff --git a/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step4.png b/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step4.png index 7f20e7a6a..223c60888 100644 Binary files a/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step4.png and b/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_f3_step4.png differ diff --git a/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_recursive_tree.png b/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_recursive_tree.png index 4955f42f7..10a111505 100644 Binary files a/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_recursive_tree.png and b/zh-hant/docs/chapter_divide_and_conquer/hanota_problem.assets/hanota_recursive_tree.png differ diff --git a/zh-hant/docs/chapter_divide_and_conquer/summary.md b/zh-hant/docs/chapter_divide_and_conquer/summary.md index 8d544ce44..9bc443262 100644 --- a/zh-hant/docs/chapter_divide_and_conquer/summary.md +++ b/zh-hant/docs/chapter_divide_and_conquer/summary.md @@ -1,5 +1,7 @@ # 小結 +### 重點回顧 + - 分治是一種常見的演算法設計策略,包括分(劃分)和治(合併)兩個階段,通常基於遞迴實現。 - 判斷是否是分治演算法問題的依據包括:問題能否分解、子問題是否獨立、子問題能否合併。 - 合併排序是分治策略的典型應用,其遞迴地將陣列劃分為等長的兩個子陣列,直到只剩一個元素時開始逐層合併,從而完成排序。 diff --git a/zh-hant/docs/chapter_dynamic_programming/dp_problem_features.assets/climbing_stairs_constraint_example.png b/zh-hant/docs/chapter_dynamic_programming/dp_problem_features.assets/climbing_stairs_constraint_example.png index 10e3f5710..5196ba8c2 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/dp_problem_features.assets/climbing_stairs_constraint_example.png and b/zh-hant/docs/chapter_dynamic_programming/dp_problem_features.assets/climbing_stairs_constraint_example.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/dp_problem_features.assets/climbing_stairs_constraint_state_transfer.png b/zh-hant/docs/chapter_dynamic_programming/dp_problem_features.assets/climbing_stairs_constraint_state_transfer.png index 6f0c6825d..b200d45b6 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/dp_problem_features.assets/climbing_stairs_constraint_state_transfer.png and b/zh-hant/docs/chapter_dynamic_programming/dp_problem_features.assets/climbing_stairs_constraint_state_transfer.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/dp_problem_features.assets/min_cost_cs_dp.png b/zh-hant/docs/chapter_dynamic_programming/dp_problem_features.assets/min_cost_cs_dp.png index 4eb5f0b43..b3e0bae89 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/dp_problem_features.assets/min_cost_cs_dp.png and b/zh-hant/docs/chapter_dynamic_programming/dp_problem_features.assets/min_cost_cs_dp.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/dp_problem_features.assets/min_cost_cs_example.png b/zh-hant/docs/chapter_dynamic_programming/dp_problem_features.assets/min_cost_cs_example.png index 73c9f224c..ed11bbc4b 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/dp_problem_features.assets/min_cost_cs_example.png and b/zh-hant/docs/chapter_dynamic_programming/dp_problem_features.assets/min_cost_cs_example.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dfs.png b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dfs.png index f9288d066..4efe8686a 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dfs.png and b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dfs.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dfs_mem.png b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dfs_mem.png index b1c27ede5..8bdceda78 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dfs_mem.png and b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dfs_mem.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step1.png b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step1.png index 27e581a2c..a2b882f5b 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step1.png and b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step1.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step10.png b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step10.png index b6e8baf10..b6315915c 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step10.png and b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step10.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step11.png b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step11.png index e8cc80a92..14df14f09 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step11.png and b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step11.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step12.png b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step12.png index 7d9f2f205..39554b5ad 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step12.png and b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step12.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step2.png b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step2.png index 503899880..6dcaf0357 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step2.png and b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step2.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step3.png b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step3.png index c77468346..b463341d9 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step3.png and b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step3.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step4.png b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step4.png index f7a016a12..2cac4c386 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step4.png and b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step4.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step5.png b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step5.png index 914eb37ec..e9f2b8c1d 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step5.png and b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step5.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step6.png b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step6.png index 7dc5f0b6d..062456240 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step6.png and b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step6.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step7.png b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step7.png index d0ae5cd09..2d05bbb0e 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step7.png and b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step7.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step8.png b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step8.png index 1028b5da0..3dff01992 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step8.png and b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step8.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step9.png b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step9.png index 58dd94c86..3369b88df 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step9.png and b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_dp_step9.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_example.png b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_example.png index 1ffb42f8e..a025362e5 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_example.png and b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_example.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_initial_state.png b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_initial_state.png index 557d9a559..dcaf746af 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_initial_state.png and b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_initial_state.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_state_definition.png b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_state_definition.png index 083a3e9ef..89e077a68 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_state_definition.png and b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_state_definition.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_state_transition.png b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_state_transition.png index efec74198..ff1ae9a68 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_state_transition.png and b/zh-hant/docs/chapter_dynamic_programming/dp_solution_pipeline.assets/min_path_sum_solution_state_transition.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_decision_tree.png b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_decision_tree.png index e189cae54..080d34fba 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_decision_tree.png and b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_decision_tree.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step1.png b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step1.png index 8c4e7f640..bd214acbe 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step1.png and b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step1.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step10.png b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step10.png index 31cb6b93a..a1f9fb9c2 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step10.png and b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step10.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step11.png b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step11.png index 3fa1113df..e28527ba9 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step11.png and b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step11.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step12.png b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step12.png index e7eb67538..0e056fb28 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step12.png and b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step12.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step13.png b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step13.png index 5ae7bde84..2b212c8e1 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step13.png and b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step13.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step14.png b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step14.png index e19015e9f..d57720f22 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step14.png and b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step14.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step15.png b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step15.png index 6cada51c5..3c918a477 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step15.png and b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step15.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step2.png b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step2.png index 40131d274..94d99c299 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step2.png and b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step2.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step3.png b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step3.png index 21e3eeac1..72263f841 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step3.png and b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step3.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step4.png b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step4.png index 0e63fd17f..2ad366030 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step4.png and b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step4.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step5.png b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step5.png index ad34d1377..f8d8a7689 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step5.png and b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step5.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step6.png b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step6.png index 210941f58..320405e44 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step6.png and b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step6.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step7.png b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step7.png index 521dda5eb..865457628 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step7.png and b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step7.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step8.png b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step8.png index 1de27bbda..2aea8b0ef 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step8.png and b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step8.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step9.png b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step9.png index 37b5c0424..66ee25d95 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step9.png and b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_dp_step9.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_example.png b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_example.png index 4e5b9071d..aff6175a7 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_example.png and b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_example.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_state_transfer.png b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_state_transfer.png index cb34b6a3d..af8a719b8 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_state_transfer.png and b/zh-hant/docs/chapter_dynamic_programming/edit_distance_problem.assets/edit_distance_state_transfer.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dfs_memo_tree.png b/zh-hant/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dfs_memo_tree.png index e474e18e7..c34516643 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dfs_memo_tree.png and b/zh-hant/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dfs_memo_tree.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dfs_tree.png b/zh-hant/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dfs_tree.png index e0a42d33f..0fd748f66 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dfs_tree.png and b/zh-hant/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dfs_tree.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dp.png b/zh-hant/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dp.png index c28c29670..9bca1446f 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dp.png and b/zh-hant/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_dp.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_example.png b/zh-hant/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_example.png index dbeab8867..63ff8f257 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_example.png and b/zh-hant/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_example.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_state_transfer.png b/zh-hant/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_state_transfer.png index 1efe073e7..cbe844f91 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_state_transfer.png and b/zh-hant/docs/chapter_dynamic_programming/intro_to_dynamic_programming.assets/climbing_stairs_state_transfer.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dfs.png b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dfs.png index 76f5af03d..04671d8ab 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dfs.png and b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dfs.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dfs_mem.png b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dfs_mem.png index 581f60323..bf1ac9346 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dfs_mem.png and b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dfs_mem.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step1.png b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step1.png index a762f516a..a190c11ca 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step1.png and b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step1.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step2.png b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step2.png index ad1a3693f..fabbf87d9 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step2.png and b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step2.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step3.png b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step3.png index 964c636af..e5360b056 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step3.png and b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step3.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step4.png b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step4.png index c355a40f6..8f77671a2 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step4.png and b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step4.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step5.png b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step5.png index 9f538bd01..8bfce92ee 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step5.png and b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step5.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step6.png b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step6.png index 50d1cd839..bdec752db 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step6.png and b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_comp_step6.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step1.png b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step1.png index 79ed911b6..165ac0b94 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step1.png and b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step1.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step10.png b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step10.png index db6030a14..a6e29aec0 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step10.png and b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step10.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step11.png b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step11.png index f10490b9e..72e7d6d67 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step11.png and b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step11.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step12.png b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step12.png index 3f232b8e3..e6092bbc5 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step12.png and b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step12.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step13.png b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step13.png index 47631d171..bd1c70585 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step13.png and b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step13.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step14.png b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step14.png index 625c81951..07e7b0ca9 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step14.png and b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step14.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step2.png b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step2.png index dc1f4e608..49669f073 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step2.png and b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step2.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step3.png b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step3.png index 0bf06fa9a..7b74944f7 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step3.png and b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step3.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step4.png b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step4.png index 65d0eac38..2f3033d99 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step4.png and b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step4.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step5.png b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step5.png index c7c9bc95f..d2017e66f 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step5.png and b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step5.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step6.png b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step6.png index e357f8453..dfcf8b749 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step6.png and b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step6.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step7.png b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step7.png index ec085886e..98061dfde 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step7.png and b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step7.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step8.png b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step8.png index 18986975c..445c5fd18 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step8.png and b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step8.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step9.png b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step9.png index ef8af2843..f17a2de83 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step9.png and b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_dp_step9.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_example.png b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_example.png index 6cb1f7c6b..50df08206 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_example.png and b/zh-hant/docs/chapter_dynamic_programming/knapsack_problem.assets/knapsack_example.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/summary.md b/zh-hant/docs/chapter_dynamic_programming/summary.md index 582768c2a..ae025eed1 100644 --- a/zh-hant/docs/chapter_dynamic_programming/summary.md +++ b/zh-hant/docs/chapter_dynamic_programming/summary.md @@ -1,5 +1,7 @@ # 小結 +### 重點回顧 + - 動態規劃對問題進行分解,並透過儲存子問題的解來規避重複計算,提高計算效率。 - 不考慮時間的前提下,所有動態規劃問題都可以用回溯(暴力搜尋)進行求解,但遞迴樹中存在大量的重疊子問題,效率極低。透過引入記憶化串列,可以儲存所有計算過的子問題的解,從而保證重疊子問題只被計算一次。 - 記憶化搜尋是一種從頂至底的遞迴式解法,而與之對應的動態規劃是一種從底至頂的遞推式解法,其如同“填寫表格”一樣。由於當前狀態僅依賴某些區域性狀態,因此我們可以消除 $dp$ 表的一個維度,從而降低空間複雜度。 diff --git a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step1.png b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step1.png index e37343d3c..5b6cca650 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step1.png and b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step1.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step10.png b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step10.png index 88709590b..161deec70 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step10.png and b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step10.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step11.png b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step11.png index d9e769cdb..7d7530e6a 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step11.png and b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step11.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step12.png b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step12.png index fd99be484..7ca10dc60 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step12.png and b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step12.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step13.png b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step13.png index 4bb852022..70c05d283 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step13.png and b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step13.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step14.png b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step14.png index f9760edcc..651485038 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step14.png and b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step14.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step15.png b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step15.png index 6927b0559..2fd362600 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step15.png and b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step15.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step2.png b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step2.png index 11b9e05e1..fa2e6eb92 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step2.png and b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step2.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step3.png b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step3.png index 0b270e3a9..15b345a20 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step3.png and b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step3.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step4.png b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step4.png index a4a16579c..4cd1e91ab 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step4.png and b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step4.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step5.png b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step5.png index dbef584fd..e9ee20bb4 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step5.png and b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step5.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step6.png b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step6.png index b0dd79fd6..f5bfacc56 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step6.png and b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step6.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step7.png b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step7.png index 68a96cd1d..b2c4b59c1 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step7.png and b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step7.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step8.png b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step8.png index 38f81b815..6cd6148e5 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step8.png and b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step8.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step9.png b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step9.png index f7980b1bc..01ccfceb6 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step9.png and b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_dp_step9.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_example.png b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_example.png index a6a793201..20a086835 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_example.png and b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_example.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_ii_example.png b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_ii_example.png index 4256b9158..45824661b 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_ii_example.png and b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/coin_change_ii_example.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step1.png b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step1.png index 5b0247077..a7cd0639f 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step1.png and b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step1.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step2.png b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step2.png index 1c85ac5e5..143da1c2c 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step2.png and b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step2.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step3.png b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step3.png index dba8427fc..f0b7ccf3a 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step3.png and b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step3.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step4.png b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step4.png index 87b19cbf8..b1dbee974 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step4.png and b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step4.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step5.png b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step5.png index 93ee15124..547b7fb9f 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step5.png and b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step5.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step6.png b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step6.png index dc19cd8c1..ec1ed9b04 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step6.png and b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_dp_comp_step6.png differ diff --git a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_example.png b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_example.png index 3eec7bcbf..80eb1261f 100644 Binary files a/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_example.png and b/zh-hant/docs/chapter_dynamic_programming/unbounded_knapsack_problem.assets/unbounded_knapsack_example.png differ diff --git a/zh-hant/docs/chapter_graph/graph.assets/adjacency_list.png b/zh-hant/docs/chapter_graph/graph.assets/adjacency_list.png index 812abc68e..59a23e686 100644 Binary files a/zh-hant/docs/chapter_graph/graph.assets/adjacency_list.png and b/zh-hant/docs/chapter_graph/graph.assets/adjacency_list.png differ diff --git a/zh-hant/docs/chapter_graph/graph.assets/adjacency_matrix.png b/zh-hant/docs/chapter_graph/graph.assets/adjacency_matrix.png index 3ac243617..9479862ed 100644 Binary files a/zh-hant/docs/chapter_graph/graph.assets/adjacency_matrix.png and b/zh-hant/docs/chapter_graph/graph.assets/adjacency_matrix.png differ diff --git a/zh-hant/docs/chapter_graph/graph.assets/connected_graph.png b/zh-hant/docs/chapter_graph/graph.assets/connected_graph.png index 312a2b401..1463a2e58 100644 Binary files a/zh-hant/docs/chapter_graph/graph.assets/connected_graph.png and b/zh-hant/docs/chapter_graph/graph.assets/connected_graph.png differ diff --git a/zh-hant/docs/chapter_graph/graph.assets/directed_graph.png b/zh-hant/docs/chapter_graph/graph.assets/directed_graph.png index 93bf23fa7..2014c97ce 100644 Binary files a/zh-hant/docs/chapter_graph/graph.assets/directed_graph.png and b/zh-hant/docs/chapter_graph/graph.assets/directed_graph.png differ diff --git a/zh-hant/docs/chapter_graph/graph.assets/linkedlist_tree_graph.png b/zh-hant/docs/chapter_graph/graph.assets/linkedlist_tree_graph.png index ab99b4926..af17a15f8 100644 Binary files a/zh-hant/docs/chapter_graph/graph.assets/linkedlist_tree_graph.png and b/zh-hant/docs/chapter_graph/graph.assets/linkedlist_tree_graph.png differ diff --git a/zh-hant/docs/chapter_graph/graph.assets/weighted_graph.png b/zh-hant/docs/chapter_graph/graph.assets/weighted_graph.png index 9ebf85957..3824b9028 100644 Binary files a/zh-hant/docs/chapter_graph/graph.assets/weighted_graph.png and b/zh-hant/docs/chapter_graph/graph.assets/weighted_graph.png differ diff --git a/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_list_step1_initialization.png b/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_list_step1_initialization.png index 292fc83ee..ea5cad7e1 100644 Binary files a/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_list_step1_initialization.png and b/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_list_step1_initialization.png differ diff --git a/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_list_step2_add_edge.png b/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_list_step2_add_edge.png index 38537819d..8cd2fbd0e 100644 Binary files a/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_list_step2_add_edge.png and b/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_list_step2_add_edge.png differ diff --git a/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_list_step3_remove_edge.png b/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_list_step3_remove_edge.png index b6b8e4c63..2837bca1b 100644 Binary files a/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_list_step3_remove_edge.png and b/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_list_step3_remove_edge.png differ diff --git a/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_list_step4_add_vertex.png b/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_list_step4_add_vertex.png index 26d5830ef..cb2bd5388 100644 Binary files a/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_list_step4_add_vertex.png and b/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_list_step4_add_vertex.png differ diff --git a/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_list_step5_remove_vertex.png b/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_list_step5_remove_vertex.png index 786deee7b..310b42139 100644 Binary files a/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_list_step5_remove_vertex.png and b/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_list_step5_remove_vertex.png differ diff --git a/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step1_initialization.png b/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step1_initialization.png index fbb5148b9..05f63b935 100644 Binary files a/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step1_initialization.png and b/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step1_initialization.png differ diff --git a/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step2_add_edge.png b/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step2_add_edge.png index 91992ceab..a839b2634 100644 Binary files a/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step2_add_edge.png and b/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step2_add_edge.png differ diff --git a/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step3_remove_edge.png b/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step3_remove_edge.png index 6c9058d6e..73445eb55 100644 Binary files a/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step3_remove_edge.png and b/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step3_remove_edge.png differ diff --git a/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step4_add_vertex.png b/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step4_add_vertex.png index c2d5d1f80..3f7e505b5 100644 Binary files a/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step4_add_vertex.png and b/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step4_add_vertex.png differ diff --git a/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step5_remove_vertex.png b/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step5_remove_vertex.png index aadacfd34..36e7f7ee8 100644 Binary files a/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step5_remove_vertex.png and b/zh-hant/docs/chapter_graph/graph_operations.assets/adjacency_matrix_step5_remove_vertex.png differ diff --git a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs.png b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs.png index 7d2445ac8..6da42d7ee 100644 Binary files a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs.png and b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs.png differ diff --git a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step1.png b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step1.png index 0783afc4a..3739d2fc1 100644 Binary files a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step1.png and b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step1.png differ diff --git a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step10.png b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step10.png index 4b95ad656..571b40919 100644 Binary files a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step10.png and b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step10.png differ diff --git a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step11.png b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step11.png index 870aa72cb..a5fa02d99 100644 Binary files a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step11.png and b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step11.png differ diff --git a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step2.png b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step2.png index e51dc1eb2..e08351cda 100644 Binary files a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step2.png and b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step2.png differ diff --git a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step3.png b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step3.png index ffe803b2c..70ede5fb1 100644 Binary files a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step3.png and b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step3.png differ diff --git a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step4.png b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step4.png index cea942ecc..efd224ac3 100644 Binary files a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step4.png and b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step4.png differ diff --git a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step5.png b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step5.png index 8d478ec19..fde938074 100644 Binary files a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step5.png and b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step5.png differ diff --git a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step6.png b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step6.png index 32b378b61..5df455d31 100644 Binary files a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step6.png and b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step6.png differ diff --git a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step7.png b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step7.png index 3306e4a47..5ebf8adc9 100644 Binary files a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step7.png and b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step7.png differ diff --git a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step8.png b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step8.png index 73125af18..81e00108b 100644 Binary files a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step8.png and b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step8.png differ diff --git a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step9.png b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step9.png index 004bc9a7f..da8d8b8c8 100644 Binary files a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step9.png and b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_bfs_step9.png differ diff --git a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs.png b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs.png index 3a3854718..51558df90 100644 Binary files a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs.png and b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs.png differ diff --git a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step1.png b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step1.png index dfb21abef..d53af9462 100644 Binary files a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step1.png and b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step1.png differ diff --git a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step10.png b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step10.png index e673acd45..ebf2f4828 100644 Binary files a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step10.png and b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step10.png differ diff --git a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step11.png b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step11.png index 3fe5562ff..8ab26a50a 100644 Binary files a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step11.png and b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step11.png differ diff --git a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step2.png b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step2.png index 9ed006c00..b66b703b9 100644 Binary files a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step2.png and b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step2.png differ diff --git a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step3.png b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step3.png index e6b5aaeef..26a23b2f5 100644 Binary files a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step3.png and b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step3.png differ diff --git a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step4.png b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step4.png index 3dff7eca2..75f38b1ac 100644 Binary files a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step4.png and b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step4.png differ diff --git a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step5.png b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step5.png index df609a51b..6c0b3f958 100644 Binary files a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step5.png and b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step5.png differ diff --git a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step6.png b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step6.png index 4c3e40edf..f05215d35 100644 Binary files a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step6.png and b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step6.png differ diff --git a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step7.png b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step7.png index 3c6d20ec7..7059fc46a 100644 Binary files a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step7.png and b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step7.png differ diff --git a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step8.png b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step8.png index 590bdc703..ec188db2e 100644 Binary files a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step8.png and b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step8.png differ diff --git a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step9.png b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step9.png index 81d2359cc..075cc2e77 100644 Binary files a/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step9.png and b/zh-hant/docs/chapter_graph/graph_traversal.assets/graph_dfs_step9.png differ diff --git a/zh-hant/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_area_chart.png b/zh-hant/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_area_chart.png index 07ed4b86b..ed2c23e78 100644 Binary files a/zh-hant/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_area_chart.png and b/zh-hant/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_area_chart.png differ diff --git a/zh-hant/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_example.png b/zh-hant/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_example.png index fa0606449..23285aa2a 100644 Binary files a/zh-hant/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_example.png and b/zh-hant/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_example.png differ diff --git a/zh-hant/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_greedy_strategy.png b/zh-hant/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_greedy_strategy.png index 1841a1c16..20a0d83e4 100644 Binary files a/zh-hant/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_greedy_strategy.png and b/zh-hant/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_greedy_strategy.png differ diff --git a/zh-hant/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_unit_value.png b/zh-hant/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_unit_value.png index b4d995e68..7277afc00 100644 Binary files a/zh-hant/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_unit_value.png and b/zh-hant/docs/chapter_greedy/fractional_knapsack_problem.assets/fractional_knapsack_unit_value.png differ diff --git a/zh-hant/docs/chapter_greedy/greedy_algorithm.assets/coin_change_greedy_strategy.png b/zh-hant/docs/chapter_greedy/greedy_algorithm.assets/coin_change_greedy_strategy.png index a166d8c0e..10ca9fca1 100644 Binary files a/zh-hant/docs/chapter_greedy/greedy_algorithm.assets/coin_change_greedy_strategy.png and b/zh-hant/docs/chapter_greedy/greedy_algorithm.assets/coin_change_greedy_strategy.png differ diff --git a/zh-hant/docs/chapter_greedy/greedy_algorithm.assets/coin_change_greedy_vs_dp.png b/zh-hant/docs/chapter_greedy/greedy_algorithm.assets/coin_change_greedy_vs_dp.png index 065cb64f1..5e4ab17d5 100644 Binary files a/zh-hant/docs/chapter_greedy/greedy_algorithm.assets/coin_change_greedy_vs_dp.png and b/zh-hant/docs/chapter_greedy/greedy_algorithm.assets/coin_change_greedy_vs_dp.png differ diff --git a/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_example.png b/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_example.png index 8b53883e5..37afbe6bc 100644 Binary files a/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_example.png and b/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_example.png differ diff --git a/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step1.png b/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step1.png index 742469096..1690ccda8 100644 Binary files a/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step1.png and b/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step1.png differ diff --git a/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step2.png b/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step2.png index 83c5fb944..ae67f1593 100644 Binary files a/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step2.png and b/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step2.png differ diff --git a/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step3.png b/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step3.png index ac149881a..9a7d7e480 100644 Binary files a/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step3.png and b/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step3.png differ diff --git a/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step4.png b/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step4.png index c5e758b06..c93841020 100644 Binary files a/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step4.png and b/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step4.png differ diff --git a/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step5.png b/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step5.png index 858db53aa..c5bf27952 100644 Binary files a/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step5.png and b/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step5.png differ diff --git a/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step6.png b/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step6.png index 2c0a6fc0b..b3d9d5597 100644 Binary files a/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step6.png and b/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step6.png differ diff --git a/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step7.png b/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step7.png index ec0237998..076394665 100644 Binary files a/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step7.png and b/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step7.png differ diff --git a/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step8.png b/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step8.png index 60bb1e9e5..c1128f399 100644 Binary files a/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step8.png and b/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step8.png differ diff --git a/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step9.png b/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step9.png index 5e7815a3e..42e434063 100644 Binary files a/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step9.png and b/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_greedy_step9.png differ diff --git a/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_initial_state.png b/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_initial_state.png index 6a6947c7d..2667d4a05 100644 Binary files a/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_initial_state.png and b/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_initial_state.png differ diff --git a/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_moving_long_board.png b/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_moving_long_board.png index 197f15768..7e5cbb0e1 100644 Binary files a/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_moving_long_board.png and b/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_moving_long_board.png differ diff --git a/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_moving_short_board.png b/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_moving_short_board.png index 02a600e75..51cae45d2 100644 Binary files a/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_moving_short_board.png and b/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_moving_short_board.png differ diff --git a/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_skipped_states.png b/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_skipped_states.png index 99b025d55..6ce531ae4 100644 Binary files a/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_skipped_states.png and b/zh-hant/docs/chapter_greedy/max_capacity_problem.assets/max_capacity_skipped_states.png differ diff --git a/zh-hant/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_definition.png b/zh-hant/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_definition.png index cddf154f2..2d21664a0 100644 Binary files a/zh-hant/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_definition.png and b/zh-hant/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_definition.png differ diff --git a/zh-hant/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_calculation.png b/zh-hant/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_calculation.png index 79522773f..4c9a369d4 100644 Binary files a/zh-hant/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_calculation.png and b/zh-hant/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_calculation.png differ diff --git a/zh-hant/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_infer1.png b/zh-hant/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_infer1.png index 7d571a88f..55b333439 100644 Binary files a/zh-hant/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_infer1.png and b/zh-hant/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_infer1.png differ diff --git a/zh-hant/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_infer2.png b/zh-hant/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_infer2.png index 8ccae074f..967dbf2c7 100644 Binary files a/zh-hant/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_infer2.png and b/zh-hant/docs/chapter_greedy/max_product_cutting_problem.assets/max_product_cutting_greedy_infer2.png differ diff --git a/zh-hant/docs/chapter_greedy/summary.md b/zh-hant/docs/chapter_greedy/summary.md index c312a04c5..b09b7756d 100644 --- a/zh-hant/docs/chapter_greedy/summary.md +++ b/zh-hant/docs/chapter_greedy/summary.md @@ -1,5 +1,7 @@ # 小結 +### 重點回顧 + - 貪婪演算法通常用於解決最最佳化問題,其原理是在每個決策階段都做出區域性最優的決策,以期獲得全域性最優解。 - 貪婪演算法會迭代地做出一個又一個的貪婪選擇,每輪都將問題轉化成一個規模更小的子問題,直到問題被解決。 - 貪婪演算法不僅實現簡單,還具有很高的解題效率。相比於動態規劃,貪婪演算法的時間複雜度通常更低。 diff --git a/zh-hant/docs/chapter_hashing/hash_algorithm.assets/hash_collision_best_worst_condition.png b/zh-hant/docs/chapter_hashing/hash_algorithm.assets/hash_collision_best_worst_condition.png index 4aa9564de..4cd6adf43 100644 Binary files a/zh-hant/docs/chapter_hashing/hash_algorithm.assets/hash_collision_best_worst_condition.png and b/zh-hant/docs/chapter_hashing/hash_algorithm.assets/hash_collision_best_worst_condition.png differ diff --git a/zh-hant/docs/chapter_hashing/hash_collision.assets/hash_table_chaining.png b/zh-hant/docs/chapter_hashing/hash_collision.assets/hash_table_chaining.png index f8dd2f359..2300ea3af 100644 Binary files a/zh-hant/docs/chapter_hashing/hash_collision.assets/hash_table_chaining.png and b/zh-hant/docs/chapter_hashing/hash_collision.assets/hash_table_chaining.png differ diff --git a/zh-hant/docs/chapter_hashing/hash_collision.assets/hash_table_linear_probing.png b/zh-hant/docs/chapter_hashing/hash_collision.assets/hash_table_linear_probing.png index 895fb6881..66ed68b3e 100644 Binary files a/zh-hant/docs/chapter_hashing/hash_collision.assets/hash_table_linear_probing.png and b/zh-hant/docs/chapter_hashing/hash_collision.assets/hash_table_linear_probing.png differ diff --git a/zh-hant/docs/chapter_hashing/hash_collision.assets/hash_table_open_addressing_deletion.png b/zh-hant/docs/chapter_hashing/hash_collision.assets/hash_table_open_addressing_deletion.png index cac56df8d..709acb010 100644 Binary files a/zh-hant/docs/chapter_hashing/hash_collision.assets/hash_table_open_addressing_deletion.png and b/zh-hant/docs/chapter_hashing/hash_collision.assets/hash_table_open_addressing_deletion.png differ diff --git a/zh-hant/docs/chapter_hashing/hash_map.assets/hash_collision.png b/zh-hant/docs/chapter_hashing/hash_map.assets/hash_collision.png index 0301ef9af..8cd31ec8c 100644 Binary files a/zh-hant/docs/chapter_hashing/hash_map.assets/hash_collision.png and b/zh-hant/docs/chapter_hashing/hash_map.assets/hash_collision.png differ diff --git a/zh-hant/docs/chapter_hashing/hash_map.assets/hash_function.png b/zh-hant/docs/chapter_hashing/hash_map.assets/hash_function.png index 6f7ff5f65..4baaf65fa 100644 Binary files a/zh-hant/docs/chapter_hashing/hash_map.assets/hash_function.png and b/zh-hant/docs/chapter_hashing/hash_map.assets/hash_function.png differ diff --git a/zh-hant/docs/chapter_hashing/hash_map.assets/hash_table_lookup.png b/zh-hant/docs/chapter_hashing/hash_map.assets/hash_table_lookup.png index c05342c71..e50890008 100644 Binary files a/zh-hant/docs/chapter_hashing/hash_map.assets/hash_table_lookup.png and b/zh-hant/docs/chapter_hashing/hash_map.assets/hash_table_lookup.png differ diff --git a/zh-hant/docs/chapter_hashing/hash_map.assets/hash_table_reshash.png b/zh-hant/docs/chapter_hashing/hash_map.assets/hash_table_reshash.png index 9b226b72e..d7ef23d3b 100644 Binary files a/zh-hant/docs/chapter_hashing/hash_map.assets/hash_table_reshash.png and b/zh-hant/docs/chapter_hashing/hash_map.assets/hash_table_reshash.png differ diff --git a/zh-hant/docs/chapter_heap/build_heap.assets/heapify_operations_count.png b/zh-hant/docs/chapter_heap/build_heap.assets/heapify_operations_count.png index d66535520..e5aa789db 100644 Binary files a/zh-hant/docs/chapter_heap/build_heap.assets/heapify_operations_count.png and b/zh-hant/docs/chapter_heap/build_heap.assets/heapify_operations_count.png differ diff --git a/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step1.png b/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step1.png index a46365032..89a083cc1 100644 Binary files a/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step1.png and b/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step1.png differ diff --git a/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step10.png b/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step10.png index 1b48802dc..406641f18 100644 Binary files a/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step10.png and b/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step10.png differ diff --git a/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step2.png b/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step2.png index 4c16c4af8..b7908e03e 100644 Binary files a/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step2.png and b/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step2.png differ diff --git a/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step3.png b/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step3.png index 75859bc15..e607bb4c2 100644 Binary files a/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step3.png and b/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step3.png differ diff --git a/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step4.png b/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step4.png index e68a264a6..d61c84c8c 100644 Binary files a/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step4.png and b/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step4.png differ diff --git a/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step5.png b/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step5.png index 7c1823d43..665c91c72 100644 Binary files a/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step5.png and b/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step5.png differ diff --git a/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step6.png b/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step6.png index 4cbe77a27..17f0973fe 100644 Binary files a/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step6.png and b/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step6.png differ diff --git a/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step7.png b/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step7.png index 9c212207c..596b4ca97 100644 Binary files a/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step7.png and b/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step7.png differ diff --git a/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step8.png b/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step8.png index 128d72dc3..8674780de 100644 Binary files a/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step8.png and b/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step8.png differ diff --git a/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step9.png b/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step9.png index f5728c2e5..6226e46c2 100644 Binary files a/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step9.png and b/zh-hant/docs/chapter_heap/heap.assets/heap_pop_step9.png differ diff --git a/zh-hant/docs/chapter_heap/heap.assets/heap_push_step1.png b/zh-hant/docs/chapter_heap/heap.assets/heap_push_step1.png index 8fe5a4981..2a07507ec 100644 Binary files a/zh-hant/docs/chapter_heap/heap.assets/heap_push_step1.png and b/zh-hant/docs/chapter_heap/heap.assets/heap_push_step1.png differ diff --git a/zh-hant/docs/chapter_heap/heap.assets/heap_push_step2.png b/zh-hant/docs/chapter_heap/heap.assets/heap_push_step2.png index 2bdd7cd86..3fed19076 100644 Binary files a/zh-hant/docs/chapter_heap/heap.assets/heap_push_step2.png and b/zh-hant/docs/chapter_heap/heap.assets/heap_push_step2.png differ diff --git a/zh-hant/docs/chapter_heap/heap.assets/heap_push_step3.png b/zh-hant/docs/chapter_heap/heap.assets/heap_push_step3.png index e64806390..22f0382eb 100644 Binary files a/zh-hant/docs/chapter_heap/heap.assets/heap_push_step3.png and b/zh-hant/docs/chapter_heap/heap.assets/heap_push_step3.png differ diff --git a/zh-hant/docs/chapter_heap/heap.assets/heap_push_step4.png b/zh-hant/docs/chapter_heap/heap.assets/heap_push_step4.png index e4d82cabf..0eb141e7e 100644 Binary files a/zh-hant/docs/chapter_heap/heap.assets/heap_push_step4.png and b/zh-hant/docs/chapter_heap/heap.assets/heap_push_step4.png differ diff --git a/zh-hant/docs/chapter_heap/heap.assets/heap_push_step5.png b/zh-hant/docs/chapter_heap/heap.assets/heap_push_step5.png index ca87ddbeb..768091319 100644 Binary files a/zh-hant/docs/chapter_heap/heap.assets/heap_push_step5.png and b/zh-hant/docs/chapter_heap/heap.assets/heap_push_step5.png differ diff --git a/zh-hant/docs/chapter_heap/heap.assets/heap_push_step6.png b/zh-hant/docs/chapter_heap/heap.assets/heap_push_step6.png index 1c74a7aaa..701685e1e 100644 Binary files a/zh-hant/docs/chapter_heap/heap.assets/heap_push_step6.png and b/zh-hant/docs/chapter_heap/heap.assets/heap_push_step6.png differ diff --git a/zh-hant/docs/chapter_heap/heap.assets/heap_push_step7.png b/zh-hant/docs/chapter_heap/heap.assets/heap_push_step7.png index 93ec1df5a..9bda807b7 100644 Binary files a/zh-hant/docs/chapter_heap/heap.assets/heap_push_step7.png and b/zh-hant/docs/chapter_heap/heap.assets/heap_push_step7.png differ diff --git a/zh-hant/docs/chapter_heap/heap.assets/heap_push_step8.png b/zh-hant/docs/chapter_heap/heap.assets/heap_push_step8.png index 7612c005a..2c3a1260a 100644 Binary files a/zh-hant/docs/chapter_heap/heap.assets/heap_push_step8.png and b/zh-hant/docs/chapter_heap/heap.assets/heap_push_step8.png differ diff --git a/zh-hant/docs/chapter_heap/heap.assets/heap_push_step9.png b/zh-hant/docs/chapter_heap/heap.assets/heap_push_step9.png index 4ce636165..f43164fed 100644 Binary files a/zh-hant/docs/chapter_heap/heap.assets/heap_push_step9.png and b/zh-hant/docs/chapter_heap/heap.assets/heap_push_step9.png differ diff --git a/zh-hant/docs/chapter_heap/heap.assets/min_heap_and_max_heap.png b/zh-hant/docs/chapter_heap/heap.assets/min_heap_and_max_heap.png index e3ece96ab..0cd6f829d 100644 Binary files a/zh-hant/docs/chapter_heap/heap.assets/min_heap_and_max_heap.png and b/zh-hant/docs/chapter_heap/heap.assets/min_heap_and_max_heap.png differ diff --git a/zh-hant/docs/chapter_heap/heap.assets/representation_of_heap.png b/zh-hant/docs/chapter_heap/heap.assets/representation_of_heap.png index 37853ada5..a41a9faac 100644 Binary files a/zh-hant/docs/chapter_heap/heap.assets/representation_of_heap.png and b/zh-hant/docs/chapter_heap/heap.assets/representation_of_heap.png differ diff --git a/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step1.png b/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step1.png index f54f3a026..6214f9d0d 100644 Binary files a/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step1.png and b/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step1.png differ diff --git a/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step2.png b/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step2.png index 9a5e5d1ce..951ebe572 100644 Binary files a/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step2.png and b/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step2.png differ diff --git a/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step3.png b/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step3.png index ffc21fab7..a33f90a4f 100644 Binary files a/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step3.png and b/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step3.png differ diff --git a/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step4.png b/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step4.png index 4a4517c22..d82356d75 100644 Binary files a/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step4.png and b/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step4.png differ diff --git a/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step5.png b/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step5.png index 4c879e9b5..db3e6c953 100644 Binary files a/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step5.png and b/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step5.png differ diff --git a/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step6.png b/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step6.png index 767d18432..4dc439071 100644 Binary files a/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step6.png and b/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step6.png differ diff --git a/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step7.png b/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step7.png index 1855eabb3..605470b2b 100644 Binary files a/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step7.png and b/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step7.png differ diff --git a/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step8.png b/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step8.png index 441f5910a..6194080d3 100644 Binary files a/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step8.png and b/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step8.png differ diff --git a/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step9.png b/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step9.png index afc762da1..18fd519c4 100644 Binary files a/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step9.png and b/zh-hant/docs/chapter_heap/top_k.assets/top_k_heap_step9.png differ diff --git a/zh-hant/docs/chapter_heap/top_k.assets/top_k_sorting.png b/zh-hant/docs/chapter_heap/top_k.assets/top_k_sorting.png index 5cc63713d..ed239497b 100644 Binary files a/zh-hant/docs/chapter_heap/top_k.assets/top_k_sorting.png and b/zh-hant/docs/chapter_heap/top_k.assets/top_k_sorting.png differ diff --git a/zh-hant/docs/chapter_heap/top_k.assets/top_k_traversal.png b/zh-hant/docs/chapter_heap/top_k.assets/top_k_traversal.png index a02bd4abc..c8483e46d 100644 Binary files a/zh-hant/docs/chapter_heap/top_k.assets/top_k_traversal.png and b/zh-hant/docs/chapter_heap/top_k.assets/top_k_traversal.png differ diff --git a/zh-hant/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step1.png b/zh-hant/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step1.png index 949e30865..064596656 100644 Binary files a/zh-hant/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step1.png and b/zh-hant/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step1.png differ diff --git a/zh-hant/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step2.png b/zh-hant/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step2.png index e05f3d974..c50ab6e0f 100644 Binary files a/zh-hant/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step2.png and b/zh-hant/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step2.png differ diff --git a/zh-hant/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step3.png b/zh-hant/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step3.png index 1fbc259a6..fe7c4b32b 100644 Binary files a/zh-hant/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step3.png and b/zh-hant/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step3.png differ diff --git a/zh-hant/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step4.png b/zh-hant/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step4.png index c85f41edd..75f2a5046 100644 Binary files a/zh-hant/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step4.png and b/zh-hant/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step4.png differ diff --git a/zh-hant/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step5.png b/zh-hant/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step5.png index b458e8a7d..7407a4cbf 100644 Binary files a/zh-hant/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step5.png and b/zh-hant/docs/chapter_introduction/algorithms_are_everywhere.assets/binary_search_dictionary_step5.png differ diff --git a/zh-hant/docs/chapter_introduction/algorithms_are_everywhere.assets/greedy_change.png b/zh-hant/docs/chapter_introduction/algorithms_are_everywhere.assets/greedy_change.png index 1316116dc..2409bd0d4 100644 Binary files a/zh-hant/docs/chapter_introduction/algorithms_are_everywhere.assets/greedy_change.png and b/zh-hant/docs/chapter_introduction/algorithms_are_everywhere.assets/greedy_change.png differ diff --git a/zh-hant/docs/chapter_introduction/algorithms_are_everywhere.assets/playing_cards_sorting.png b/zh-hant/docs/chapter_introduction/algorithms_are_everywhere.assets/playing_cards_sorting.png index a659087ab..f5a67d680 100644 Binary files a/zh-hant/docs/chapter_introduction/algorithms_are_everywhere.assets/playing_cards_sorting.png and b/zh-hant/docs/chapter_introduction/algorithms_are_everywhere.assets/playing_cards_sorting.png differ diff --git a/zh-hant/docs/chapter_introduction/summary.md b/zh-hant/docs/chapter_introduction/summary.md index fb68076a1..a23a0b259 100644 --- a/zh-hant/docs/chapter_introduction/summary.md +++ b/zh-hant/docs/chapter_introduction/summary.md @@ -1,5 +1,7 @@ # 小結 +### 重點回顧 + - 演算法在日常生活中無處不在,並不是遙不可及的高深知識。實際上,我們已經在不知不覺中學會了許多演算法,用以解決生活中的大小問題。 - 查字典的原理與二分搜尋演算法相一致。二分搜尋演算法體現了分而治之的重要演算法思想。 - 整理撲克的過程與插入排序演算法非常類似。插入排序演算法適合排序小型資料集。 diff --git a/zh-hant/docs/chapter_introduction/what_is_dsa.assets/assembling_blocks.png b/zh-hant/docs/chapter_introduction/what_is_dsa.assets/assembling_blocks.png index 5f7ac5fe3..6059ee7cc 100644 Binary files a/zh-hant/docs/chapter_introduction/what_is_dsa.assets/assembling_blocks.png and b/zh-hant/docs/chapter_introduction/what_is_dsa.assets/assembling_blocks.png differ diff --git a/zh-hant/docs/chapter_introduction/what_is_dsa.assets/relationship_between_data_structure_and_algorithm.png b/zh-hant/docs/chapter_introduction/what_is_dsa.assets/relationship_between_data_structure_and_algorithm.png index c3e3b599e..16428168d 100644 Binary files a/zh-hant/docs/chapter_introduction/what_is_dsa.assets/relationship_between_data_structure_and_algorithm.png and b/zh-hant/docs/chapter_introduction/what_is_dsa.assets/relationship_between_data_structure_and_algorithm.png differ diff --git a/zh-hant/docs/chapter_preface/about_the_book.md b/zh-hant/docs/chapter_preface/about_the_book.md index a1ccfb8b9..367dcf1a9 100644 --- a/zh-hant/docs/chapter_preface/about_the_book.md +++ b/zh-hant/docs/chapter_preface/about_the_book.md @@ -30,12 +30,14 @@ ## 致謝 -本書在開源社群眾多貢獻者的共同努力下不斷完善。感謝每一位投入時間與精力的撰稿人,他們是(按照 GitHub 自動生成的順序):krahets、coderonion、Gonglja、nuomi1、Reanon、justin-tse、hpstory、danielsss、curtishd、night-cruise、S-N-O-R-L-A-X、msk397、gvenusleo、khoaxuantu、RiverTwilight、rongyi、gyt95、zhuoqinyue、K3v123、Zuoxun、mingXta、hello-ikun、FangYuan33、GN-Yu、yuelinxin、longsizhuo、Cathay-Chen、guowei-gong、xBLACKICEx、IsChristina、JoseHung、qualifier1024、QiLOL、pengchzn、Guanngxu、L-Super、WSL0809、Slone123c、lhxsm、yuan0221、what-is-me、theNefelibatas、longranger2、cy-by-side、xiongsp、JeffersonHuang、Transmigration-zhou、magentaqin、Wonderdch、malone6、xiaomiusa87、gaofer、bluebean-cloud、a16su、Shyam-Chen、nanlei、hongyun-robot、Phoenix0415、MolDuM、Nigh、he-weilai、junminhong、mgisr、iron-irax、yd-j、XiaChuerwu、XC-Zero、seven1240、SamJin98、wodray、reeswell、NI-SW、Horbin-Magician、Enlightenus、xjr7670、YangXuanyi、DullSword、boloboloda、iStig、qq909244296、jiaxianhua、wenjianmin、keshida、kilikilikid、lclc6、lwbaptx、liuxjerry、lucaswangdev、lyl625760、hts0000、gledfish、fbigm、echo1937、szu17dmy、dshlstarr、Yucao-cy、coderlef、czruby、bongbongbakudan、beintentional、ZongYangL、ZhongYuuu、luluxia、xb534、bitsmi、ElaBosak233、baagod、zhouLion、yishangzhang、yi427、yabo083、weibk、wangwang105、th1nk3r-ing、tao363、4yDX3906、syd168、steventimes、sslmj2020、smilelsb、siqyka、selear、sdshaoda、Xi-Row、popozhu、nuquist19、noobcodemaker、XiaoK29、chadyi、ZhongGuanbin、shanghai-Jerry、JackYang-hellobobo、Javesun99、lipusheng、BlindTerran、ShiMaRing、FreddieLi、FloranceYeh、iFleey、fanchenggang、gltianwen、goerll、Dr-XYZ、nedchu、curly210102、CuB3y0nd、KraHsu、CarrotDLaw、youshaoXG、bubble9um、fanenr、eagleanurag、LifeGoesOnionOnionOnion、52coder、foursevenlove、KorsChen、hezhizhen、linzeyan、ZJKung、GaochaoZhu、hopkings2008、yang-le、Evilrabbit520、Turing-1024-Lee、thomasq0、Suremotoo、Allen-Scai、Risuntsy、Richard-Zhang1019、qingpeng9802、primexiao、nidhoggfgg、1ch0、MwumLi、martinx、ZnYang2018、hugtyftg、logan-qiu、psychelzh、Keynman、KeiichiKasai 和 0130w。 +本書在開源社群眾多貢獻者的共同努力下不斷完善。感謝每一位投入時間與精力的撰稿人,他們是(按照 GitHub 自動生成的順序):krahets、coderonion、Gonglja、nuomi1、Reanon、justin-tse、hpstory、danielsss、curtishd、night-cruise、S-N-O-R-L-A-X、rongyi、msk397、gvenusleo、khoaxuantu、rivertwilight、K3v123、gyt95、zhuoqinyue、yuelinxin、Zuoxun、mingXta、Phoenix0415、FangYuan33、GN-Yu、longsizhuo、IsChristina、xBLACKICEx、guowei-gong、Cathay-Chen、pengchzn、QiLOL、magentaqin、hello-ikun、JoseHung、qualifier1024、thomasq0、sunshinesDL、L-Super、Guanngxu、Transmigration-zhou、WSL0809、Slone123c、lhxsm、yuan0221、what-is-me、Shyam-Chen、theNefelibatas、longranger2、codeberg-user、xiongsp、JeffersonHuang、prinpal、seven1240、Wonderdch、malone6、xiaomiusa87、gaofer、bluebean-cloud、a16su、SamJin98、hongyun-robot、nanlei、XiaChuerwu、yd-j、iron-irax、mgisr、steventimes、junminhong、heshuyue、danny900714、MolDuM、Nigh、Dr-XYZ、XC-Zero、reeswell、PXG-XPG、NI-SW、Horbin-Magician、Enlightenus、YangXuanyi、beatrix-chan、DullSword、xjr7670、jiaxianhua、qq909244296、iStig、boloboloda、hts0000、gledfish、wenjianmin、keshida、kilikilikid、lclc6、lwbaptx、linyejoe2、liuxjerry、llql1211、fbigm、echo1937、szu17dmy、dshlstarr、Yucao-cy、coderlef、czruby、bongbongbakudan、beintentional、ZongYangL、ZhongYuuu、ZhongGuanbin、hezhizhen、linzeyan、ZJKung、luluxia、xb534、ztkuaikuai、yw-1021、ElaBosak233、baagod、zhouLion、yishangzhang、yi427、yanedie、yabo083、weibk、wangwang105、th1nk3r-ing、tao363、4yDX3906、syd168、sslmj2020、smilelsb、siqyka、selear、sdshaoda、Xi-Row、popozhu、nuquist19、noobcodemaker、XiaoK29、chadyi、lyl625760、lucaswangdev、0130w、shanghai-Jerry、EJackYang、Javesun99、eltociear、lipusheng、KNChiu、BlindTerran、ShiMaRing、lovelock、FreddieLi、FloranceYeh、fanchenggang、gltianwen、goerll、nedchu、curly210102、CuB3y0nd、KraHsu、CarrotDLaw、youshaoXG、bubble9um、Asashishi、Asa0oo0o0o、fanenr、eagleanurag、akshiterate、52coder、foursevenlove、KorsChen、GaochaoZhu、hopkings2008、yang-le、realwujing、Evilrabbit520、Umer-Jahangir、Turing-1024-Lee、Suremotoo、paoxiaomooo、Chieko-Seren、Allen-Scai、ymmmas、Risuntsy、Richard-Zhang1019、RafaelCaso、qingpeng9802、primexiao、Urbaner3、zhongfq、nidhoggfgg、MwumLi、CreatorMetaSky、martinx、ZnYang2018、hugtyftg、logan-qiu、psychelzh、Keynman、KeiichiKasai 和 KawaiiAsh。 本書的程式碼審閱工作由 coderonion、curtishd、Gonglja、gvenusleo、hpstory、justin-tse、khoaxuantu、krahets、night-cruise、nuomi1、Reanon 和 rongyi 完成(按照首字母順序排列)。感謝他們付出的時間與精力,正是他們確保了各語言程式碼的規範與統一。 本書的繁體中文版由 Shyam-Chen 和 Dr-XYZ 審閱,英文版由 yuelinxin、K3v123、QiLOL、Phoenix0415、SamJin98、yanedie、RafaelCaso、pengchzn、thomasq0 和 magentaqin 審閱。正是因為他們的持續貢獻,這本書才能夠服務於更廣泛的讀者群體,感謝他們。 +本書的 ePub 電子書生成工具由 zhongfq 開發。感謝他的貢獻,為讀者提供了更加自由的閱讀方式。 + 在本書的創作過程中,我得到了許多人的幫助。 - 感謝我在公司的導師李汐博士,在一次暢談中你鼓勵我“快行動起來”,堅定了我寫這本書的決心; diff --git a/zh-hant/docs/chapter_preface/suggestions.assets/code_md_to_repo.png b/zh-hant/docs/chapter_preface/suggestions.assets/code_md_to_repo.png index 9ce80ff76..8bc07a2d5 100644 Binary files a/zh-hant/docs/chapter_preface/suggestions.assets/code_md_to_repo.png and b/zh-hant/docs/chapter_preface/suggestions.assets/code_md_to_repo.png differ diff --git a/zh-hant/docs/chapter_preface/suggestions.assets/learning_route.png b/zh-hant/docs/chapter_preface/suggestions.assets/learning_route.png index 884bc4846..b062eaa2e 100644 Binary files a/zh-hant/docs/chapter_preface/suggestions.assets/learning_route.png and b/zh-hant/docs/chapter_preface/suggestions.assets/learning_route.png differ diff --git a/zh-hant/docs/chapter_preface/summary.md b/zh-hant/docs/chapter_preface/summary.md index 03d3c6098..bd20046b2 100644 --- a/zh-hant/docs/chapter_preface/summary.md +++ b/zh-hant/docs/chapter_preface/summary.md @@ -1,5 +1,7 @@ # 小結 +### 重點回顧 + - 本書的主要受眾是演算法初學者。如果你已有一定基礎,本書能幫助你系統回顧演算法知識,書中源程式碼也可作為“刷題工具庫”使用。 - 書中內容主要包括複雜度分析、資料結構和演算法三部分,涵蓋了該領域的大部分主題。 - 對於演算法新手,在初學階段閱讀一本入門書至關重要,可以少走許多彎路。 diff --git a/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_example.png b/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_example.png index 73a096adc..2040225c6 100644 Binary files a/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_example.png and b/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_example.png differ diff --git a/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_ranges.png b/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_ranges.png index 432977cab..52d166878 100644 Binary files a/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_ranges.png and b/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_ranges.png differ diff --git a/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_step1.png b/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_step1.png index e0ac76632..07356ffd7 100644 Binary files a/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_step1.png and b/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_step1.png differ diff --git a/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_step2.png b/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_step2.png index 4cde1b576..8481bd2dd 100644 Binary files a/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_step2.png and b/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_step2.png differ diff --git a/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_step3.png b/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_step3.png index f1040637a..276f6d691 100644 Binary files a/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_step3.png and b/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_step3.png differ diff --git a/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_step4.png b/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_step4.png index 886f33340..08a723613 100644 Binary files a/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_step4.png and b/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_step4.png differ diff --git a/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_step5.png b/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_step5.png index da2a058d8..02a46e6a8 100644 Binary files a/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_step5.png and b/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_step5.png differ diff --git a/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_step6.png b/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_step6.png index 0cc481cb2..b900a59ff 100644 Binary files a/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_step6.png and b/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_step6.png differ diff --git a/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_step7.png b/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_step7.png index 243af9ce7..c0788eae6 100644 Binary files a/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_step7.png and b/zh-hant/docs/chapter_searching/binary_search.assets/binary_search_step7.png differ diff --git a/zh-hant/docs/chapter_searching/binary_search_edge.assets/binary_search_edge_by_element.png b/zh-hant/docs/chapter_searching/binary_search_edge.assets/binary_search_edge_by_element.png index cc379b505..898ff50f9 100644 Binary files a/zh-hant/docs/chapter_searching/binary_search_edge.assets/binary_search_edge_by_element.png and b/zh-hant/docs/chapter_searching/binary_search_edge.assets/binary_search_edge_by_element.png differ diff --git a/zh-hant/docs/chapter_searching/binary_search_edge.assets/binary_search_right_edge_by_left_edge.png b/zh-hant/docs/chapter_searching/binary_search_edge.assets/binary_search_right_edge_by_left_edge.png index c77758dc4..7a8c3efd7 100644 Binary files a/zh-hant/docs/chapter_searching/binary_search_edge.assets/binary_search_right_edge_by_left_edge.png and b/zh-hant/docs/chapter_searching/binary_search_edge.assets/binary_search_right_edge_by_left_edge.png differ diff --git a/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_example.png b/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_example.png index 1f4dc50eb..6f8deb2b3 100644 Binary files a/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_example.png and b/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_example.png differ diff --git a/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_naive.png b/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_naive.png index 1b07b3cfd..884378249 100644 Binary files a/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_naive.png and b/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_naive.png differ diff --git a/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step1.png b/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step1.png index 9522685d5..05fb0b73f 100644 Binary files a/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step1.png and b/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step1.png differ diff --git a/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step2.png b/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step2.png index f0d790e12..8280396b7 100644 Binary files a/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step2.png and b/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step2.png differ diff --git a/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step3.png b/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step3.png index 0a3122bd9..4f3daad31 100644 Binary files a/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step3.png and b/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step3.png differ diff --git a/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step4.png b/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step4.png index 6892f0e41..f1c6877fd 100644 Binary files a/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step4.png and b/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step4.png differ diff --git a/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step5.png b/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step5.png index 422839eb1..50d6f2018 100644 Binary files a/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step5.png and b/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step5.png differ diff --git a/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step6.png b/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step6.png index b8abf6d29..ad1f99e55 100644 Binary files a/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step6.png and b/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step6.png differ diff --git a/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step7.png b/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step7.png index 06080b0c8..d36dc4e07 100644 Binary files a/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step7.png and b/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step7.png differ diff --git a/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step8.png b/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step8.png index 5a2d2ced7..41f60da7c 100644 Binary files a/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step8.png and b/zh-hant/docs/chapter_searching/binary_search_insertion.assets/binary_search_insertion_step8.png differ diff --git a/zh-hant/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_brute_force.png b/zh-hant/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_brute_force.png index 985012db7..800f48430 100644 Binary files a/zh-hant/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_brute_force.png and b/zh-hant/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_brute_force.png differ diff --git a/zh-hant/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step1.png b/zh-hant/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step1.png index 209ae5b2c..bda73f84d 100644 Binary files a/zh-hant/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step1.png and b/zh-hant/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step1.png differ diff --git a/zh-hant/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step2.png b/zh-hant/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step2.png index dd0d0f455..83705fa3a 100644 Binary files a/zh-hant/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step2.png and b/zh-hant/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step2.png differ diff --git a/zh-hant/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step3.png b/zh-hant/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step3.png index cac6df1e4..1e29cf473 100644 Binary files a/zh-hant/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step3.png and b/zh-hant/docs/chapter_searching/replace_linear_by_hashing.assets/two_sum_hashtable_step3.png differ diff --git a/zh-hant/docs/chapter_searching/searching_algorithm_revisited.assets/searching_algorithms.png b/zh-hant/docs/chapter_searching/searching_algorithm_revisited.assets/searching_algorithms.png index de6e20869..2c43c9c30 100644 Binary files a/zh-hant/docs/chapter_searching/searching_algorithm_revisited.assets/searching_algorithms.png and b/zh-hant/docs/chapter_searching/searching_algorithm_revisited.assets/searching_algorithms.png differ diff --git a/zh-hant/docs/chapter_searching/summary.md b/zh-hant/docs/chapter_searching/summary.md index 0c50a4934..a36504bd1 100644 --- a/zh-hant/docs/chapter_searching/summary.md +++ b/zh-hant/docs/chapter_searching/summary.md @@ -1,5 +1,7 @@ # 小結 +### 重點回顧 + - 二分搜尋依賴資料的有序性,透過迴圈逐步縮減一半搜尋區間來進行查詢。它要求輸入資料有序,且僅適用於陣列或基於陣列實現的資料結構。 - 暴力搜尋透過走訪資料結構來定位資料。線性搜尋適用於陣列和鏈結串列,廣度優先搜尋和深度優先搜尋適用於圖和樹。此類演算法通用性好,無須對資料進行預處理,但時間複雜度 $O(n)$ 較高。 - 雜湊查詢、樹查詢和二分搜尋屬於高效搜尋方法,可在特定資料結構中快速定位目標元素。此類演算法效率高,時間複雜度可達 $O(\log n)$ 甚至 $O(1)$ ,但通常需要藉助額外資料結構。 diff --git a/zh-hant/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step1.png b/zh-hant/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step1.png index e2698e78f..78ea11222 100644 Binary files a/zh-hant/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step1.png and b/zh-hant/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step1.png differ diff --git a/zh-hant/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step2.png b/zh-hant/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step2.png index 380f21878..55feb64da 100644 Binary files a/zh-hant/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step2.png and b/zh-hant/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step2.png differ diff --git a/zh-hant/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step3.png b/zh-hant/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step3.png index f6a158ca7..e441d5e13 100644 Binary files a/zh-hant/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step3.png and b/zh-hant/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step3.png differ diff --git a/zh-hant/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step4.png b/zh-hant/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step4.png index bcef7a3f3..6e762c54a 100644 Binary files a/zh-hant/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step4.png and b/zh-hant/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step4.png differ diff --git a/zh-hant/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step5.png b/zh-hant/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step5.png index 7b1ce1e93..7e8532054 100644 Binary files a/zh-hant/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step5.png and b/zh-hant/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step5.png differ diff --git a/zh-hant/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step6.png b/zh-hant/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step6.png index 44896afd9..ebbe5b3e3 100644 Binary files a/zh-hant/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step6.png and b/zh-hant/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step6.png differ diff --git a/zh-hant/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step7.png b/zh-hant/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step7.png index 69d37434c..338adcb35 100644 Binary files a/zh-hant/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step7.png and b/zh-hant/docs/chapter_sorting/bubble_sort.assets/bubble_operation_step7.png differ diff --git a/zh-hant/docs/chapter_sorting/bubble_sort.assets/bubble_sort_overview.png b/zh-hant/docs/chapter_sorting/bubble_sort.assets/bubble_sort_overview.png index bd44347ff..fa54b6dc0 100644 Binary files a/zh-hant/docs/chapter_sorting/bubble_sort.assets/bubble_sort_overview.png and b/zh-hant/docs/chapter_sorting/bubble_sort.assets/bubble_sort_overview.png differ diff --git a/zh-hant/docs/chapter_sorting/bucket_sort.assets/bucket_sort_overview.png b/zh-hant/docs/chapter_sorting/bucket_sort.assets/bucket_sort_overview.png index d486cd2d1..5c0e5cafb 100644 Binary files a/zh-hant/docs/chapter_sorting/bucket_sort.assets/bucket_sort_overview.png and b/zh-hant/docs/chapter_sorting/bucket_sort.assets/bucket_sort_overview.png differ diff --git a/zh-hant/docs/chapter_sorting/bucket_sort.assets/scatter_in_buckets_distribution.png b/zh-hant/docs/chapter_sorting/bucket_sort.assets/scatter_in_buckets_distribution.png index 3f1cdff1a..565092c4e 100644 Binary files a/zh-hant/docs/chapter_sorting/bucket_sort.assets/scatter_in_buckets_distribution.png and b/zh-hant/docs/chapter_sorting/bucket_sort.assets/scatter_in_buckets_distribution.png differ diff --git a/zh-hant/docs/chapter_sorting/bucket_sort.assets/scatter_in_buckets_recursively.png b/zh-hant/docs/chapter_sorting/bucket_sort.assets/scatter_in_buckets_recursively.png index 95905513c..602e59427 100644 Binary files a/zh-hant/docs/chapter_sorting/bucket_sort.assets/scatter_in_buckets_recursively.png and b/zh-hant/docs/chapter_sorting/bucket_sort.assets/scatter_in_buckets_recursively.png differ diff --git a/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_overview.png b/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_overview.png index 4111234a6..1caaa21f8 100644 Binary files a/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_overview.png and b/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_overview.png differ diff --git a/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_step1.png b/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_step1.png index cb986162c..c68cb8aa8 100644 Binary files a/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_step1.png and b/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_step1.png differ diff --git a/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_step2.png b/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_step2.png index 4a51c2f72..2a6ef1033 100644 Binary files a/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_step2.png and b/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_step2.png differ diff --git a/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_step3.png b/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_step3.png index ef7402409..959ab0ebc 100644 Binary files a/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_step3.png and b/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_step3.png differ diff --git a/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_step4.png b/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_step4.png index f626b95d5..cfad795d2 100644 Binary files a/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_step4.png and b/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_step4.png differ diff --git a/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_step5.png b/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_step5.png index 337b99117..0aa90c9c2 100644 Binary files a/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_step5.png and b/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_step5.png differ diff --git a/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_step6.png b/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_step6.png index 10bc31956..228c857b0 100644 Binary files a/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_step6.png and b/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_step6.png differ diff --git a/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_step7.png b/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_step7.png index 2b942ffd5..1b65aca60 100644 Binary files a/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_step7.png and b/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_step7.png differ diff --git a/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_step8.png b/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_step8.png index 8e92bde54..b046cb6e6 100644 Binary files a/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_step8.png and b/zh-hant/docs/chapter_sorting/counting_sort.assets/counting_sort_step8.png differ diff --git a/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step1.png b/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step1.png index eb99ebd60..e53c944f4 100644 Binary files a/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step1.png and b/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step1.png differ diff --git a/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step10.png b/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step10.png index 95889ba99..dc9ba1964 100644 Binary files a/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step10.png and b/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step10.png differ diff --git a/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step11.png b/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step11.png index 7ad2c919f..1f45a77b7 100644 Binary files a/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step11.png and b/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step11.png differ diff --git a/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step12.png b/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step12.png index c24d2e77e..6aae46892 100644 Binary files a/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step12.png and b/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step12.png differ diff --git a/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step2.png b/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step2.png index c50b7a18c..fdf3f9648 100644 Binary files a/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step2.png and b/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step2.png differ diff --git a/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step3.png b/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step3.png index f2b94f1f6..62430dca7 100644 Binary files a/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step3.png and b/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step3.png differ diff --git a/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step4.png b/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step4.png index 4323531cd..4b21d2094 100644 Binary files a/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step4.png and b/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step4.png differ diff --git a/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step5.png b/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step5.png index 183d66bf3..e376751ff 100644 Binary files a/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step5.png and b/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step5.png differ diff --git a/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step6.png b/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step6.png index 9f2ab89d1..196ee22f3 100644 Binary files a/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step6.png and b/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step6.png differ diff --git a/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step7.png b/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step7.png index 64fdf3810..869ab7131 100644 Binary files a/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step7.png and b/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step7.png differ diff --git a/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step8.png b/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step8.png index 4c3739d2a..db013ded4 100644 Binary files a/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step8.png and b/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step8.png differ diff --git a/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step9.png b/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step9.png index 3bfb7001e..2a7657863 100644 Binary files a/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step9.png and b/zh-hant/docs/chapter_sorting/heap_sort.assets/heap_sort_step9.png differ diff --git a/zh-hant/docs/chapter_sorting/insertion_sort.assets/insertion_operation.png b/zh-hant/docs/chapter_sorting/insertion_sort.assets/insertion_operation.png index 09fee6899..53d6991d0 100644 Binary files a/zh-hant/docs/chapter_sorting/insertion_sort.assets/insertion_operation.png and b/zh-hant/docs/chapter_sorting/insertion_sort.assets/insertion_operation.png differ diff --git a/zh-hant/docs/chapter_sorting/insertion_sort.assets/insertion_sort_overview.png b/zh-hant/docs/chapter_sorting/insertion_sort.assets/insertion_sort_overview.png index cc2bc81be..7c2695842 100644 Binary files a/zh-hant/docs/chapter_sorting/insertion_sort.assets/insertion_sort_overview.png and b/zh-hant/docs/chapter_sorting/insertion_sort.assets/insertion_sort_overview.png differ diff --git a/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_overview.png b/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_overview.png index 439e569ec..245523616 100644 Binary files a/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_overview.png and b/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_overview.png differ diff --git a/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step1.png b/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step1.png index d0ab5ab65..8f809423c 100644 Binary files a/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step1.png and b/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step1.png differ diff --git a/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step10.png b/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step10.png index 6ee5527c2..38f149583 100644 Binary files a/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step10.png and b/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step10.png differ diff --git a/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step2.png b/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step2.png index 21a187cfc..1ef1c3229 100644 Binary files a/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step2.png and b/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step2.png differ diff --git a/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step3.png b/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step3.png index 40bfbb685..25b73d137 100644 Binary files a/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step3.png and b/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step3.png differ diff --git a/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step4.png b/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step4.png index ea45368b5..c69cf81fa 100644 Binary files a/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step4.png and b/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step4.png differ diff --git a/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step5.png b/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step5.png index 261a2c8a6..fee096df4 100644 Binary files a/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step5.png and b/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step5.png differ diff --git a/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step6.png b/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step6.png index eaa1be589..47983a3ee 100644 Binary files a/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step6.png and b/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step6.png differ diff --git a/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step7.png b/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step7.png index aebe4ab10..9fd613ab3 100644 Binary files a/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step7.png and b/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step7.png differ diff --git a/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step8.png b/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step8.png index b58e6b727..4ddd92ce9 100644 Binary files a/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step8.png and b/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step8.png differ diff --git a/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step9.png b/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step9.png index ecfd554c8..b493d7144 100644 Binary files a/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step9.png and b/zh-hant/docs/chapter_sorting/merge_sort.assets/merge_sort_step9.png differ diff --git a/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step1.png b/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step1.png index 50b597542..4290f1bd6 100644 Binary files a/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step1.png and b/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step1.png differ diff --git a/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step2.png b/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step2.png index 44f2b4865..b321c6ca7 100644 Binary files a/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step2.png and b/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step2.png differ diff --git a/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step3.png b/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step3.png index d93be6c87..c576b4134 100644 Binary files a/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step3.png and b/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step3.png differ diff --git a/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step4.png b/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step4.png index f4dd86752..9be43f618 100644 Binary files a/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step4.png and b/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step4.png differ diff --git a/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step5.png b/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step5.png index 9db1e6ba6..62f962e7f 100644 Binary files a/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step5.png and b/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step5.png differ diff --git a/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step6.png b/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step6.png index b3ef604dc..141e1d47f 100644 Binary files a/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step6.png and b/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step6.png differ diff --git a/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step7.png b/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step7.png index a86aa0b62..bf94629e2 100644 Binary files a/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step7.png and b/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step7.png differ diff --git a/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step8.png b/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step8.png index 671379e6b..1985dc334 100644 Binary files a/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step8.png and b/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step8.png differ diff --git a/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step9.png b/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step9.png index 7464c1876..6c62b899c 100644 Binary files a/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step9.png and b/zh-hant/docs/chapter_sorting/quick_sort.assets/pivot_division_step9.png differ diff --git a/zh-hant/docs/chapter_sorting/quick_sort.assets/quick_sort_overview.png b/zh-hant/docs/chapter_sorting/quick_sort.assets/quick_sort_overview.png index f3855fab5..e1e43a1d0 100644 Binary files a/zh-hant/docs/chapter_sorting/quick_sort.assets/quick_sort_overview.png and b/zh-hant/docs/chapter_sorting/quick_sort.assets/quick_sort_overview.png differ diff --git a/zh-hant/docs/chapter_sorting/radix_sort.assets/radix_sort_overview.png b/zh-hant/docs/chapter_sorting/radix_sort.assets/radix_sort_overview.png index c255e2c5c..63727b867 100644 Binary files a/zh-hant/docs/chapter_sorting/radix_sort.assets/radix_sort_overview.png and b/zh-hant/docs/chapter_sorting/radix_sort.assets/radix_sort_overview.png differ diff --git a/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_instability.png b/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_instability.png index f39d178e1..b5fd2ea66 100644 Binary files a/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_instability.png and b/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_instability.png differ diff --git a/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step1.png b/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step1.png index d876a15a6..fd2597fb8 100644 Binary files a/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step1.png and b/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step1.png differ diff --git a/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step10.png b/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step10.png index 708a61399..57bf4b66d 100644 Binary files a/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step10.png and b/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step10.png differ diff --git a/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step11.png b/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step11.png index 0d04add4b..59a48a8db 100644 Binary files a/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step11.png and b/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step11.png differ diff --git a/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step2.png b/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step2.png index bfd957dcd..0af1b4daa 100644 Binary files a/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step2.png and b/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step2.png differ diff --git a/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step3.png b/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step3.png index f995b78ff..5bafdadef 100644 Binary files a/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step3.png and b/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step3.png differ diff --git a/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step4.png b/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step4.png index fb37ba0e1..242e94b48 100644 Binary files a/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step4.png and b/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step4.png differ diff --git a/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step5.png b/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step5.png index 3eba59543..cb3f445f8 100644 Binary files a/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step5.png and b/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step5.png differ diff --git a/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step6.png b/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step6.png index 87d072f5e..5ec8161b9 100644 Binary files a/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step6.png and b/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step6.png differ diff --git a/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step7.png b/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step7.png index 96d924959..7069b8559 100644 Binary files a/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step7.png and b/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step7.png differ diff --git a/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step8.png b/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step8.png index c704af470..57023ed5d 100644 Binary files a/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step8.png and b/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step8.png differ diff --git a/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step9.png b/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step9.png index 4ab104738..1e4f7b352 100644 Binary files a/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step9.png and b/zh-hant/docs/chapter_sorting/selection_sort.assets/selection_sort_step9.png differ diff --git a/zh-hant/docs/chapter_sorting/sorting_algorithm.assets/sorting_examples.png b/zh-hant/docs/chapter_sorting/sorting_algorithm.assets/sorting_examples.png index 62b8daf64..dd1ea0a9e 100644 Binary files a/zh-hant/docs/chapter_sorting/sorting_algorithm.assets/sorting_examples.png and b/zh-hant/docs/chapter_sorting/sorting_algorithm.assets/sorting_examples.png differ diff --git a/zh-hant/docs/chapter_sorting/summary.assets/sorting_algorithms_comparison.png b/zh-hant/docs/chapter_sorting/summary.assets/sorting_algorithms_comparison.png index 1fd5338ff..c5bb5abf2 100644 Binary files a/zh-hant/docs/chapter_sorting/summary.assets/sorting_algorithms_comparison.png and b/zh-hant/docs/chapter_sorting/summary.assets/sorting_algorithms_comparison.png differ diff --git a/zh-hant/docs/chapter_stack_and_queue/deque.assets/array_deque_step1.png b/zh-hant/docs/chapter_stack_and_queue/deque.assets/array_deque_step1.png index 1051d0481..7643715e4 100644 Binary files a/zh-hant/docs/chapter_stack_and_queue/deque.assets/array_deque_step1.png and b/zh-hant/docs/chapter_stack_and_queue/deque.assets/array_deque_step1.png differ diff --git a/zh-hant/docs/chapter_stack_and_queue/deque.assets/array_deque_step2_push_last.png b/zh-hant/docs/chapter_stack_and_queue/deque.assets/array_deque_step2_push_last.png index 83da5e217..b3dfbc734 100644 Binary files a/zh-hant/docs/chapter_stack_and_queue/deque.assets/array_deque_step2_push_last.png and b/zh-hant/docs/chapter_stack_and_queue/deque.assets/array_deque_step2_push_last.png differ diff --git a/zh-hant/docs/chapter_stack_and_queue/deque.assets/array_deque_step3_push_first.png b/zh-hant/docs/chapter_stack_and_queue/deque.assets/array_deque_step3_push_first.png index 68d1a5d2a..1fa5c4a6a 100644 Binary files a/zh-hant/docs/chapter_stack_and_queue/deque.assets/array_deque_step3_push_first.png and b/zh-hant/docs/chapter_stack_and_queue/deque.assets/array_deque_step3_push_first.png differ diff --git a/zh-hant/docs/chapter_stack_and_queue/deque.assets/array_deque_step4_pop_last.png b/zh-hant/docs/chapter_stack_and_queue/deque.assets/array_deque_step4_pop_last.png index a32871bb2..d5ffded9a 100644 Binary files a/zh-hant/docs/chapter_stack_and_queue/deque.assets/array_deque_step4_pop_last.png and b/zh-hant/docs/chapter_stack_and_queue/deque.assets/array_deque_step4_pop_last.png differ diff --git a/zh-hant/docs/chapter_stack_and_queue/deque.assets/array_deque_step5_pop_first.png b/zh-hant/docs/chapter_stack_and_queue/deque.assets/array_deque_step5_pop_first.png index 50b2ab9a1..cfb741f98 100644 Binary files a/zh-hant/docs/chapter_stack_and_queue/deque.assets/array_deque_step5_pop_first.png and b/zh-hant/docs/chapter_stack_and_queue/deque.assets/array_deque_step5_pop_first.png differ diff --git a/zh-hant/docs/chapter_stack_and_queue/deque.assets/deque_operations.png b/zh-hant/docs/chapter_stack_and_queue/deque.assets/deque_operations.png index c18ba3281..596c12f7f 100644 Binary files a/zh-hant/docs/chapter_stack_and_queue/deque.assets/deque_operations.png and b/zh-hant/docs/chapter_stack_and_queue/deque.assets/deque_operations.png differ diff --git a/zh-hant/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step1.png b/zh-hant/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step1.png index 6f8decd53..62f42efd9 100644 Binary files a/zh-hant/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step1.png and b/zh-hant/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step1.png differ diff --git a/zh-hant/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step2_push_last.png b/zh-hant/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step2_push_last.png index 67095493f..63784eaef 100644 Binary files a/zh-hant/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step2_push_last.png and b/zh-hant/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step2_push_last.png differ diff --git a/zh-hant/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step3_push_first.png b/zh-hant/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step3_push_first.png index b773d6d05..47dc4197e 100644 Binary files a/zh-hant/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step3_push_first.png and b/zh-hant/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step3_push_first.png differ diff --git a/zh-hant/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step4_pop_last.png b/zh-hant/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step4_pop_last.png index 7639acb33..9494bbbc1 100644 Binary files a/zh-hant/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step4_pop_last.png and b/zh-hant/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step4_pop_last.png differ diff --git a/zh-hant/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step5_pop_first.png b/zh-hant/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step5_pop_first.png index 85c53881a..a787c8383 100644 Binary files a/zh-hant/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step5_pop_first.png and b/zh-hant/docs/chapter_stack_and_queue/deque.assets/linkedlist_deque_step5_pop_first.png differ diff --git a/zh-hant/docs/chapter_stack_and_queue/queue.assets/array_queue_step1.png b/zh-hant/docs/chapter_stack_and_queue/queue.assets/array_queue_step1.png index 72d87004e..39417f799 100644 Binary files a/zh-hant/docs/chapter_stack_and_queue/queue.assets/array_queue_step1.png and b/zh-hant/docs/chapter_stack_and_queue/queue.assets/array_queue_step1.png differ diff --git a/zh-hant/docs/chapter_stack_and_queue/queue.assets/array_queue_step2_push.png b/zh-hant/docs/chapter_stack_and_queue/queue.assets/array_queue_step2_push.png index 95808d0bf..0a31b1379 100644 Binary files a/zh-hant/docs/chapter_stack_and_queue/queue.assets/array_queue_step2_push.png and b/zh-hant/docs/chapter_stack_and_queue/queue.assets/array_queue_step2_push.png differ diff --git a/zh-hant/docs/chapter_stack_and_queue/queue.assets/array_queue_step3_pop.png b/zh-hant/docs/chapter_stack_and_queue/queue.assets/array_queue_step3_pop.png index e6433ea85..a4c5b4dc5 100644 Binary files a/zh-hant/docs/chapter_stack_and_queue/queue.assets/array_queue_step3_pop.png and b/zh-hant/docs/chapter_stack_and_queue/queue.assets/array_queue_step3_pop.png differ diff --git a/zh-hant/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step1.png b/zh-hant/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step1.png index 07203e8f1..12b4475fc 100644 Binary files a/zh-hant/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step1.png and b/zh-hant/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step1.png differ diff --git a/zh-hant/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step2_push.png b/zh-hant/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step2_push.png index 713d952b5..49626b60e 100644 Binary files a/zh-hant/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step2_push.png and b/zh-hant/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step2_push.png differ diff --git a/zh-hant/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step3_pop.png b/zh-hant/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step3_pop.png index b99ce45a5..9928740a1 100644 Binary files a/zh-hant/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step3_pop.png and b/zh-hant/docs/chapter_stack_and_queue/queue.assets/linkedlist_queue_step3_pop.png differ diff --git a/zh-hant/docs/chapter_stack_and_queue/queue.assets/queue_operations.png b/zh-hant/docs/chapter_stack_and_queue/queue.assets/queue_operations.png index ceba5de68..2182ab187 100644 Binary files a/zh-hant/docs/chapter_stack_and_queue/queue.assets/queue_operations.png and b/zh-hant/docs/chapter_stack_and_queue/queue.assets/queue_operations.png differ diff --git a/zh-hant/docs/chapter_stack_and_queue/stack.assets/array_stack_step1.png b/zh-hant/docs/chapter_stack_and_queue/stack.assets/array_stack_step1.png index b8f7ba657..3099641d6 100644 Binary files a/zh-hant/docs/chapter_stack_and_queue/stack.assets/array_stack_step1.png and b/zh-hant/docs/chapter_stack_and_queue/stack.assets/array_stack_step1.png differ diff --git a/zh-hant/docs/chapter_stack_and_queue/stack.assets/array_stack_step2_push.png b/zh-hant/docs/chapter_stack_and_queue/stack.assets/array_stack_step2_push.png index ace693abc..89a1137e3 100644 Binary files a/zh-hant/docs/chapter_stack_and_queue/stack.assets/array_stack_step2_push.png and b/zh-hant/docs/chapter_stack_and_queue/stack.assets/array_stack_step2_push.png differ diff --git a/zh-hant/docs/chapter_stack_and_queue/stack.assets/array_stack_step3_pop.png b/zh-hant/docs/chapter_stack_and_queue/stack.assets/array_stack_step3_pop.png index 911ca63c6..d58d1af44 100644 Binary files a/zh-hant/docs/chapter_stack_and_queue/stack.assets/array_stack_step3_pop.png and b/zh-hant/docs/chapter_stack_and_queue/stack.assets/array_stack_step3_pop.png differ diff --git a/zh-hant/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step1.png b/zh-hant/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step1.png index 52eb5753c..9d6b239b4 100644 Binary files a/zh-hant/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step1.png and b/zh-hant/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step1.png differ diff --git a/zh-hant/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step2_push.png b/zh-hant/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step2_push.png index 0f0798702..b325612c2 100644 Binary files a/zh-hant/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step2_push.png and b/zh-hant/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step2_push.png differ diff --git a/zh-hant/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step3_pop.png b/zh-hant/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step3_pop.png index f354c00a2..5698e198f 100644 Binary files a/zh-hant/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step3_pop.png and b/zh-hant/docs/chapter_stack_and_queue/stack.assets/linkedlist_stack_step3_pop.png differ diff --git a/zh-hant/docs/chapter_stack_and_queue/stack.assets/stack_operations.png b/zh-hant/docs/chapter_stack_and_queue/stack.assets/stack_operations.png index 1d46e5b9c..b46f05a49 100644 Binary files a/zh-hant/docs/chapter_stack_and_queue/stack.assets/stack_operations.png and b/zh-hant/docs/chapter_stack_and_queue/stack.assets/stack_operations.png differ diff --git a/zh-hant/docs/chapter_tree/array_representation_of_tree.assets/array_representation_binary_tree.png b/zh-hant/docs/chapter_tree/array_representation_of_tree.assets/array_representation_binary_tree.png index e65009d56..957ae0072 100644 Binary files a/zh-hant/docs/chapter_tree/array_representation_of_tree.assets/array_representation_binary_tree.png and b/zh-hant/docs/chapter_tree/array_representation_of_tree.assets/array_representation_binary_tree.png differ diff --git a/zh-hant/docs/chapter_tree/array_representation_of_tree.assets/array_representation_complete_binary_tree.png b/zh-hant/docs/chapter_tree/array_representation_of_tree.assets/array_representation_complete_binary_tree.png index 0c9a92976..55158989e 100644 Binary files a/zh-hant/docs/chapter_tree/array_representation_of_tree.assets/array_representation_complete_binary_tree.png and b/zh-hant/docs/chapter_tree/array_representation_of_tree.assets/array_representation_complete_binary_tree.png differ diff --git a/zh-hant/docs/chapter_tree/array_representation_of_tree.assets/array_representation_with_empty.png b/zh-hant/docs/chapter_tree/array_representation_of_tree.assets/array_representation_with_empty.png index abe5d4825..71fc3a123 100644 Binary files a/zh-hant/docs/chapter_tree/array_representation_of_tree.assets/array_representation_with_empty.png and b/zh-hant/docs/chapter_tree/array_representation_of_tree.assets/array_representation_with_empty.png differ diff --git a/zh-hant/docs/chapter_tree/array_representation_of_tree.assets/array_representation_without_empty.png b/zh-hant/docs/chapter_tree/array_representation_of_tree.assets/array_representation_without_empty.png index 124a2c716..510e2356d 100644 Binary files a/zh-hant/docs/chapter_tree/array_representation_of_tree.assets/array_representation_without_empty.png and b/zh-hant/docs/chapter_tree/array_representation_of_tree.assets/array_representation_without_empty.png differ diff --git a/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_degradation_from_inserting_node.png b/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_degradation_from_inserting_node.png index 36e172539..4a50c4d17 100644 Binary files a/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_degradation_from_inserting_node.png and b/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_degradation_from_inserting_node.png differ diff --git a/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_degradation_from_removing_node.png b/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_degradation_from_removing_node.png index ba6bb73b4..7c597ad25 100644 Binary files a/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_degradation_from_removing_node.png and b/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_degradation_from_removing_node.png differ diff --git a/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_left_right_rotate.png b/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_left_right_rotate.png index 266306782..386acbc03 100644 Binary files a/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_left_right_rotate.png and b/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_left_right_rotate.png differ diff --git a/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_left_rotate.png b/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_left_rotate.png index f9621a4a6..464c13dcc 100644 Binary files a/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_left_rotate.png and b/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_left_rotate.png differ diff --git a/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_left_rotate_with_grandchild.png b/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_left_rotate_with_grandchild.png index 7c22bf295..7c6db4a18 100644 Binary files a/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_left_rotate_with_grandchild.png and b/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_left_rotate_with_grandchild.png differ diff --git a/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_right_left_rotate.png b/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_right_left_rotate.png index 1c8fa74a5..42898ba1f 100644 Binary files a/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_right_left_rotate.png and b/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_right_left_rotate.png differ diff --git a/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step1.png b/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step1.png index 0b8c52407..e722300f8 100644 Binary files a/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step1.png and b/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step1.png differ diff --git a/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step2.png b/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step2.png index 28b776856..82a11d2bc 100644 Binary files a/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step2.png and b/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step2.png differ diff --git a/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step3.png b/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step3.png index 831538b37..b0909591a 100644 Binary files a/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step3.png and b/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step3.png differ diff --git a/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step4.png b/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step4.png index 956552c3d..42b1d86d7 100644 Binary files a/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step4.png and b/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_step4.png differ diff --git a/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_with_grandchild.png b/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_with_grandchild.png index bf905a747..7a54c7977 100644 Binary files a/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_with_grandchild.png and b/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_right_rotate_with_grandchild.png differ diff --git a/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_rotation_cases.png b/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_rotation_cases.png index 726733162..a6d09c44b 100644 Binary files a/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_rotation_cases.png and b/zh-hant/docs/chapter_tree/avl_tree.assets/avltree_rotation_cases.png differ diff --git a/zh-hant/docs/chapter_tree/binary_search_tree.assets/binary_search_tree.png b/zh-hant/docs/chapter_tree/binary_search_tree.assets/binary_search_tree.png index dc56cb3d4..381d4c8dd 100644 Binary files a/zh-hant/docs/chapter_tree/binary_search_tree.assets/binary_search_tree.png and b/zh-hant/docs/chapter_tree/binary_search_tree.assets/binary_search_tree.png differ diff --git a/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_degradation.png b/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_degradation.png index 88f9135ad..a1bb956ce 100644 Binary files a/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_degradation.png and b/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_degradation.png differ diff --git a/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_inorder_traversal.png b/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_inorder_traversal.png index 72e21e95e..51acc3422 100644 Binary files a/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_inorder_traversal.png and b/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_inorder_traversal.png differ diff --git a/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_insert.png b/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_insert.png index 405e58c49..5dce4b53e 100644 Binary files a/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_insert.png and b/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_insert.png differ diff --git a/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_remove_case1.png b/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_remove_case1.png index fb4b5b95c..b0934b104 100644 Binary files a/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_remove_case1.png and b/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_remove_case1.png differ diff --git a/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_remove_case2.png b/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_remove_case2.png index 0e47addbe..d443498f5 100644 Binary files a/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_remove_case2.png and b/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_remove_case2.png differ diff --git a/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step1.png b/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step1.png index ed8055b12..f09a19b6b 100644 Binary files a/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step1.png and b/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step1.png differ diff --git a/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step2.png b/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step2.png index 5709cac6b..2529083f1 100644 Binary files a/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step2.png and b/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step2.png differ diff --git a/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step3.png b/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step3.png index 7678126f5..eafd70d24 100644 Binary files a/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step3.png and b/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step3.png differ diff --git a/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step4.png b/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step4.png index d4efd20fb..d74065c36 100644 Binary files a/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step4.png and b/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_remove_case3_step4.png differ diff --git a/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_search_step1.png b/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_search_step1.png index e3dd87fa9..c98a889c5 100644 Binary files a/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_search_step1.png and b/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_search_step1.png differ diff --git a/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_search_step2.png b/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_search_step2.png index 6c491abf5..88351190d 100644 Binary files a/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_search_step2.png and b/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_search_step2.png differ diff --git a/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_search_step3.png b/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_search_step3.png index 148441cb5..11c235973 100644 Binary files a/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_search_step3.png and b/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_search_step3.png differ diff --git a/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_search_step4.png b/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_search_step4.png index 17b4b4c06..0ed116143 100644 Binary files a/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_search_step4.png and b/zh-hant/docs/chapter_tree/binary_search_tree.assets/bst_search_step4.png differ diff --git a/zh-hant/docs/chapter_tree/binary_tree.assets/balanced_binary_tree.png b/zh-hant/docs/chapter_tree/binary_tree.assets/balanced_binary_tree.png index bda56095a..db86e153f 100644 Binary files a/zh-hant/docs/chapter_tree/binary_tree.assets/balanced_binary_tree.png and b/zh-hant/docs/chapter_tree/binary_tree.assets/balanced_binary_tree.png differ diff --git a/zh-hant/docs/chapter_tree/binary_tree.assets/binary_tree_add_remove.png b/zh-hant/docs/chapter_tree/binary_tree.assets/binary_tree_add_remove.png index e0ada30ae..4bf28f514 100644 Binary files a/zh-hant/docs/chapter_tree/binary_tree.assets/binary_tree_add_remove.png and b/zh-hant/docs/chapter_tree/binary_tree.assets/binary_tree_add_remove.png differ diff --git a/zh-hant/docs/chapter_tree/binary_tree.assets/binary_tree_best_worst_cases.png b/zh-hant/docs/chapter_tree/binary_tree.assets/binary_tree_best_worst_cases.png index 2074c16c6..279211870 100644 Binary files a/zh-hant/docs/chapter_tree/binary_tree.assets/binary_tree_best_worst_cases.png and b/zh-hant/docs/chapter_tree/binary_tree.assets/binary_tree_best_worst_cases.png differ diff --git a/zh-hant/docs/chapter_tree/binary_tree.assets/binary_tree_definition.png b/zh-hant/docs/chapter_tree/binary_tree.assets/binary_tree_definition.png index 138c51c06..4c4bd3228 100644 Binary files a/zh-hant/docs/chapter_tree/binary_tree.assets/binary_tree_definition.png and b/zh-hant/docs/chapter_tree/binary_tree.assets/binary_tree_definition.png differ diff --git a/zh-hant/docs/chapter_tree/binary_tree.assets/binary_tree_terminology.png b/zh-hant/docs/chapter_tree/binary_tree.assets/binary_tree_terminology.png index d23dbdbbe..365a3a223 100644 Binary files a/zh-hant/docs/chapter_tree/binary_tree.assets/binary_tree_terminology.png and b/zh-hant/docs/chapter_tree/binary_tree.assets/binary_tree_terminology.png differ diff --git a/zh-hant/docs/chapter_tree/binary_tree.assets/complete_binary_tree.png b/zh-hant/docs/chapter_tree/binary_tree.assets/complete_binary_tree.png index b46d6ace7..f440dde76 100644 Binary files a/zh-hant/docs/chapter_tree/binary_tree.assets/complete_binary_tree.png and b/zh-hant/docs/chapter_tree/binary_tree.assets/complete_binary_tree.png differ diff --git a/zh-hant/docs/chapter_tree/binary_tree.assets/full_binary_tree.png b/zh-hant/docs/chapter_tree/binary_tree.assets/full_binary_tree.png index 889a0143a..57ac29ea1 100644 Binary files a/zh-hant/docs/chapter_tree/binary_tree.assets/full_binary_tree.png and b/zh-hant/docs/chapter_tree/binary_tree.assets/full_binary_tree.png differ diff --git a/zh-hant/docs/chapter_tree/binary_tree.assets/perfect_binary_tree.png b/zh-hant/docs/chapter_tree/binary_tree.assets/perfect_binary_tree.png index bb8a408de..e297ffcfc 100644 Binary files a/zh-hant/docs/chapter_tree/binary_tree.assets/perfect_binary_tree.png and b/zh-hant/docs/chapter_tree/binary_tree.assets/perfect_binary_tree.png differ diff --git a/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/binary_tree_bfs.png b/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/binary_tree_bfs.png index cb98632f3..54a388797 100644 Binary files a/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/binary_tree_bfs.png and b/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/binary_tree_bfs.png differ diff --git a/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/binary_tree_dfs.png b/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/binary_tree_dfs.png index 2d5ed8333..bc29c1328 100644 Binary files a/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/binary_tree_dfs.png and b/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/binary_tree_dfs.png differ diff --git a/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step1.png b/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step1.png index c730ee8eb..cfb0840f2 100644 Binary files a/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step1.png and b/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step1.png differ diff --git a/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step10.png b/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step10.png index 3b09a8e80..c2643c4f0 100644 Binary files a/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step10.png and b/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step10.png differ diff --git a/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step11.png b/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step11.png index fffa7884c..345ba39e4 100644 Binary files a/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step11.png and b/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step11.png differ diff --git a/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step2.png b/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step2.png index f62028aad..4b7cd8b22 100644 Binary files a/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step2.png and b/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step2.png differ diff --git a/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step3.png b/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step3.png index 62519f18b..68f967914 100644 Binary files a/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step3.png and b/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step3.png differ diff --git a/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step4.png b/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step4.png index 04a8b3293..7f353ddba 100644 Binary files a/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step4.png and b/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step4.png differ diff --git a/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step5.png b/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step5.png index 6d9aa8c56..3a3b51575 100644 Binary files a/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step5.png and b/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step5.png differ diff --git a/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step6.png b/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step6.png index 452aae1bf..5121dddd4 100644 Binary files a/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step6.png and b/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step6.png differ diff --git a/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step7.png b/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step7.png index ed69e0e8e..5b85466ce 100644 Binary files a/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step7.png and b/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step7.png differ diff --git a/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step8.png b/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step8.png index 70a373601..53cf3eeb5 100644 Binary files a/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step8.png and b/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step8.png differ diff --git a/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step9.png b/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step9.png index 67d767d8d..f6a2965eb 100644 Binary files a/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step9.png and b/zh-hant/docs/chapter_tree/binary_tree_traversal.assets/preorder_step9.png differ diff --git a/zh-hant/docs/index.assets/btn_download_pdf.svg b/zh-hant/docs/index.assets/btn_download_pdf.svg deleted file mode 100644 index 2d52ece69..000000000 --- a/zh-hant/docs/index.assets/btn_download_pdf.svg +++ /dev/null @@ -1 +0,0 @@ -下載PDF \ No newline at end of file diff --git a/zh-hant/docs/index.assets/btn_download_pdf_dark.svg b/zh-hant/docs/index.assets/btn_download_pdf_dark.svg index 71ae42ec0..7375ba673 100644 --- a/zh-hant/docs/index.assets/btn_download_pdf_dark.svg +++ b/zh-hant/docs/index.assets/btn_download_pdf_dark.svg @@ -1 +1 @@ -下載PDF \ No newline at end of file +下載PDF/ePub \ No newline at end of file diff --git a/zh-hant/docs/index.assets/btn_read_online.svg b/zh-hant/docs/index.assets/btn_read_online.svg deleted file mode 100644 index 7ff5c3f26..000000000 --- a/zh-hant/docs/index.assets/btn_read_online.svg +++ /dev/null @@ -1 +0,0 @@ -線上閱讀 \ No newline at end of file diff --git a/zh-hant/mkdocs.yml b/zh-hant/mkdocs.yml index 87e5850d1..080e2bee9 100644 --- a/zh-hant/mkdocs.yml +++ b/zh-hant/mkdocs.yml @@ -9,7 +9,7 @@ docs_dir: ../build/zh-hant/docs site_dir: ../site/zh-hant # Repository edit_uri: tree/main/zh-hant/docs -version: 1.2.0 +version: 1.3.0 # Configuration theme: