This commit is contained in:
krahets
2025-12-31 19:38:45 +08:00
parent fdc032e300
commit f31cbc3f9f
474 changed files with 130810 additions and 103691 deletions
+95 -95
View File
@@ -18,9 +18,9 @@
<link href="assets/stylesheets/main.618322db.min.css" rel="stylesheet"/>
<link href="assets/stylesheets/palette.ab4e12ef.min.css" rel="stylesheet"/>
<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect"/>
<link href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&amp;display=fallback" rel="stylesheet"/>
<link href="https://fonts.googleapis.com/css?family=Lato:300,300i,400,400i,700,700i%7CJetBrains+Mono:400,400i,700,700i&amp;display=fallback" rel="stylesheet"/>
<style>
:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}
:root{--md-text-font:"Lato";--md-code-font:"JetBrains Mono"}
</style>
<link href="stylesheets/extra.css" rel="stylesheet"/>
<script>
@@ -150,7 +150,7 @@
<a href="chapter_hashing/">
<img alt="" src="../assets/hero/chapter_hashing.png" style="height: 15.266%; left: 63.281%; top: 27.933%;"/>
<span style="left: 68.862%; top: 45.792%;">
Hash table
Hashing
</span>
</a>
<a href="chapter_tree/">
@@ -757,7 +757,7 @@
</path>
</svg>
<span class="md-ellipsis">
Before starting
Before Starting
</span>
</a>
</div>
@@ -765,7 +765,7 @@
<label class="md-nav__title" for="__nav_1">
<span class="md-nav__icon md-icon">
</span>
Before starting
Before Starting
</label>
<ul class="md-nav__list" data-md-scrollfix="">
</ul>
@@ -798,14 +798,14 @@
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_preface/about_the_book/">
<span class="md-ellipsis">
0.1 About this book
0.1 About This Book
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_preface/suggestions/">
<span class="md-ellipsis">
0.2 How to read
0.2 How to Use This Book
</span>
</a>
</li>
@@ -828,7 +828,7 @@
</path>
</svg>
<span class="md-ellipsis">
Chapter 1. Encounter with algorithms
Chapter 1. Encounter With Algorithms
</span>
</a>
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
@@ -840,20 +840,20 @@
<label class="md-nav__title" for="__nav_3">
<span class="md-nav__icon md-icon">
</span>
Chapter 1. Encounter with algorithms
Chapter 1. Encounter With Algorithms
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_introduction/algorithms_are_everywhere/">
<span class="md-ellipsis">
1.1 Algorithms are everywhere
1.1 Algorithms Are Everywhere
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_introduction/what_is_dsa/">
<span class="md-ellipsis">
1.2 What is an algorithm
1.2 What Is an Algorithm
</span>
</a>
</li>
@@ -876,7 +876,7 @@
</path>
</svg>
<span class="md-ellipsis">
Chapter 2. Complexity analysis
Chapter 2. Complexity Analysis
</span>
</a>
<label class="md-nav__link" for="__nav_4" id="__nav_4_label" tabindex="0">
@@ -888,34 +888,34 @@
<label class="md-nav__title" for="__nav_4">
<span class="md-nav__icon md-icon">
</span>
Chapter 2. Complexity analysis
Chapter 2. Complexity Analysis
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_computational_complexity/performance_evaluation/">
<span class="md-ellipsis">
2.1 Algorithm efficiency assessment
2.1 Algorithm Efficiency Evaluation
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_computational_complexity/iteration_and_recursion/">
<span class="md-ellipsis">
2.2 Iteration and recursion
2.2 Iteration and Recursion
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_computational_complexity/time_complexity/">
<span class="md-ellipsis">
2.3 Time complexity
2.3 Time Complexity
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_computational_complexity/space_complexity/">
<span class="md-ellipsis">
2.4 Space complexity
2.4 Space Complexity
</span>
</a>
</li>
@@ -938,7 +938,7 @@
</path>
</svg>
<span class="md-ellipsis">
Chapter 3. Data structures
Chapter 3. Data Structures
</span>
</a>
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
@@ -950,34 +950,34 @@
<label class="md-nav__title" for="__nav_5">
<span class="md-nav__icon md-icon">
</span>
Chapter 3. Data structures
Chapter 3. Data Structures
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_data_structure/classification_of_data_structure/">
<span class="md-ellipsis">
3.1 Classification of data structures
3.1 Classification of Data Structures
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_data_structure/basic_data_types/">
<span class="md-ellipsis">
3.2 Basic data types
3.2 Basic Data Types
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_data_structure/number_encoding/">
<span class="md-ellipsis">
3.3 Number encoding *
3.3 Number Encoding *
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_data_structure/character_encoding/">
<span class="md-ellipsis">
3.4 Character encoding *
3.4 Character Encoding *
</span>
</a>
</li>
@@ -1000,7 +1000,7 @@
</path>
</svg>
<span class="md-ellipsis">
Chapter 4. Array and linked list
Chapter 4. Array and Linked List
</span>
</a>
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
@@ -1012,7 +1012,7 @@
<label class="md-nav__title" for="__nav_6">
<span class="md-nav__icon md-icon">
</span>
Chapter 4. Array and linked list
Chapter 4. Array and Linked List
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
@@ -1025,7 +1025,7 @@
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_array_and_linkedlist/linked_list/">
<span class="md-ellipsis">
4.2 Linked list
4.2 Linked List
</span>
</a>
</li>
@@ -1039,7 +1039,7 @@
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_array_and_linkedlist/ram_and_cache/">
<span class="md-ellipsis">
4.4 Memory and cache *
4.4 Memory and Cache *
</span>
</a>
</li>
@@ -1062,7 +1062,7 @@
</path>
</svg>
<span class="md-ellipsis">
Chapter 5. Stack and queue
Chapter 5. Stack and Queue
</span>
</a>
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
@@ -1074,7 +1074,7 @@
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon">
</span>
Chapter 5. Stack and queue
Chapter 5. Stack and Queue
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
@@ -1094,7 +1094,7 @@
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_stack_and_queue/deque/">
<span class="md-ellipsis">
5.3 Double-ended queue
5.3 Double-Ended Queue
</span>
</a>
</li>
@@ -1117,7 +1117,7 @@
</path>
</svg>
<span class="md-ellipsis">
Chapter 6. Hash table
Chapter 6. Hashing
</span>
</a>
<label class="md-nav__link" for="__nav_8" id="__nav_8_label" tabindex="0">
@@ -1129,27 +1129,27 @@
<label class="md-nav__title" for="__nav_8">
<span class="md-nav__icon md-icon">
</span>
Chapter 6. Hash table
Chapter 6. Hashing
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_hashing/hash_map/">
<span class="md-ellipsis">
6.1 Hash table
6.1 Hash Table
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_hashing/hash_collision/">
<span class="md-ellipsis">
6.2 Hash collision
6.2 Hash Collision
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_hashing/hash_algorithm/">
<span class="md-ellipsis">
6.3 Hash algorithm
6.3 Hash Algorithm
</span>
</a>
</li>
@@ -1190,35 +1190,35 @@
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_tree/binary_tree/">
<span class="md-ellipsis">
7.1 Binary tree
7.1 Binary Tree
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_tree/binary_tree_traversal/">
<span class="md-ellipsis">
7.2 Binary tree traversal
7.2 Binary Tree Traversal
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_tree/array_representation_of_tree/">
<span class="md-ellipsis">
7.3 Array Representation of tree
7.3 Array Representation of Tree
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_tree/binary_search_tree/">
<span class="md-ellipsis">
7.4 Binary Search tree
7.4 Binary Search Tree
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_tree/avl_tree/">
<span class="md-ellipsis">
7.5 AVL tree *
7.5 AVL Tree *
</span>
</a>
</li>
@@ -1266,14 +1266,14 @@
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_heap/build_heap/">
<span class="md-ellipsis">
8.2 Building a heap
8.2 Building a Heap
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_heap/top_k/">
<span class="md-ellipsis">
8.3 Top-k problem
8.3 Top-K Problem
</span>
</a>
</li>
@@ -1321,14 +1321,14 @@
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_graph/graph_operations/">
<span class="md-ellipsis">
9.2 Basic graph operations
9.2 Basic Operations on Graphs
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_graph/graph_traversal/">
<span class="md-ellipsis">
9.3 Graph traversal
9.3 Graph Traversal
</span>
</a>
</li>
@@ -1369,35 +1369,35 @@
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_searching/binary_search/">
<span class="md-ellipsis">
10.1 Binary search
10.1 Binary Search
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_searching/binary_search_insertion/">
<span class="md-ellipsis">
10.2 Binary search insertion
10.2 Binary Search Insertion
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_searching/binary_search_edge/">
<span class="md-ellipsis">
10.3 Binary search boundaries
10.3 Binary Search Edge Cases
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_searching/replace_linear_by_hashing/">
<span class="md-ellipsis">
10.4 Hashing optimization strategies
10.4 Hash Optimization Strategy
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_searching/searching_algorithm_revisited/">
<span class="md-ellipsis">
10.5 Search algorithms revisited
10.5 Search Algorithms Revisited
</span>
</a>
</li>
@@ -1438,70 +1438,70 @@
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_sorting/sorting_algorithm/">
<span class="md-ellipsis">
11.1 Sorting algorithms
11.1 Sorting Algorithms
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_sorting/selection_sort/">
<span class="md-ellipsis">
11.2 Selection sort
11.2 Selection Sort
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_sorting/bubble_sort/">
<span class="md-ellipsis">
11.3 Bubble sort
11.3 Bubble Sort
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_sorting/insertion_sort/">
<span class="md-ellipsis">
11.4 Insertion sort
11.4 Insertion Sort
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_sorting/quick_sort/">
<span class="md-ellipsis">
11.5 Quick sort
11.5 Quick Sort
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_sorting/merge_sort/">
<span class="md-ellipsis">
11.6 Merge sort
11.6 Merge Sort
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_sorting/heap_sort/">
<span class="md-ellipsis">
11.7 Heap sort
11.7 Heap Sort
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_sorting/bucket_sort/">
<span class="md-ellipsis">
11.8 Bucket sort
11.8 Bucket Sort
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_sorting/counting_sort/">
<span class="md-ellipsis">
11.9 Counting sort
11.9 Counting Sort
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_sorting/radix_sort/">
<span class="md-ellipsis">
11.10 Radix sort
11.10 Radix Sort
</span>
</a>
</li>
@@ -1524,7 +1524,7 @@
</path>
</svg>
<span class="md-ellipsis">
Chapter 12. Divide and conquer
Chapter 12. Divide and Conquer
</span>
</a>
<label class="md-nav__link" for="__nav_14" id="__nav_14_label" tabindex="0">
@@ -1536,34 +1536,34 @@
<label class="md-nav__title" for="__nav_14">
<span class="md-nav__icon md-icon">
</span>
Chapter 12. Divide and conquer
Chapter 12. Divide and Conquer
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_divide_and_conquer/divide_and_conquer/">
<span class="md-ellipsis">
12.1 Divide and conquer algorithms
12.1 Divide and Conquer Algorithms
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_divide_and_conquer/binary_search_recur/">
<span class="md-ellipsis">
12.2 Divide and conquer search strategy
12.2 Divide and Conquer Search Strategy
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_divide_and_conquer/build_binary_tree_problem/">
<span class="md-ellipsis">
12.3 Building binary tree problem
12.3 Building a Binary Tree Problem
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_divide_and_conquer/hanota_problem/">
<span class="md-ellipsis">
12.4 Tower of Hanoi Problem
12.4 Hanoi Tower Problem
</span>
</a>
</li>
@@ -1604,28 +1604,28 @@
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_backtracking/backtracking_algorithm/">
<span class="md-ellipsis">
13.1 Backtracking algorithms
13.1 Backtracking Algorithm
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_backtracking/permutations_problem/">
<span class="md-ellipsis">
13.2 Permutation problem
13.2 Permutations Problem
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_backtracking/subset_sum_problem/">
<span class="md-ellipsis">
13.3 Subset sum problem
13.3 Subset-Sum Problem
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_backtracking/n_queens_problem/">
<span class="md-ellipsis">
13.4 n queens problem
13.4 N-Queens Problem
</span>
</a>
</li>
@@ -1648,7 +1648,7 @@
</path>
</svg>
<span class="md-ellipsis">
Chapter 14. Dynamic programming
Chapter 14. Dynamic Programming
</span>
</a>
<label class="md-nav__link" for="__nav_16" id="__nav_16_label" tabindex="0">
@@ -1660,48 +1660,48 @@
<label class="md-nav__title" for="__nav_16">
<span class="md-nav__icon md-icon">
</span>
Chapter 14. Dynamic programming
Chapter 14. Dynamic Programming
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_dynamic_programming/intro_to_dynamic_programming/">
<span class="md-ellipsis">
14.1 Introduction to dynamic programming
14.1 Introduction to Dynamic Programming
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_dynamic_programming/dp_problem_features/">
<span class="md-ellipsis">
14.2 Characteristics of DP problems
14.2 Characteristics of Dynamic Programming Problems
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_dynamic_programming/dp_solution_pipeline/">
<span class="md-ellipsis">
14.3 DP problem-solving approach
14.3 Dynamic Programming Problem-Solving Approach
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_dynamic_programming/knapsack_problem/">
<span class="md-ellipsis">
14.4 0-1 Knapsack problem
14.4 0-1 Knapsack Problem
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_dynamic_programming/unbounded_knapsack_problem/">
<span class="md-ellipsis">
14.5 Unbounded knapsack problem
14.5 Unbounded Knapsack Problem
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_dynamic_programming/edit_distance_problem/">
<span class="md-ellipsis">
14.6 Edit distance problem
14.6 Edit Distance Problem
</span>
</a>
</li>
@@ -1742,28 +1742,28 @@
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_greedy/greedy_algorithm/">
<span class="md-ellipsis">
15.1 Greedy algorithms
15.1 Greedy Algorithm
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_greedy/fractional_knapsack_problem/">
<span class="md-ellipsis">
15.2 Fractional knapsack problem
15.2 Fractional Knapsack Problem
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_greedy/max_capacity_problem/">
<span class="md-ellipsis">
15.3 Maximum capacity problem
15.3 Maximum Capacity Problem
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_greedy/max_product_cutting_problem/">
<span class="md-ellipsis">
15.4 Maximum product cutting problem
15.4 Maximum Product Cutting Problem
</span>
</a>
</li>
@@ -1804,21 +1804,21 @@
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_appendix/installation/">
<span class="md-ellipsis">
16.1 Installation
16.1 Programming Environment Installation
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_appendix/contribution/">
<span class="md-ellipsis">
16.2 Contributing
16.2 Contributing Together
</span>
</a>
</li>
<li class="md-nav__item">
<a class="md-nav__link" href="chapter_appendix/terminology/">
<span class="md-ellipsis">
16.3 Terminology
16.3 Terminology Table
</span>
</a>
</li>
@@ -1939,17 +1939,17 @@
</script>
<script>
Starfield.setup({
starColor: "rgb(186, 228, 224)",
canvasColor: "rgb(34, 39, 46)",
numStars: 700,
hueJitter: 120,
trailLength: 0.5,
baseSpeed: 0.7,
maxAcceleration: 2,
accelerationRate: 0.05,
decelerationRate: 0.05,
minSpawnRadius: 80,
maxSpawnRadius: 500
starColor: "rgb(186, 228, 224)",
canvasColor: "rgb(34, 39, 46)",
numStars: 700,
hueJitter: 120,
trailLength: 0.5,
baseSpeed: 0.7,
maxAcceleration: 2,
accelerationRate: 0.05,
decelerationRate: 0.05,
minSpawnRadius: 80,
maxSpawnRadius: 500
});
</script>
</body>