contents: add Educative

This commit is contained in:
Yangshun
2021-09-06 20:38:48 +08:00
parent fde01dc407
commit 5ade227f71
6 changed files with 24 additions and 4 deletions

View File

@ -27,3 +27,7 @@ Sometimes you do not need to store the whole DP table in memory, the last two va
- [Decode Ways](https://leetcode.com/problems/decode-ways/)
- [Unique Paths](https://leetcode.com/problems/unique-paths/)
- [Jump Game](https://leetcode.com/problems/jump-game/)
## Courses
- [Grokking the Dynamic Programming Patterns for Coding Interviews](https://www.educative.io/courses/grokking-dynamic-programming-patterns-for-coding-interviews?aff=x23W)

View File

@ -44,7 +44,11 @@ Hashmaps are probably the most commonly used data structure for algorithm questi
If you are cutting corners in your code, state that out loud to your interviewer and say what you would do in a non-interview setting (no time constraints). E.g., I would write a regex to parse this string rather than using `split()` which may not cover all cases.
###### References
## Algorithm courses
If you want more structured algorithms practice, I recommend [Educative's Grokking the Coding Interview: Patterns for Coding Questions](https://www.educative.io/courses/grokking-the-coding-interview?aff=x23W) course. This course essentially expands upon the questions here but approaches the practicing from a questions pattern perspective rather than data structures, which is an approach I agree with for learning and getting better at algorithmic problems.
## References
- http://blog.triplebyte.com/how-to-pass-a-programming-interview
- https://quip.com/q41AA3OmoZbC

View File

@ -11,3 +11,7 @@ title: Object-Oriented Programming
- Discuss algorithms and data structures for a garbage collector?
- How would you implement an HR system to keep track of employee salaries and benefits?
- How would you implement an Elevator system?
## Courses
- [Grokking the Object Oriented Design Interview](https://www.educative.io/courses/grokking-the-object-oriented-design-interview?aff=x23W)

View File

@ -1,91 +0,0 @@
---
id: topics
title: Topics
---
## Arrays
## Strings
- Prefix trees (Tries)
- Suffix trees
- Suffix arrays
- KMP
- Rabin-Karp
- Boyer-Moore
## Sorting
- Bubble sort
- Insertion sort
- Merge sort
- Quick sort
- Selection sort
- Bucket sort
- Radix sort
- Counting sort
## Linked Lists
## Stacks
## Queues
## Hash tables
- Collision resolution algorithms
## Trees
- BFS
- DFS (inorder, postorder, preorder)
- Height
## Binary Search Trees
- Insert node
- Delete a node
- Find element in BST
- Find min, max element in BST
- Get successor element in tree
- Check if a binary tree is a BST or not
## Heaps / Priority Queues
- Insert
- Bubble up
- Extract max
- Remove
- Heapify
- Heap sort
## Graphs
- Various implementations
- Adjacency matrix
- Adjacency list
- Adjacency map
- Single-source shortest path
- Dijkstra
- Bellman-Ford
- Topo sort
- MST
- Prim algorithm
- Kruskal's algorithm
- Union Find Data Structure
- Count connected components in a graph
- List strongly connected components in a graph
- Check for bipartite graph
## Dynamic Programming
- Count Change
- 0-1 Knapsack
## System Design
- http://www.hiredintech.com/system-design/
- https://www.quora.com/How-do-I-prepare-to-answer-design-questions-in-a-technical-interview?redirected_qid=1500023
- http://blog.gainlo.co/index.php/2015/10/22/8-things-you-need-to-know-before-system-design-interviews/
- https://github.com/donnemartin/system-design-primer
- https://github.com/jwasham/coding-interview-university/blob/master/extras/cheat%20sheets/system-design.pdf