This commit is contained in:
krahets
2026-04-02 03:08:50 +08:00
parent 09a136c9fa
commit aaf9f58eb3
157 changed files with 3002 additions and 2994 deletions
+40 -56
View File
@@ -3,7 +3,7 @@
<head>
<meta charset="utf-8"/>
<meta content="width=device-width,initial-scale=1" name="viewport"/>
<meta content="Data Structures and Algorithms Crash Course with Animated Illustrations and Off-the-Shelf Code" name="description"/>
<meta content="Data structures and algorithms tutorial with animated illustrations and ready-to-run code" name="description"/>
<meta content="krahets" name="author"/>
<link href="https://www.hello-algo.com/en/" rel="canonical"/>
<link href="/" hreflang="zh" rel="alternate"/>
@@ -142,19 +142,19 @@
<a href="chapter_computational_complexity/">
<img alt="" src="../assets/hero/chapter_computational_complexity.png" style="height: 12.347%; left: 36.267%; top: 37.653%;"/>
<span style="left: 36.244%; top: 34.919%;">
Complexity analysis
Complexity Analysis
</span>
</a>
<a href="chapter_array_and_linkedlist/">
<img alt="" src="../assets/hero/chapter_array_and_linkedlist.png" style="height: 22.242%; left: 73.242%; top: 52.481%;"/>
<span style="left: 85.897%; top: 76.259%;">
Array and linked list
Array and Linked List
</span>
</a>
<a href="chapter_stack_and_queue/">
<img alt="" src="../assets/hero/chapter_stack_and_queue.png" style="height: 14.302%; left: 62.646%; top: 77.875%;"/>
<span style="left: 80.071%; top: 88.25%;">
Stack and queue
Stack and Queue
</span>
</a>
<a href="chapter_hashing/">
@@ -196,7 +196,7 @@
<a href="chapter_divide_and_conquer/">
<img alt="" src="../assets/hero/chapter_divide_and_conquer.png" style="height: 18.681%; left: 32.721%; top: 4.816%;"/>
<span style="left: 29.42%; top: 6.679%;">
Divide and conquer
Divide and Conquer
</span>
</a>
<a href="chapter_backtracking/">
@@ -208,7 +208,7 @@
<a href="chapter_dynamic_programming/">
<img alt="" src="../assets/hero/chapter_dynamic_programming.png" style="height: 15.47%; left: 9.406%; top: 57.472%;"/>
<span style="left: 14.561%; top: 75.351%;">
Dynamic programming
Dynamic Programming
</span>
</a>
<a href="chapter_greedy/">
@@ -222,7 +222,7 @@
<img alt="" src="https://readme-typing-svg.demolab.com/?font=Roboto&amp;weight=400&amp;duration=3500&amp;pause=2000&amp;color=FFF&amp;center=true&amp;vCenter=true&amp;random=false&amp;width=200&amp;lines=Hello%2C+Algo!" style="height: min(9vh, 12vw);"/>
<div style="pointer-events: auto;">
<p style="margin-top: max(-1vh, -2vw); margin-bottom: min(2vh, 3.5vw);">
Data structures and algorithms crash course with animated illustrations and off-the-shelf code
Data structures and algorithms tutorial with animated illustrations and ready-to-run code
</p>
<a class="rounded-button" href="chapter_hello_algo/">
<svg viewbox="0 0 512 512" xmlns="http://www.w3.org/2000/svg">
@@ -231,7 +231,7 @@
</path>
</svg>
<span>
Dive in
Get Started
</span>
</a>
<a class="rounded-button" href="https://github.com/krahets/hello-algo">
@@ -255,22 +255,6 @@
<section class="home-div" data-md-color-primary="grey" data-md-color-scheme="slate">
<div class="section-content">
<div class="reading-media">
<div class="media-block">
<a href="chapter_paperbook/">
<div style="height: 8.17%;">
</div>
<img alt="Cover" class="device-on-hover" src="../assets/hero/cover_render.png" style="height: 66.83%;"/>
<div class="text-button">
<span>
Paperbook
</span>
<svg viewbox="0 0 320 512" xmlns="http://www.w3.org/2000/svg">
<path d="M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z">
</path>
</svg>
</div>
</a>
</div>
<div class="media-block">
<a href="chapter_hello_algo/">
<div style="height: 4.34%;">
@@ -305,7 +289,7 @@
</div>
</div>
<p style="margin-top: 2em;">
500 animated illustrations, 14 programming languages, and 3000 community Q&amp;As to help you dive into data structures and algorithms.
500 animated illustrations, 14 programming languages, and 3,000 community Q&amp;As to help you get started with data structures and algorithms.
</p>
</div>
</section>
@@ -317,10 +301,10 @@
<div class="intro-container" style="margin: 0 auto;">
<div class="intro-text endor-text">
<p style="margin-bottom: 0;">
“An easy-to-understand book on data structures and algorithms, which guides readers to learn by minds-on and hands-on. Strongly recommended for algorithm beginners!”
“An easy-to-understand introduction to data structures and algorithms that encourages readers to engage both mind and hands. Highly recommended for beginners!”
</p>
<p style="font-weight: bold;">
—— Junhui Deng, Professor, Department of computer science and technology, Tsinghua University
—— Junhui Deng, Professor, Department of Computer Science and Technology, Tsinghua University
</p>
</div>
<div class="intro-text endor-text">
@@ -328,7 +312,7 @@
“If I had 'Hello Algo' when I was learning data structures and algorithms, it would have been 10 times easier!”
</p>
<p style="font-weight: bold;">
—— Mu Li, Senior principal scientist, Amazon
—— Mu Li, Senior Principal Scientist, Amazon
</p>
</div>
</div>
@@ -345,7 +329,7 @@
</path>
</svg>
<h3 style="margin-left: 0.5em;">
Animated illustrations
Animated Illustrations
</h3>
</div>
<p style="margin: 0;">
@@ -370,11 +354,11 @@
</path>
</svg>
<h3 style="margin-left: 0.5em;">
Off-the-shelf code
One-Click Runnable Code
</h3>
</div>
<p style="margin: 0;">
One click to run code in multiple languages.
Run code in multiple languages with one click.
</p>
<p class="intro-quote">
"Talk is cheap. Show me the code."
@@ -391,11 +375,11 @@
</path>
</svg>
<h3 style="margin-left: 0.5em;">
Learning together
Learn Together
</h3>
</div>
<p style="margin: 0;">
Dont hesitate to ask or share your thoughts.
Ask questions, discuss ideas, and learn with others.
</p>
<p class="intro-quote">
"Learning by teaching."
@@ -410,7 +394,7 @@
<section class="home-div home-div--black" data-md-color-primary="grey" data-md-color-scheme="slate">
<div class="section-content">
<h3 style="text-align: center; margin: 0 0 2em 0;">
Special thanks
Special Thanks
</h3>
<a href="https://go.warp.dev/hello-algo">
<img alt="Warp-Github-LG-02" class="device-on-hover intro-image" src="https://github.com/warpdotdev/brand-assets/raw/main/Github/Sponsor/Warp-Github-LG-02.png" style="max-width: 30em;"/>
@@ -445,7 +429,7 @@
Translators
</h3>
<p>
The English version of this book was reviewed by the following translators. We thank them for their time and effort!
The English version of this book was reviewed by the following contributors. We thank them for their time and effort.
</p>
<div class="profile-div">
<div class="profile-cell">
@@ -542,10 +526,10 @@
</div>
<div style="margin: 2em auto;">
<h3>
Code translators
Code Reviewers
</h3>
<p>
The multilingual code versions of this book were made possible by the following translators. We appreciate their efforts and contributions!
The multilingual code versions of this book were made possible by the following developers. We appreciate their efforts and contributions!
</p>
<div class="profile-div">
<div class="profile-cell">
@@ -826,7 +810,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">
@@ -838,7 +822,7 @@
<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">
@@ -998,7 +982,7 @@
</path>
</svg>
<span class="md-ellipsis">
Chapter 4. Array and Linked List
Chapter 4. Arrays and Linked Lists
</span>
</a>
<label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
@@ -1010,7 +994,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. Arrays and Linked Lists
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
@@ -1037,7 +1021,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 Random-Access Memory and Cache *
</span>
</a>
</li>
@@ -1060,7 +1044,7 @@
</path>
</svg>
<span class="md-ellipsis">
Chapter 5. Stack and Queue
Chapter 5. Stacks and Queues
</span>
</a>
<label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
@@ -1072,7 +1056,7 @@
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon">
</span>
Chapter 5. Stack and Queue
Chapter 5. Stacks and Queues
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
@@ -1092,7 +1076,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 Deque
</span>
</a>
</li>
@@ -1115,7 +1099,7 @@
</path>
</svg>
<span class="md-ellipsis">
Chapter 6. Hashing
Chapter 6. Hash Table
</span>
</a>
<label class="md-nav__link" for="__nav_8" id="__nav_8_label" tabindex="0">
@@ -1127,7 +1111,7 @@
<label class="md-nav__title" for="__nav_8">
<span class="md-nav__icon md-icon">
</span>
Chapter 6. Hashing
Chapter 6. Hash Table
</label>
<ul class="md-nav__list" data-md-scrollfix="">
<li class="md-nav__item">
@@ -1202,7 +1186,7 @@
<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 Binary Trees
</span>
</a>
</li>
@@ -1264,14 +1248,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 Heap Construction Operation
</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>
@@ -1374,14 +1358,14 @@
<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 Point
</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 Edge Cases
10.3 Binary Search Boundaries
</span>
</a>
</li>
@@ -1395,7 +1379,7 @@
<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 Searching Algorithms Revisited
</span>
</a>
</li>
@@ -1436,7 +1420,7 @@
<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 Algorithm
</span>
</a>
</li>
@@ -1561,7 +1545,7 @@
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_divide_and_conquer/hanota_problem/">
<span class="md-ellipsis">
12.4 Hanoi Tower Problem
12.4 Hanota Problem
</span>
</a>
</li>
@@ -1816,7 +1800,7 @@
<li class="md-nav__item">
<a class="md-nav__link" href="./chapter_appendix/terminology/">
<span class="md-ellipsis">
16.3 Terminology Table
16.3 Glossary
</span>
</a>
</li>