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 Use This Book
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 Evaluation
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. Hashing
Chapter 6. Hashing
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 Operations on Graphs
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 Edge Cases
10.4 Hash Optimization Strategy
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 a Binary Tree Problem
12.4 Hanoi Tower Problem
12.5 Summary
Chapter 13. Backtracking
Chapter 13. Backtracking
13.1 Backtracking Algorithm
13.2 Permutations 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 Dynamic Programming Problems
14.3 Dynamic Programming 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 Algorithm
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 Programming Environment Installation
16.2 Contributing Together
16.3 Terminology Table
References
References
404 - Not found
Back to top