# hello-algo | Yudong Jin | Knowledge Base | Instagit

《Hello 算法》：动画图解、一键运行的数据结构与算法教程。支持简中、繁中、English、日本語，提供 Python, Java, C++, C, C#, JS, Go, Swift, Rust, Ruby, Kotlin, TS, Dart 等代码实现

GitHub Stars: 122k

Repository: https://github.com/krahets/hello-algo

---

## Articles

### [Tree Traversal Methods: Preorder, Inorder, Postorder, and Level Order Explained](/krahets/hello-algo/what-s-the-difference-between-tree-traversal-methods-like-preorder-inorder-postorder-and-level-order)

Understand preorder inorder postorder and level order tree traversal methods. Learn the unique sequence and use cases for each from serialization to sorted retrieval.

- Tags: deep-dive
- Published: 2026-02-25

### [How Hello-Algo Validates Algorithm Code Examples Across Programming Languages](/krahets/hello-algo/how-are-the-code-examples-for-algorithms-validated-across-different-programming-languages)

Discover how Hello-Algo validates algorithm code examples across multiple programming languages using automated tests and GitHub Actions for cross-platform correctness on Ubuntu macOS and Windows.

- Tags: deep-dive
- Published: 2026-02-25

### [Binary Search Algorithm Operations vs Binary Search Tree Operations: Key Differences Explained](/krahets/hello-algo/what-s-the-distinction-between-binary-search-algorithm-operations-and-binary-search-tree-operations)

Understand the key differences between binary search algorithm operations and binary search tree operations. Discover how stateless lookups contrast with stateful node pointer manipulation.

- Tags: deep-dive
- Published: 2026-02-25

### [How to Report Bugs or Contribute Corrections to the hello-algo Documentation](/krahets/hello-algo/how-do-i-report-bugs-or-contribute-corrections-to-the-hello-algo-documentation-content)

Learn how to report bugs or contribute corrections to the hello-algo documentation. Follow our simple guide to submitting GitHub issues or pull requests for content updates.

- Tags: how-to-guide
- Published: 2026-02-25

### [CC BY-NC-SA 4.0 License Terms for hello-algo: Usage Rights and Compliance Guide](/krahets/hello-algo/what-are-the-terms-of-the-cc-by-nc-sa-4-0-license-for-using-the-code-examples-and-content)

Understand CC BY-NC-SA 4.0 license terms for hello-algo. Learn about usage rights, attribution, non-commercial use, and share-alike compliance for the code and content.

- Tags: api-reference
- Published: 2026-02-25

### [How Animation Diagrams Are Rendered in MkDocs Material: Inside the Hello-Algo Documentation Pipeline](/krahets/hello-algo/how-are-the-animation-diagrams-rendered-to-work-with-the-mkdocs-material-theme-documentation)

Discover how Hello-Algo renders animated diagrams using static GIFs and custom CSS with MkDocs Material. Learn about seamless integration and no JavaScript requirements for enhanced documentation.

- Tags: internals
- Published: 2026-02-25

### [Key Differences Between Chinese and English Versions in Hello Algo](/krahets/hello-algo/what-are-the-key-differences-between-the-chinese-and-english-versions-of-the-algorithmic-content)

Discover key differences between Chinese and English Hello Algo versions. Understand variations in language, comments, and terminology while algorithms remain the same.

- Tags: tutorial
- Published: 2026-02-25

### [MkDocs Configuration for Building a Multilingual Documentation Website](/krahets/hello-algo/what-s-the-mkdocs-configuration-for-building-the-multilingual-documentation-website)

Learn MkDocs configuration for multilingual websites. Hello-Algo uses MkDocs-Material inheritance to manage multiple languages efficiently. Streamline your docs today.

- Tags: tutorial
- Published: 2026-02-25

### [How Language-Specific Code Implementations Are Organized in the Hello-Algo Codes Directory](/krahets/hello-algo/how-are-the-language-specific-code-implementations-organized-within-the-codes-directory-structure)

Explore the hello-algo codes directory organization: a locale language module hierarchy for parallel algorithm implementations across Python Java C++ TypeScript Swift and Zig.

- Tags: internals
- Published: 2026-02-25

### [Space Complexity Comparison: Recursive vs Iterative Implementations in Hello-Algo](/krahets/hello-algo/what-s-the-space-complexity-comparison-between-recursive-vs-iterative-implementations-of-algorithms)

Compare space complexity of recursive vs iterative algorithms. See how hello algo stacks up with O(n) call stack vs O(1) auxiliary space.

- Tags: performance
- Published: 2026-02-25

### [How the Preorder Traversal Template Works for Backtracking Problems in Hello-Algo](/krahets/hello-algo/how-does-the-preorder-traversal-template-work-for-backtracking-problems-in-the-examples)

Explore the preorder traversal template in Hello-Algo for backtracking. Learn how it combines DFS and state management to efficiently solve problems.

- Tags: deep-dive
- Published: 2026-02-25

### [Bounded vs Unbounded Knapsack in Dynamic Programming: Key Differences and Implementation](/krahets/hello-algo/what-s-the-difference-between-bounded-0-1-and-unbounded-knapsack-variations-in-dynamic-programming)

Master bounded 0-1 vs unbounded knapsack dynamic programming. Understand key differences in item multiplicity and DP transitions for efficient problem-solving.

- Tags: tutorial
- Published: 2026-02-25

### [How the Hanota Problem Demonstrates Divide and Conquer in hello-algo](/krahets/hello-algo/how-does-the-hanota-problem-demonstrate-the-divide-and-conquer-paradigm-in-the-source-code)

Explore how the Hanota problem in hello algo showcases divide and conquer. See the code recursively break down disk moving into smaller, manageable steps.

- Tags: deep-dive
- Published: 2026-02-25

### [Edit Distance Dynamic Programming Implementation: A Complete Guide with Code Examples](/krahets/hello-algo/how-is-the-edit-distance-dynamic-programming-solution-implemented-using-code-examples)

Implement edit distance dynamic programming with code examples. Discover O(nxm) time and O(m) space optimization using a 2D dp table to track minimum operations.

- Tags: how-to-guide
- Published: 2026-02-25

### [Time Complexity Analysis Methodology in hello-algo Chapter 2: A Three-Step Guide](/krahets/hello-algo/what-s-the-time-complexity-analysis-methodology-covered-in-chapter-2-and-how-is-it-applied)

Master time complexity analysis with hello-algo chapter 2. Learn the three-step methodology: count operations, simplify, and find the dominant term for Big-O notation.

- Tags: algorithm-tutorial
- Published: 2026-02-25

### [Difference Between Array-Based and Linked List-Based Stack Implementations](/krahets/hello-algo/what-s-the-difference-between-array-based-and-linked-list-based-stack-implementations)

Explore array-based vs linked list-based stack implementations. Understand cache locality, O(1) operations, memory overhead, and resizing costs for efficient data structure choices.

- Tags: comparison
- Published: 2026-02-25

### [How BFS and DFS Graph Traversal Algorithms Are Implemented in Hello-Algo](/krahets/hello-algo/how-are-bfs-and-dfs-graph-traversal-algorithms-implemented-in-the-graph-chapter)

Explore BFS and DFS graph traversal algorithms in Hello-Algo Go implementations. Learn how adjacency lists, visited sets, queues, and recursion power these essential graph search techniques.

- Tags: deep-dive
- Published: 2026-02-25

### [AVL Tree Rebalancing Algorithm Implementation in the Hello-Algo Repository](/krahets/hello-algo/what-s-the-avl-tree-rebalancing-algorithm-implementation-details-in-the-tree-chapter)

Explore the AVL tree rebalancing algorithm implementation in hello-algo. Learn four rotation patterns LL RR LR RL to maintain O(log n) height after insertions and deletions.

- Tags: internals
- Published: 2026-02-25

### [Hash Map Open Addressing vs Chaining: Implementation Differences in hello-algo](/krahets/hello-algo/how-does-hash-map-open-addressing-implementation-differ-from-chaining-in-the-source-code)

Explore hello-algo's source code comparing hash map open addressing with chaining. Understand their distinct collision resolution, deletion, and memory layout differences.

- Tags: internals
- Published: 2026-02-25

