Hello Algo
简体中文
繁體中文
English
Initializing search
krahets/hello-algo
Hello Algo
krahets/hello-algo
Before starting
Before starting
Chapter 0. Preface
Chapter 0. Preface
0.1 About this book
0.2 How to read
0.3 Summary
Chapter 1. Encounter with algorithms
Chapter 1. Encounter with algorithms
1.1 Algorithms are everywhere
1.2 What is an algorithm
1.3 Summary
Chapter 2. Complexity analysis
Chapter 2. Complexity analysis
2.1 Algorithm efficiency assessment
2.2 Iteration and recursion
2.3 Time complexity
2.4 Space complexity
2.5 Summary
Chapter 3. Data structures
Chapter 3. Data structures
3.1 Classification of data structures
3.2 Basic data types
3.3 Number encoding *
3.4 Character encoding *
3.5 Summary
Chapter 4. Array and linked list
Chapter 4. Array and linked list
4.1 Array
4.2 Linked list
4.3 List
4.4 Memory and cache *
4.5 Summary
Chapter 5. Stack and queue
Chapter 5. Stack and queue
5.1 Stack
5.2 Queue
5.3 Double-ended queue
5.4 Summary
Chapter 6. Hash table
Chapter 6. Hash table
6.1 Hash table
6.2 Hash collision
6.3 Hash algorithm
6.4 Summary
Chapter 7. Tree
Chapter 7. Tree
7.1 Binary tree
7.2 Binary tree traversal
7.3 Array Representation of tree
7.4 Binary Search tree
7.5 AVL tree *
7.6 Summary
Chapter 8. Heap
Chapter 8. Heap
8.1 Heap
8.2 Building a heap
8.3 Top-k problem
8.4 Summary
Chapter 9. Graph
Chapter 9. Graph
9.1 Graph
9.2 Basic graph operations
9.3 Graph traversal
9.4 Summary
Chapter 10. Searching
Chapter 10. Searching
10.1 Binary search
10.2 Binary search insertion
10.3 Binary search boundaries
10.4 Hashing optimization strategies
10.5 Search algorithms revisited
10.6 Summary
Chapter 11. Sorting
Chapter 11. Sorting
11.1 Sorting algorithms
11.2 Selection sort
11.3 Bubble sort
11.4 Insertion sort
11.5 Quick sort
11.6 Merge sort
11.7 Heap sort
11.8 Bucket sort
11.9 Counting sort
11.10 Radix sort
11.11 Summary
Chapter 12. Divide and conquer
Chapter 12. Divide and conquer
12.1 Divide and conquer algorithms
12.2 Divide and conquer search strategy
12.3 Building binary tree problem
12.4 Tower of Hanoi Problem
12.5 Summary
Chapter 13. Backtracking
Chapter 13. Backtracking
13.1 Backtracking algorithms
13.2 Permutation problem
13.3 Subset sum problem
13.4 n queens problem
13.5 Summary
Chapter 14. Dynamic programming
Chapter 14. Dynamic programming
14.1 Introduction to dynamic programming
14.2 Characteristics of DP problems
14.3 DP problem-solving approach¶
14.4 0-1 Knapsack problem
14.5 Unbounded knapsack problem
14.6 Edit distance problem
14.7 Summary
Chapter 15. Greedy
Chapter 15. Greedy
15.1 Greedy algorithms
15.2 Fractional knapsack problem
15.3 Maximum capacity problem
15.4 Maximum product cutting problem
15.5 Summary
Chapter 16. Appendix
Chapter 16. Appendix
16.1 Installation
16.2 Contributing
16.3 Terminology
References
References
404 - Not found
Back to top