Add the chapter of hello algo for the en version (#1269)

pull/1272/head
Yudong Jin 7 months ago committed by GitHub
parent 6404a53fc6
commit 07977184ad
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 KiB

After

Width:  |  Height:  |  Size: 137 KiB

@ -0,0 +1,30 @@
---
comments: true
icon: material/rocket-launch-outline
---
# Before starting
A few years ago, I shared the "Sword for Offer" problem solutions on LeetCode, receiving encouragement and support from many readers. During interactions with readers, the most common question I encountered was "how to get started with algorithms." Gradually, I developed a keen interest in this question.
Directly solving problems seems to be the most popular method — it's simple, direct, and effective. However, problem-solving is like playing a game of Minesweeper: those with strong self-study abilities can defuse the mines one by one, but those with insufficient basics might end up metaphorically bruised from explosions, retreating step by step in frustration. Going through textbooks is also common, but for those aiming for job applications, the energy spent on thesis writing, resume submissions, and preparation for written tests and interviews leaves little for tackling thick books, turning it into a daunting challenge.
If you're facing similar troubles, then this book are lucky to have found you. This book is my answer to the question. While it may not be the best solution, it is at least a positive attempt. This book may not directly land you an offer, but it will guide you through the "knowledge map" in data structures and algorithms, help you understand the shapes, sizes, and locations of different "mines," and enable you to master various "demining methods." With these skills, I believe you can solve problems and read literature more comfortably, gradually building a knowledge system.
I deeply agree with Professor Feynman's statement: "Knowledge isn't free. You have to pay attention." In this sense, this book is not entirely "free." To not disappoint the precious "attention" you pay for this book, I will do my best, dedicating my utmost "attention" to this book.
Knowing my limitations, although the content of this book has been refined over time, there are surely many errors remaining. I sincerely request critiques and corrections from all teachers and students.
![Hello Algorithms](../assets/covers/chapter_hello_algo.jpg){ class="cover-image" }
<div style="text-align: center;">
<h2 style="margin-top: 0.8em; margin-bottom: 0.8em;">Hello, Algo!</h2>
</div>
The advent of computers has brought significant changes to the world. With their high-speed computing power and excellent programmability, they have become the ideal medium for executing algorithms and processing data. Whether it's the realistic graphics of video games, the intelligent decisions in autonomous driving, the brilliant Go games of AlphaGo, or the natural interactions of ChatGPT, these applications are all exquisite demonstrations of algorithms at work on computers.
In fact, before the advent of computers, algorithms and data structures already existed in every corner of the world. Early algorithms were relatively simple, such as ancient counting methods and tool-making procedures. As civilization progressed, algorithms became more refined and complex. From the exquisite craftsmanship of artisans, to industrial products that liberate productive forces, to the scientific laws governing the universe, almost every ordinary or astonishing thing has behind it the ingenious thought of algorithms.
Similarly, data structures are everywhere: from social networks to subway lines, many systems can be modeled as "graphs"; from a country to a family, the main forms of social organization exhibit characteristics of "trees"; winter clothes are like a "stack", where the first item worn is the last to be taken off; a badminton shuttle tube resembles a "queue", with one end for insertion and the other for retrieval; a dictionary is like a "hash table", enabling quick search for target entries.
This book aims to help readers understand the core concepts of algorithms and data structures through clear, easy-to-understand animated illustrations and runnable code examples, and to be able to implement them through programming. On this basis, this book strives to reveal the vivid manifestations of algorithms in the complex world, showcasing the beauty of algorithms. I hope this book can help you!

@ -1,6 +1,6 @@
# Introduction to algorithms # Encounter with algorithms
![Introduction to algorithms](../assets/covers/chapter_introduction.jpg) ![Encounter with algorithms](../assets/covers/chapter_introduction.jpg)
!!! abstract !!! abstract

@ -38,13 +38,15 @@ extra:
# Page tree # Page tree
nav: nav:
- Before starting:
- chapter_hello_algo/index.md
- Chapter 0. Preface: - Chapter 0. Preface:
# [icon: material/book-open-outline] # [icon: material/book-open-outline]
- chapter_preface/index.md - chapter_preface/index.md
- 0.1 About this book: chapter_preface/about_the_book.md - 0.1 About this book: chapter_preface/about_the_book.md
- 0.2 How to read: chapter_preface/suggestions.md - 0.2 How to read: chapter_preface/suggestions.md
- 0.3 Summary: chapter_preface/summary.md - 0.3 Summary: chapter_preface/summary.md
- Chapter 1. Introduction to algorithms: - Chapter 1. Encounter with algorithms:
# [icon: material/calculator-variant-outline] # [icon: material/calculator-variant-outline]
- chapter_introduction/index.md - chapter_introduction/index.md
- 1.1 Algorithms are everywhere: chapter_introduction/algorithms_are_everywhere.md - 1.1 Algorithms are everywhere: chapter_introduction/algorithms_are_everywhere.md

Loading…
Cancel
Save