This commit is contained in:
krahets
2024-04-06 03:02:26 +08:00
parent 5988d20958
commit a263b839b9
875 changed files with 484736 additions and 2893 deletions
+73 -67
View File
@@ -26,7 +26,7 @@
<title>0.2 How to Read - Hello Algo</title>
<title>0.2 How to read - Hello Algo</title>
@@ -153,7 +153,7 @@
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
0.2 How to Read
0.2 How to read
</span>
</div>
@@ -201,7 +201,13 @@
<li class="md-select__item">
<a href="/" hreflang="zh" class="md-select__link">
中文
简体中文
</a>
</li>
<li class="md-select__item">
<a href="/zh-hant/" hreflang="zh-Hant" class="md-select__link">
繁體中文
</a>
</li>
@@ -395,7 +401,7 @@
<span class="md-ellipsis">
0.1 About This Book
0.1 About this book
</span>
@@ -425,7 +431,7 @@
<span class="md-ellipsis">
0.2 How to Read
0.2 How to read
</span>
@@ -436,7 +442,7 @@
<span class="md-ellipsis">
0.2 How to Read
0.2 How to read
</span>
@@ -460,7 +466,7 @@
<li class="md-nav__item">
<a href="#021-writing-conventions" class="md-nav__link">
<span class="md-ellipsis">
0.2.1 &nbsp; Writing Conventions
0.2.1 &nbsp; Writing conventions
</span>
</a>
@@ -469,7 +475,7 @@
<li class="md-nav__item">
<a href="#022-efficient-learning-via-animated-illustrations" class="md-nav__link">
<span class="md-ellipsis">
0.2.2 &nbsp; Efficient Learning via Animated Illustrations
0.2.2 &nbsp; Efficient learning via animated illustrations
</span>
</a>
@@ -478,7 +484,7 @@
<li class="md-nav__item">
<a href="#023-deepen-understanding-through-coding-practice" class="md-nav__link">
<span class="md-ellipsis">
0.2.3 &nbsp; Deepen Understanding through Coding Practice
0.2.3 &nbsp; Deepen understanding through coding practice
</span>
</a>
@@ -487,7 +493,7 @@
<li class="md-nav__item">
<a href="#024-learning-together-in-discussion" class="md-nav__link">
<span class="md-ellipsis">
0.2.4 &nbsp; Learning Together in Discussion
0.2.4 &nbsp; Learning together in discussion
</span>
</a>
@@ -496,7 +502,7 @@
<li class="md-nav__item">
<a href="#025-algorithm-learning-path" class="md-nav__link">
<span class="md-ellipsis">
0.2.5 &nbsp; Algorithm Learning Path
0.2.5 &nbsp; Algorithm learning path
</span>
</a>
@@ -578,7 +584,7 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m0 16H5V5h14v14M6.2 7.7h5v1.5h-5V7.7m6.8 8.1h5v1.5h-5v-1.5m0-2.6h5v1.5h-5v-1.5M8 18h1.5v-2h2v-1.5h-2v-2H8v2H6V16h2v2m6.1-7.1 1.4-1.4 1.4 1.4 1.1-1-1.4-1.4L18 7.1 16.9 6l-1.4 1.4L14.1 6 13 7.1l1.4 1.4L13 9.9l1.1 1Z"/></svg>
<span class="md-ellipsis">
Chapter 1. Introduction to Algorithms
Chapter 1. Introduction to algorithms
</span>
@@ -594,7 +600,7 @@
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_2">
<span class="md-nav__icon md-icon"></span>
Chapter 1. Introduction to Algorithms
Chapter 1. Introduction to algorithms
</label>
<ul class="md-nav__list" data-md-scrollfix>
@@ -611,7 +617,7 @@
<span class="md-ellipsis">
1.1 Algorithms are Everywhere
1.1 Algorithms are everywhere
</span>
@@ -632,7 +638,7 @@
<span class="md-ellipsis">
1.2 What is an Algorithm
1.2 What is an algorithm
</span>
@@ -713,7 +719,7 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6 2h12v6l-4 4 4 4v6H6v-6l4-4-4-4V2m10 14.5-4-4-4 4V20h8v-3.5m-4-5 4-4V4H8v3.5l4 4M10 6h4v.75l-2 2-2-2V6Z"/></svg>
<span class="md-ellipsis">
Chapter 2. Complexity Analysis
Chapter 2. Complexity analysis
</span>
@@ -729,7 +735,7 @@
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_3">
<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>
@@ -746,7 +752,7 @@
<span class="md-ellipsis">
2.1 Algorithm Efficiency Assessment
2.1 Algorithm efficiency assessment
</span>
@@ -767,7 +773,7 @@
<span class="md-ellipsis">
2.2 Iteration and Recursion
2.2 Iteration and recursion
</span>
@@ -788,7 +794,7 @@
<span class="md-ellipsis">
2.3 Time Complexity
2.3 Time complexity
</span>
@@ -809,7 +815,7 @@
<span class="md-ellipsis">
2.4 Space Complexity
2.4 Space complexity
</span>
@@ -890,7 +896,7 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11 13.5v8H3v-8h8m-2 2H5v4h4v-4M12 2l5.5 9h-11L12 2m0 3.86L10.08 9h3.84L12 5.86M17.5 13c2.5 0 4.5 2 4.5 4.5S20 22 17.5 22 13 20 13 17.5s2-4.5 4.5-4.5m0 2a2.5 2.5 0 0 0-2.5 2.5 2.5 2.5 0 0 0 2.5 2.5 2.5 2.5 0 0 0 2.5-2.5 2.5 2.5 0 0 0-2.5-2.5Z"/></svg>
<span class="md-ellipsis">
Chapter 3. Data Structures
Chapter 3. Data structures
</span>
@@ -906,7 +912,7 @@
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_4_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_4">
<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>
@@ -923,7 +929,7 @@
<span class="md-ellipsis">
3.1 Classification of Data Structures
3.1 Classification of data structures
</span>
@@ -944,7 +950,7 @@
<span class="md-ellipsis">
3.2 Fundamental Data Types
3.2 Fundamental data types
</span>
@@ -965,7 +971,7 @@
<span class="md-ellipsis">
3.3 Number Encoding *
3.3 Number encoding *
</span>
@@ -986,7 +992,7 @@
<span class="md-ellipsis">
3.4 Character Encoding *
3.4 Character encoding *
</span>
@@ -1067,7 +1073,7 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 5v14h17V5H3m4 2v2H5V7h2m-2 6v-2h2v2H5m0 2h2v2H5v-2m13 2H9v-2h9v2m0-4H9v-2h9v2m0-4H9V7h9v2Z"/></svg>
<span class="md-ellipsis">
Chapter 4. Array and Linked List
Chapter 4. Array and linked list
</span>
@@ -1083,7 +1089,7 @@
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_5">
<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>
@@ -1121,7 +1127,7 @@
<span class="md-ellipsis">
4.2 Linked List
4.2 Linked list
</span>
@@ -1163,7 +1169,7 @@
<span class="md-ellipsis">
4.4 Memory and Cache
4.4 Memory and cache
</span>
@@ -1242,7 +1248,7 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17.36 20.2v-5.38h1.79V22H3v-7.18h1.8v5.38h12.56M6.77 14.32l.37-1.76 8.79 1.85-.37 1.76-8.79-1.85m1.16-4.21.76-1.61 8.14 3.78-.76 1.62-8.14-3.79m2.26-3.99 1.15-1.38 6.9 5.76-1.15 1.37-6.9-5.75m4.45-4.25L20 9.08l-1.44 1.07-5.36-7.21 1.44-1.07M6.59 18.41v-1.8h8.98v1.8H6.59Z"/></svg>
<span class="md-ellipsis">
Chapter 5. Stack and Queue
Chapter 5. Stack and queue
</span>
@@ -1258,7 +1264,7 @@
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_6">
<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>
@@ -1317,7 +1323,7 @@
<span class="md-ellipsis">
5.3 Double-ended Queue
5.3 Double-ended queue
</span>
@@ -1396,7 +1402,7 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19.3 17.89c1.32-2.1.7-4.89-1.41-6.21a4.52 4.52 0 0 0-6.21 1.41C10.36 15.2 11 18 13.09 19.3c1.47.92 3.33.92 4.8 0L21 22.39 22.39 21l-3.09-3.11m-2-.62c-.98.98-2.56.97-3.54 0-.97-.98-.97-2.56.01-3.54.97-.97 2.55-.97 3.53 0 .96.99.95 2.57-.03 3.54h.03M19 4H5a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h5.81a6.3 6.3 0 0 1-1.31-2H5v-4h4.18c.16-.71.43-1.39.82-2H5V8h6v2.81a6.3 6.3 0 0 1 2-1.31V8h6v2a6.499 6.499 0 0 1 2 2V6a2 2 0 0 0-2-2Z"/></svg>
<span class="md-ellipsis">
Chapter 6. Hash Table
Chapter 6. Hash table
</span>
@@ -1412,7 +1418,7 @@
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_7">
<span class="md-nav__icon md-icon"></span>
Chapter 6. Hash Table
Chapter 6. Hash table
</label>
<ul class="md-nav__list" data-md-scrollfix>
@@ -1429,7 +1435,7 @@
<span class="md-ellipsis">
6.1 Hash Table
6.1 Hash table
</span>
@@ -1450,7 +1456,7 @@
<span class="md-ellipsis">
6.2 Hash Collision
6.2 Hash collision
</span>
@@ -1471,7 +1477,7 @@
<span class="md-ellipsis">
6.3 Hash Algorithm
6.3 Hash algorithm
</span>
@@ -2046,7 +2052,7 @@
<li class="md-nav__item">
<a href="#021-writing-conventions" class="md-nav__link">
<span class="md-ellipsis">
0.2.1 &nbsp; Writing Conventions
0.2.1 &nbsp; Writing conventions
</span>
</a>
@@ -2055,7 +2061,7 @@
<li class="md-nav__item">
<a href="#022-efficient-learning-via-animated-illustrations" class="md-nav__link">
<span class="md-ellipsis">
0.2.2 &nbsp; Efficient Learning via Animated Illustrations
0.2.2 &nbsp; Efficient learning via animated illustrations
</span>
</a>
@@ -2064,7 +2070,7 @@
<li class="md-nav__item">
<a href="#023-deepen-understanding-through-coding-practice" class="md-nav__link">
<span class="md-ellipsis">
0.2.3 &nbsp; Deepen Understanding through Coding Practice
0.2.3 &nbsp; Deepen understanding through coding practice
</span>
</a>
@@ -2073,7 +2079,7 @@
<li class="md-nav__item">
<a href="#024-learning-together-in-discussion" class="md-nav__link">
<span class="md-ellipsis">
0.2.4 &nbsp; Learning Together in Discussion
0.2.4 &nbsp; Learning together in discussion
</span>
</a>
@@ -2082,7 +2088,7 @@
<li class="md-nav__item">
<a href="#025-algorithm-learning-path" class="md-nav__link">
<span class="md-ellipsis">
0.2.5 &nbsp; Algorithm Learning Path
0.2.5 &nbsp; Algorithm learning path
</span>
</a>
@@ -2124,12 +2130,12 @@
<!-- Page content -->
<h1 id="02-how-to-read">0.2 &nbsp; How to Read<a class="headerlink" href="#02-how-to-read" title="Permanent link">&para;</a></h1>
<h1 id="02-how-to-read">0.2 &nbsp; How to read<a class="headerlink" href="#02-how-to-read" title="Permanent link">&para;</a></h1>
<div class="admonition tip">
<p class="admonition-title">Tip</p>
<p>For the best reading experience, it is recommended that you read through this section.</p>
</div>
<h2 id="021-writing-conventions">0.2.1 &nbsp; Writing Conventions<a class="headerlink" href="#021-writing-conventions" title="Permanent link">&para;</a></h2>
<h2 id="021-writing-conventions">0.2.1 &nbsp; Writing conventions<a class="headerlink" href="#021-writing-conventions" title="Permanent link">&para;</a></h2>
<ul>
<li>Chapters marked with '*' after the title are optional and contain relatively challenging content. If you are short on time, it is advisable to skip them.</li>
<li>Technical terms will be in boldface (in the print and PDF versions) or underlined (in the web version), for instance, <u>array</u>. It's advisable to familiarize yourself with these for better comprehension of technical texts.</li>
@@ -2141,7 +2147,7 @@
<div class="tabbed-set tabbed-alternate" data-tabs="1:13"><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><input id="__tabbed_1_3" name="__tabbed_1" type="radio" /><input id="__tabbed_1_4" name="__tabbed_1" type="radio" /><input id="__tabbed_1_5" name="__tabbed_1" type="radio" /><input id="__tabbed_1_6" name="__tabbed_1" type="radio" /><input id="__tabbed_1_7" name="__tabbed_1" type="radio" /><input id="__tabbed_1_8" name="__tabbed_1" type="radio" /><input id="__tabbed_1_9" name="__tabbed_1" type="radio" /><input id="__tabbed_1_10" name="__tabbed_1" type="radio" /><input id="__tabbed_1_11" name="__tabbed_1" type="radio" /><input id="__tabbed_1_12" name="__tabbed_1" type="radio" /><input id="__tabbed_1_13" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Python</label><label for="__tabbed_1_2">C++</label><label for="__tabbed_1_3">Java</label><label for="__tabbed_1_4">C#</label><label for="__tabbed_1_5">Go</label><label for="__tabbed_1_6">Swift</label><label for="__tabbed_1_7">JS</label><label for="__tabbed_1_8">TS</label><label for="__tabbed_1_9">Dart</label><label for="__tabbed_1_10">Rust</label><label for="__tabbed_1_11">C</label><label for="__tabbed_1_12">Kotlin</label><label for="__tabbed_1_13">Zig</label></div>
<div class="tabbed-content">
<div class="tabbed-block">
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="sd">&quot;&quot;&quot;Header comments for labeling functions, classes, test samples, etc&quot;&quot;&quot;</span><span class="s2">&quot;</span>
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a><span class="sd">&quot;&quot;&quot;Header comments for labeling functions, classes, test samples, etc&quot;&quot;&quot;</span>
<a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a>
<a id="__codelineno-0-3" name="__codelineno-0-3" href="#__codelineno-0-3"></a><span class="c1"># Comments for explaining details</span>
<a id="__codelineno-0-4" name="__codelineno-0-4" href="#__codelineno-0-4"></a>
@@ -2283,18 +2289,18 @@
</div>
</div>
</div>
<h2 id="022-efficient-learning-via-animated-illustrations">0.2.2 &nbsp; Efficient Learning via Animated Illustrations<a class="headerlink" href="#022-efficient-learning-via-animated-illustrations" title="Permanent link">&para;</a></h2>
<h2 id="022-efficient-learning-via-animated-illustrations">0.2.2 &nbsp; Efficient learning via animated illustrations<a class="headerlink" href="#022-efficient-learning-via-animated-illustrations" title="Permanent link">&para;</a></h2>
<p>Compared with text, videos and pictures have a higher density of information and are more structured, making them easier to understand. In this book, <strong>key and difficult concepts are mainly presented through animations and illustrations</strong>, with text serving as explanations and supplements.</p>
<p>When encountering content with animations or illustrations as shown in the Figure 0-2 , <strong>prioritize understanding the figure, with text as supplementary</strong>, integrating both for a comprehensive understanding.</p>
<p><a class="glightbox" href="../../index.assets/animation.gif" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="Animated Illustration Example" class="animation-figure" src="../../index.assets/animation.gif" /></a></p>
<p align="center"> Figure 0-2 &nbsp; Animated Illustration Example </p>
<p><a class="glightbox" href="../../index.assets/animation.gif" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="Animated illustration example" class="animation-figure" src="../../index.assets/animation.gif" /></a></p>
<p align="center"> Figure 0-2 &nbsp; Animated illustration example </p>
<h2 id="023-deepen-understanding-through-coding-practice">0.2.3 &nbsp; Deepen Understanding through Coding Practice<a class="headerlink" href="#023-deepen-understanding-through-coding-practice" title="Permanent link">&para;</a></h2>
<h2 id="023-deepen-understanding-through-coding-practice">0.2.3 &nbsp; Deepen understanding through coding practice<a class="headerlink" href="#023-deepen-understanding-through-coding-practice" title="Permanent link">&para;</a></h2>
<p>The source code of this book is hosted on the <a href="https://github.com/krahets/hello-algo">GitHub Repository</a>. As shown in the Figure 0-3 , <strong>the source code comes with test examples and can be executed with just a single click</strong>.</p>
<p>If time permits, <strong>it's recommended to type out the code yourself</strong>. If pressed for time, at least read and run all the codes.</p>
<p>Compared to just reading code, writing code often yields more learning. <strong>Learning by doing is the real way to learn.</strong></p>
<p><a class="glightbox" href="../../index.assets/running_code.gif" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="Running Code Example" class="animation-figure" src="../../index.assets/running_code.gif" /></a></p>
<p align="center"> Figure 0-3 &nbsp; Running Code Example </p>
<p><a class="glightbox" href="../../index.assets/running_code.gif" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="Running code example" class="animation-figure" src="../../index.assets/running_code.gif" /></a></p>
<p align="center"> Figure 0-3 &nbsp; Running code example </p>
<p>Setting up to run the code involves three main steps.</p>
<p><strong>Step 1: Install a local programming environment</strong>. Follow the <a href="https://www.hello-algo.com/chapter_appendix/installation/">tutorial</a> in the appendix for installation, or skip this step if already installed.</p>
@@ -2303,20 +2309,20 @@
<div class="highlight"><pre><span></span><code><a id="__codelineno-13-1" name="__codelineno-13-1" href="#__codelineno-13-1"></a>git<span class="w"> </span>clone<span class="w"> </span>https://github.com/krahets/hello-algo.git
</code></pre></div>
<p>Alternatively, you can also click the "Download ZIP" button at the location shown in the Figure 0-4 to directly download the code as a compressed ZIP file. Then, you can simply extract it locally.</p>
<p><a class="glightbox" href="../suggestions.assets/download_code.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="Cloning Repository and Downloading Code" class="animation-figure" src="../suggestions.assets/download_code.png" /></a></p>
<p align="center"> Figure 0-4 &nbsp; Cloning Repository and Downloading Code </p>
<p><a class="glightbox" href="../suggestions.assets/download_code.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="Cloning repository and downloading code" class="animation-figure" src="../suggestions.assets/download_code.png" /></a></p>
<p align="center"> Figure 0-4 &nbsp; Cloning repository and downloading code </p>
<p><strong>Step 3: Run the source code</strong>. As shown in the Figure 0-5 , for the code block labeled with the file name at the top, we can find the corresponding source code file in the <code>codes</code> folder of the repository. These files can be executed with a single click, which will help you save unnecessary debugging time and allow you to focus on learning.</p>
<p><a class="glightbox" href="../suggestions.assets/code_md_to_repo.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="Code Block and Corresponding Source Code File" class="animation-figure" src="../suggestions.assets/code_md_to_repo.png" /></a></p>
<p align="center"> Figure 0-5 &nbsp; Code Block and Corresponding Source Code File </p>
<p><a class="glightbox" href="../suggestions.assets/code_md_to_repo.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="Code block and corresponding source code file" class="animation-figure" src="../suggestions.assets/code_md_to_repo.png" /></a></p>
<p align="center"> Figure 0-5 &nbsp; Code block and corresponding source code file </p>
<h2 id="024-learning-together-in-discussion">0.2.4 &nbsp; Learning Together in Discussion<a class="headerlink" href="#024-learning-together-in-discussion" title="Permanent link">&para;</a></h2>
<h2 id="024-learning-together-in-discussion">0.2.4 &nbsp; Learning together in discussion<a class="headerlink" href="#024-learning-together-in-discussion" title="Permanent link">&para;</a></h2>
<p>While reading this book, please don't skip over the points that you didn't learn. <strong>Feel free to post your questions in the comment section</strong>. We will be happy to answer them and can usually respond within two days.</p>
<p>As illustrated in the Figure 0-6 , each chapter features a comment section at the bottom. I encourage you to pay attention to these comments. They not only expose you to others' encountered problems, aiding in identifying knowledge gaps and sparking deeper contemplation, but also invite you to generously contribute by answering fellow readers' inquiries, sharing insights, and fostering mutual improvement.</p>
<p><a class="glightbox" href="../../index.assets/comment.gif" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="Comment Section Example" class="animation-figure" src="../../index.assets/comment.gif" /></a></p>
<p align="center"> Figure 0-6 &nbsp; Comment Section Example </p>
<p><a class="glightbox" href="../../index.assets/comment.gif" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="Comment section example" class="animation-figure" src="../../index.assets/comment.gif" /></a></p>
<p align="center"> Figure 0-6 &nbsp; Comment section example </p>
<h2 id="025-algorithm-learning-path">0.2.5 &nbsp; Algorithm Learning Path<a class="headerlink" href="#025-algorithm-learning-path" title="Permanent link">&para;</a></h2>
<h2 id="025-algorithm-learning-path">0.2.5 &nbsp; Algorithm learning path<a class="headerlink" href="#025-algorithm-learning-path" title="Permanent link">&para;</a></h2>
<p>Overall, the journey of mastering data structures and algorithms can be divided into three stages:</p>
<ol>
<li><strong>Stage 1: Introduction to algorithms</strong>. We need to familiarize ourselves with the characteristics and usage of various data structures and learn about the principles, processes, uses, and efficiency of different algorithms.</li>
@@ -2324,8 +2330,8 @@
<li><strong>Stage 3: Building the knowledge system</strong>. In terms of learning, we can read algorithm column articles, solution frameworks, and algorithm textbooks to continuously enrich the knowledge system. In terms of practicing, we can try advanced strategies, such as categorizing by topic, multiple solutions for a single problem, and one solution for multiple problems, etc. Insights on these strategies can be found in various communities.</li>
</ol>
<p>As shown in the Figure 0-7 , this book mainly covers “Stage 1,” aiming to help you more efficiently embark on Stages 2 and 3.</p>
<p><a class="glightbox" href="../suggestions.assets/learning_route.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="Algorithm Learning Path" class="animation-figure" src="../suggestions.assets/learning_route.png" /></a></p>
<p align="center"> Figure 0-7 &nbsp; Algorithm Learning Path </p>
<p><a class="glightbox" href="../suggestions.assets/learning_route.png" data-type="image" data-width="100%" data-height="auto" data-desc-position="bottom"><img alt="Algorithm learning path" class="animation-figure" src="../suggestions.assets/learning_route.png" /></a></p>
<p align="center"> Figure 0-7 &nbsp; Algorithm learning path </p>
<!-- Source file information -->
@@ -2348,7 +2354,7 @@ aria-label="Footer"
<a
href="../about_the_book/"
class="md-footer__link md-footer__link--prev"
aria-label="Previous: 0.1 About This Book"
aria-label="Previous: 0.1 About this book"
rel="prev"
>
<div class="md-footer__button md-icon">
@@ -2360,7 +2366,7 @@ aria-label="Footer"
Previous
</span>
<div class="md-ellipsis">
0.1 About This Book
0.1 About this book
</div>
</div>
</a>
@@ -2473,7 +2479,7 @@ aria-label="Footer"
<nav class="md-footer__inner md-grid" aria-label="Footer" >
<a href="../about_the_book/" class="md-footer__link md-footer__link--prev" aria-label="Previous: 0.1 About This Book">
<a href="../about_the_book/" class="md-footer__link md-footer__link--prev" aria-label="Previous: 0.1 About this book">
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
@@ -2483,7 +2489,7 @@ aria-label="Footer"
Previous
</span>
<div class="md-ellipsis">
0.1 About This Book
0.1 About this book
</div>
</div>
</a>