Skip to content

Commit dc81699

Browse files
committed
Update readme
1 parent 6dd7340 commit dc81699

File tree

3 files changed

+210
-210
lines changed

3 files changed

+210
-210
lines changed

README-EN.md

Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
# Coding Interview
2+
3+
[![](https://img.shields.io/badge/LeetCode-Solution-yellow?logo=leetcode)](https://github.com/zdong1995/LeetCode-Solution-Well-Explained) [![](https://img.shields.io/badge/Algo-Interview-blue?&logo=github)](https://github.com/zdong1995/Algorithm-Interview) ![java](https://img.shields.io/badge/Language-Java-orange?logo=java) ![Build](https://github.com/zdong1995/Algorithm-Interview/workflows/Build/badge.svg) [![](https://img.shields.io/badge/Github-zdong1995-blue?style=social&logo=github)](https://github.com/zdong1995/)
4+
5+
Everything you need to know to prepare for a technical interview. Beginner-friendly tutorial of Data Structure and Algorithm, summary of categorized algorithm questions, and notes for Java and Object Oriented Design. English version tutorial will be updating regularly, please check my website:
6+
7+
**[Algorithm Interview Preparation](https://dongxiaoran.com/en/algo/) by dongxiaoran.**
8+
9+
Welcome to check my repository [LeetCode-Solution-Well-Explained](https://github.com/zdong1995/LeetCode-Solution-Well-Explained) with detailed explanations and comments for LeetCode questions in different categories. If this is helpful for you, please feel free to add a star to the repo. Thank you! ❤️
10+
11+
This repo will be updated as following parts:
12+
- Part 1: Start from basic Data Structure and Algorithm to get good understanding of Recursion, use Two Pointers technique in large mounts of questions and practice sorting algorithms.
13+
14+
- Part 2: Search algorithm, especially graph search. BFS, DFS, pruning, memoization, greedy and dynamic programming.
15+
16+
- Part 3: Popular problems and advanced data structure like Trie, Union Find, TreeSet, TreeMap.
17+
18+
- Part 4: Java and Object-oriented Programming.
19+
20+
## Table of Contents
21+
22+
* Algorithm
23+
* [Fundamental](https://github.com/zdong1995/Algorithm-Interview#fundamental)
24+
* [Recursion](https://github.com/zdong1995/Algorithm-Interview#recursion)
25+
* [Two Pointers](https://github.com/zdong1995/Algorithm-Interview#two-pointers)
26+
* [Sorting](https://github.com/zdong1995/Algorithm-Interview#sorting)
27+
* [Breadth First Search \(BFS\)](https://github.com/zdong1995/Algorithm-Interview#bfs)
28+
* [Depth First Search \(DFS\)](https://github.com/zdong1995/Algorithm-Interview#dfs)
29+
* [Dynamic Programming \(DP\)](https://github.com/zdong1995/Algorithm-Interview#dp)
30+
* [Popular Problems](https://github.com/zdong1995/Algorithm-Interview#popular)
31+
32+
* Implementation
33+
* [Java](https://github.com/zdong1995/Algorithm-Interview##java)
34+
* Object Oriented Programming
35+
* [Design Pattern](https://github.com/zdong1995/Algorithm-Interview##design-pattern)
36+
* [OOD Practice](https://github.com/zdong1995/Algorithm-Interview##ood-practice)
37+
38+
## Algorithm
39+
40+
Popular interview algorithm problems summarized by different patterns.
41+
42+
### Fundamental
43+
44+
* [ ] Introduction to Algorithms in Interview
45+
* [ ] Summary of Data Structure
46+
* [ ] Iterative in LinkedList
47+
* [ ] Binary Search
48+
49+
### Recursion
50+
51+
* [ ] Introduction to Recursion
52+
* [ ] Recursion in LinkedList
53+
* [ ] Recursion in Tree
54+
* [ ] Recursion to Iterative
55+
56+
### Two Pointers
57+
58+
* [x] Two Sum Pattern: [Code](src/main/java/algorithm/array/twosum)
59+
* [ ] Slow-Fast Pointers
60+
* [ ] K-way Merge
61+
* [ ] Deduplication
62+
* [ ] Sliding Window
63+
* [ ] Partition
64+
65+
### Sorting
66+
67+
* [ ] Merge Sort
68+
* [ ] Quick Sort
69+
* [ ] Quick Selection
70+
* [ ] Bucket Sort and Count Sort
71+
72+
### BFS
73+
74+
* [ ] Level Order Traversal
75+
* [ ] The Shortest Path
76+
* [ ] Connected Component
77+
* [ ] Topology Sorting
78+
* [ ] Best-First Search and Dijkstra
79+
80+
### DFS
81+
82+
* [ ] Subset
83+
* [ ] Permutation
84+
* [ ] Parentheses
85+
* [ ] Memoization
86+
* [ ] Graph Search
87+
88+
### DP
89+
90+
* [ ] 1D DP
91+
* [ ] 2D DP
92+
* [ ] Greedy
93+
94+
### Popular
95+
96+
- [ ] Merge Intervals
97+
98+
- [ ] Two Heap Pattern
99+
100+
- [ ] Top-K Problem
101+
102+
- [ ] Union Find
103+
104+
- [ ] Data Structure Design
105+
106+
- [ ] Bit Operations
107+
108+
## Implementation
109+
110+
Implementation of data structures and practice of Java programming language.
111+
112+
### Java
113+
114+
* [ ] Multi-thread
115+
* [ ] ConcurrentHashMap
116+
* [ ] Enum
117+
* [ ] Nested Class
118+
* [ ] Exception
119+
* [ ] Polymorphism
120+
* [ ] Generic and Wild Card
121+
122+
## Object Oriented Design
123+
124+
### Design Pattern
125+
126+
* [ ] Singleton
127+
* [ ] Builder
128+
129+
### OOD Practice
130+
131+
* [ ] Parking Lot
132+
* [ ] BlackJack
133+
* [ ] In Memory File System
134+
* [ ] Elevator

README.md

Lines changed: 76 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -1,99 +1,94 @@
1-
# Coding Interview
2-
1+
# 零基础算法面试指南
32
[![](https://img.shields.io/badge/LeetCode-Solution-yellow?logo=leetcode)](https://github.com/zdong1995/LeetCode-Solution-Well-Explained) [![](https://img.shields.io/badge/Algo-Interview-blue?&logo=github)](https://github.com/zdong1995/Algorithm-Interview) ![java](https://img.shields.io/badge/Language-Java-orange?logo=java) ![Build](https://github.com/zdong1995/Algorithm-Interview/workflows/Build/badge.svg) [![](https://img.shields.io/badge/Github-zdong1995-blue?style=social&logo=github)](https://github.com/zdong1995/)
43

5-
[简体中文](./REDME-CN.md)
4+
[English Version](./README-EN.md)
5+
6+
大家好,我是小染,这份算法与数据结构指南适用于转行和零基础同学,按类型题目整理更新,带你从零开始培养算法思维和准备算法面试。Repo 中包含有按类别总结的源码,便于 debug 练习,算法讲解文章链接:[小染的零基础算法面试指南](https://dongxiaoran.com/algo/)
7+
8+
欢迎点击上方 Badge 链接阅读我的 LeetCode Solutin 代码,如果对你有帮助欢迎在 Github 点个 Star 和关注微信公众号『[董小染](https://dongxiaoran.com/images/qrcode.png)』。
9+
10+
文章分为以下几部分进行安排,带你掌握面试高频算法与数据结构:
11+
- 第一部分:从基础数据结构入手,从递归思想的入门与深化,再到高频的双指针和排序算法。
12+
- 第二部分:掌握搜索算法,宽度优先,深度优先,到记忆存储,剪枝优化,入门动态规划。
13+
- 第三部分:高频面试题目分析,复杂题目讲解,高级数据结构等。
14+
- 第四部分:Java 与 OOD 面向对象程序设计。
15+
16+
### 1. 基础数据结构与算法
17+
18+
- [ ] 当我们在刷题时到底在刷什么
19+
20+
- [ ] 常用数据结构总结
21+
22+
- [ ] Iterative in LinkedList
23+
24+
- [ ] Binary Search
625

7-
Everything you need to know to prepare for a technical interview. Beginner-friendly tutorial of Data Structure and Algorithm, summary of categorized algorithm questions, and notes for Java and Object Oriented Design. English version tutorial will be updating regularly, please check my website:
26+
### 2. 优雅重要的递归思维
827

9-
**[Algorithm Interview Preparation](https://dongxiaoran.com/en/algo/) by dongxiaoran.**
28+
- [ ] Introduction to Recursion
1029

11-
Welcome to check my repository [LeetCode-Solution-Well-Explained](https://github.com/zdong1995/LeetCode-Solution-Well-Explained) with detailed explanations and comments for LeetCode questions in different categories. If this is helpful for you, please feel free to add a star to the repo. Thank you! ❤️
30+
- [ ] Recursion in LinkedList
1231

13-
This repo will be updated as following parts:
14-
- Part 1: Start from basic Data Structure and Algorithm to get good understanding of Recursion, use Two Pointers technique in large mounts of questions and practice sorting algorithms.
32+
- [ ] Recursion in Tree
1533

16-
- Part 2: Search algorithm, especially graph search. BFS, DFS, pruning, memoization, greedy and dynamic programming.
34+
- [ ] Recursion to Iterative
1735

18-
- Part 3: Popular problems and advanced data structure like Trie, Union Find, TreeSet, TreeMap.
36+
### 3. 巧妙高效的双指针
1937

20-
- Part 4: Java and Object-oriented Programming.
38+
- [x] Two Sum Pattern: [Code](src/main/java/algorithm/array/twosum)
39+
- [ ] Slow-Fast Pointers
2140

22-
## Table of Contents
41+
- [ ] K-way Merge
2342

24-
* Algorithm
25-
* [Fundamental](https://github.com/zdong1995/Algorithm-Interview#fundamental)
26-
* [Recursion](https://github.com/zdong1995/Algorithm-Interview#recursion)
27-
* [Two Pointers](https://github.com/zdong1995/Algorithm-Interview#two-pointers)
28-
* [Sorting](https://github.com/zdong1995/Algorithm-Interview#sorting)
29-
* [Breadth First Search \(BFS\)](https://github.com/zdong1995/Algorithm-Interview#bfs)
30-
* [Depth First Search \(DFS\)](https://github.com/zdong1995/Algorithm-Interview#dfs)
31-
* [Dynamic Programming \(DP\)](https://github.com/zdong1995/Algorithm-Interview#dp)
32-
* [Popular Problems](https://github.com/zdong1995/Algorithm-Interview#popular)
33-
34-
* Implementation
35-
* [Java](https://github.com/zdong1995/Algorithm-Interview##java)
36-
* Object Oriented Programming
37-
* [Design Pattern](https://github.com/zdong1995/Algorithm-Interview##design-pattern)
38-
* [OOD Practice](https://github.com/zdong1995/Algorithm-Interview##ood-practice)
43+
- [ ] Deduplication
3944

40-
## Algorithm
45+
- [ ] Sliding Window
4146

42-
Popular interview algorithm problems summarized by different patterns.
47+
- [ ] Partition
4348

44-
### Fundamental
49+
### 4. 轻松手写排序算法
4550

46-
* [ ] Introduction to Algorithms in Interview
47-
* [ ] Summary of Data Structure
48-
* [ ] Iterative in LinkedList
49-
* [ ] Binary Search
51+
- [ ] Merge Sort
5052

51-
### Recursion
53+
- [ ] Quick Sort
5254

53-
* [ ] Introduction to Recursion
54-
* [ ] Recursion in LinkedList
55-
* [ ] Recursion in Tree
56-
* [ ] Recursion to Iterative
55+
- [ ] Quick Selection
5756

58-
### Two Pointers
57+
- [ ] Comparasion-based Sort
5958

60-
* [x] Two Sum Pattern: [Code](src/main/java/algorithm/array/twosum)
61-
* [ ] Slow-Fast Pointers
62-
* [ ] K-way Merge
63-
* [ ] Deduplication
64-
* [ ] Sliding Window
65-
* [ ] Partition
59+
### 5. 宽度优先搜索
6660

67-
### Sorting
61+
- [ ] Level Order Traversal
6862

69-
* [ ] Merge Sort
70-
* [ ] Quick Sort
71-
* [ ] Quick Selection
72-
* [ ] Bucket Sort and Count Sort
63+
- [ ] The Shortest Path
7364

74-
### BFS
65+
- [ ] Connected Component
7566

76-
* [ ] Level Order Traversal
77-
* [ ] The Shortest Path
78-
* [ ] Connected Component
79-
* [ ] Topology Sorting
80-
* [ ] Best-First Search and Dijkstra
67+
- [ ] Topology Sorting
8168

82-
### DFS
69+
- [ ] Best First Search and Dijkstra
8370

84-
* [ ] Subset
85-
* [ ] Permutation
86-
* [ ] Parentheses
87-
* [ ] Memoization
88-
* [ ] Graph Search
71+
### 6. 深度优先搜索
8972

90-
### DP
73+
- [ ] Subset
9174

92-
* [ ] 1D DP
93-
* [ ] 2D DP
94-
* [ ] Greedy
75+
- [ ] Permutation
9576

96-
### Popular
77+
- [ ] Parentheses
78+
79+
- [ ] Memoization
80+
81+
- [ ] Graph Search
82+
83+
### 7. 数学归纳法与动态规划
84+
85+
- [ ] 1D DP
86+
87+
- [ ] 2D DP
88+
89+
- [ ] Greedy
90+
91+
### 8. 高频题目类型讲解
9792

9893
- [ ] Merge Intervals
9994

@@ -107,30 +102,24 @@ Popular interview algorithm problems summarized by different patterns.
107102

108103
- [ ] Bit Operations
109104

110-
## Implementation
105+
### 9. Java 学习笔记
106+
107+
- [ ] Java Basic Review
108+
109+
- [ ] Data Strucutre Implementation
111110

112-
Implementation of data structures and practice of Java programming language.
111+
- [ ] Multi-thread and Concurrency
113112

114-
### Java
113+
### 10. 面向对象设计
115114

116-
* [ ] Multi-thread
117-
* [ ] ConcurrentHashMap
118-
* [ ] Enum
119-
* [ ] Nested Class
120-
* [ ] Exception
121-
* [ ] Polymorphism
122-
* [ ] Generic and Wild Card
115+
- [ ] Encapsulation, Polymorphism and Inheritance
123116

124-
## Object Oriented Design
117+
- [ ] Singleton Pattern
125118

126-
### Design Pattern
119+
- [ ] Builder Pattern
127120

128-
* [ ] Singleton
129-
* [ ] Builder
121+
- [ ] Factory Pattern
130122

131-
### OOD Practice
123+
- [ ] Design Pattern
132124

133-
* [ ] Parking Lot
134-
* [ ] BlackJack
135-
* [ ] In Memory File System
136-
* [ ] Elevator
125+
- [ ] OOD Practice

0 commit comments

Comments
 (0)