Merge branch 'master' of https://github.com/jwasham/coding-interview-university
This commit is contained in:
30
README.md
30
README.md
@@ -331,9 +331,9 @@ If you have a better recommendation for C++, please let me know. Looking for a c
|
||||
### Java
|
||||
|
||||
- [ ] [Algorithms (Sedgewick and Wayne)](https://www.amazon.com/Algorithms-4th-Robert-Sedgewick/dp/032157351X/)
|
||||
- videos with book content (and Sedgewick!):
|
||||
- [Algorithms I](https://www.youtube.com/user/algorithmscourses/playlists?view=50&sort=dd&shelf_id=2)
|
||||
- [Algorithms II](https://www.youtube.com/user/algorithmscourses/playlists?shelf_id=3&view=50&sort=dd)
|
||||
- videos with book content (and Sedgewick!) on coursera:
|
||||
- [Algorithms I](https://www.coursera.org/learn/algorithms-part1)
|
||||
- [Algorithms II](https://www.coursera.org/learn/algorithms-part2)
|
||||
|
||||
OR:
|
||||
|
||||
@@ -487,6 +487,7 @@ Write code on a whiteboard or paper, not a computer. Test with some sample input
|
||||
- [answers to questions](https://github.com/lekkas/c-algorithms)
|
||||
|
||||
- [ ] **How computers process a program:**
|
||||
- [ ] [How CPU executes a program](https://www.youtube.com/watch?v=XM4lGflQFvA)
|
||||
- [ ] [How computers calculate - ALU (video)](https://youtu.be/1I5ZMmrOfnA)
|
||||
- [ ] [Registers and RAM (video)](https://youtu.be/fpnE6UAfbtU)
|
||||
- [ ] [The Central Processing Unit (CPU) (video)](https://youtu.be/FZGugFqdr60)
|
||||
@@ -508,8 +509,8 @@ Write code on a whiteboard or paper, not a computer. Test with some sample input
|
||||
- [ ] [Amortized Analysis (video)](https://www.youtube.com/watch?v=B3SpQZaAZP4&index=10&list=PL1BaGV1cIH4UhkL8a9bJGG356covJ76qN)
|
||||
- [ ] [Illustrating "Big O" (video)](https://class.coursera.org/algorithmicthink1-004/lecture/63)
|
||||
- [ ] TopCoder (includes recurrence relations and master theorem):
|
||||
- [Computational Complexity: Section 1](https://www.topcoder.com/community/data-science/data-science-tutorials/computational-complexity-section-1/)
|
||||
- [Computational Complexity: Section 2](https://www.topcoder.com/community/data-science/data-science-tutorials/computational-complexity-section-2/)
|
||||
- [Computational Complexity: Section 1](https://www.topcoder.com/community/competitive-programming/tutorials/computational-complexity-section-1/)
|
||||
- [Computational Complexity: Section 2](https://www.topcoder.com/community/competitive-programming/tutorials/computational-complexity-section-2/)
|
||||
- [ ] [Cheat sheet](http://bigocheatsheet.com/)
|
||||
|
||||
|
||||
@@ -596,7 +597,7 @@ Write code on a whiteboard or paper, not a computer. Test with some sample input
|
||||
|
||||
- ### Queue
|
||||
- [ ] [Using Queues First-In First-Out(video)](https://www.lynda.com/Developer-Programming-Foundations-tutorials/Using-queues-first-first-out/149042/177122-4.html)
|
||||
- [ ] [Queue (video)](https://www.coursera.org/learn/data-structures/lecture/EShpq/queue)
|
||||
- [ ] [Queue (video)](https://www.coursera.org/lecture/data-structures/queues-EShpq)
|
||||
- [ ] [Circular buffer/FIFO](https://en.wikipedia.org/wiki/Circular_buffer)
|
||||
- [ ] [Priority Queues (video)](https://www.lynda.com/Developer-Programming-Foundations-tutorials/Priority-queues-deques/149042/177123-4.html)
|
||||
- [ ] Implement using linked-list, with tail pointer:
|
||||
@@ -648,7 +649,7 @@ Write code on a whiteboard or paper, not a computer. Test with some sample input
|
||||
- ### Binary search
|
||||
- [ ] [Binary Search (video)](https://www.youtube.com/watch?v=D5SrAga1pno)
|
||||
- [ ] [Binary Search (video)](https://www.khanacademy.org/computing/computer-science/algorithms/binary-search/a/binary-search)
|
||||
- [ ] [detail](https://www.topcoder.com/community/data-science/data-science-tutorials/binary-search/)
|
||||
- [ ] [detail](https://www.topcoder.com/community/competitive-programming/tutorials/binary-search/)
|
||||
- [ ] Implement:
|
||||
- binary search (on sorted array of integers)
|
||||
- binary search using recursion
|
||||
@@ -1147,7 +1148,7 @@ You'll get more graph practice in Skiena's book (see Books section below) and th
|
||||
- [ ] [Performance Of Tries (video)](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/PvlZW/core-performance-of-tries)
|
||||
- [ ] [Implementing A Trie (video)](https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/DFvd3/core-implementing-a-trie)
|
||||
- [ ] [The Trie: A Neglected Data Structure](https://www.toptal.com/java/the-trie-a-neglected-data-structure)
|
||||
- [ ] [TopCoder - Using Tries](https://www.topcoder.com/community/data-science/data-science-tutorials/using-tries/)
|
||||
- [ ] [TopCoder - Using Tries](https://www.topcoder.com/community/competitive-programming/tutorials/using-tries/)
|
||||
- [ ] [Stanford Lecture (real world use case) (video)](https://www.youtube.com/watch?v=TJ8SkcUSdbU)
|
||||
- [ ] [MIT, Advanced Data Structures, Strings (can get pretty obscure about halfway through)](https://www.youtube.com/watch?v=NinWEPPrkDQ&index=16&list=PLUl4u3cNGP61hsJNdULdudlRL493b-XZf)
|
||||
|
||||
@@ -1234,7 +1235,7 @@ You'll get more graph practice in Skiena's book (see Books section below) and th
|
||||
- [ ] [Introduction to Architecting Systems for Scale](http://lethain.com/introduction-to-architecting-systems-for-scale/)
|
||||
- [ ] [Scaling mobile games to a global audience using App Engine and Cloud Datastore (video)](https://www.youtube.com/watch?v=9nWyWwY2Onc)
|
||||
- [ ] [How Google Does Planet-Scale Engineering for Planet-Scale Infra (video)](https://www.youtube.com/watch?v=H4vMcD7zKM0)
|
||||
- [ ] [The Importance of Algorithms](https://www.topcoder.com/community/data-science/data-science-tutorials/the-importance-of-algorithms/)
|
||||
- [ ] [The Importance of Algorithms](https://www.topcoder.com/community/competitive-programming/tutorials/the-importance-of-algorithms/)
|
||||
- [ ] [Sharding](http://highscalability.com/blog/2009/8/6/an-unorthodox-approach-to-database-design-the-coming-of-the.html)
|
||||
- [ ] [Scale at Facebook (2009)](https://www.infoq.com/presentations/Scale-at-Facebook)
|
||||
- [ ] [Scale at Facebook (2012), "Building for a Billion Users" (video)](https://www.youtube.com/watch?v=oodS71YtkGU)
|
||||
@@ -1351,8 +1352,8 @@ I added the pen in the photo for scale. If you use a pen, you'll wish you could
|
||||
|
||||
Supplemental:
|
||||
|
||||
- [Mathematics for Topcoders](https://www.topcoder.com/community/data-science/data-science-tutorials/mathematics-for-topcoders/)
|
||||
- [Dynamic Programming – From Novice to Advanced](https://www.topcoder.com/community/data-science/data-science-tutorials/dynamic-programming-from-novice-to-advanced/)
|
||||
- [Mathematics for Topcoders](https://www.topcoder.com/community/competitive-programming/tutorials/mathematics-for-topcoders/)
|
||||
- [Dynamic Programming – From Novice to Advanced](https://www.topcoder.com/community/competitive-programming/tutorials/dynamic-programming-from-novice-to-advanced/)
|
||||
- [MIT Interview Materials](https://web.archive.org/web/20160906124824/http://courses.csail.mit.edu/iap/interview/materials.php)
|
||||
- [Exercises for getting better at a given language](http://exercism.io/languages)
|
||||
|
||||
@@ -1370,8 +1371,8 @@ See [Book List above](#book-list)
|
||||
Once you've learned your brains out, put those brains to work.
|
||||
Take coding challenges every day, as many as you can.
|
||||
|
||||
- [ ] [How to Find a Solution](https://www.topcoder.com/community/data-science/data-science-tutorials/how-to-find-a-solution/)
|
||||
- [ ] [How to Dissect a Topcoder Problem Statement](https://www.topcoder.com/community/data-science/data-science-tutorials/how-to-dissect-a-topcoder-problem-statement/)
|
||||
- [ ] [How to Find a Solution](https://www.topcoder.com/community/competitive-programming/tutorials/how-to-find-a-solution/)
|
||||
- [ ] [How to Dissect a Topcoder Problem Statement](https://www.topcoder.com/community/competitive-programming/tutorials/how-to-dissect-a-topcoder-problem-statement/)
|
||||
|
||||
Coding Interview Question Videos:
|
||||
- [IDeserve (88 videos)](https://www.youtube.com/watch?v=NBcqBddFbZw&list=PLamzFoFxwoNjPfxzaWqs7cZGsPYy0x_gI)
|
||||
@@ -1389,6 +1390,7 @@ Challenge sites:
|
||||
- [Geeks for Geeks](http://www.geeksforgeeks.org/)
|
||||
- [InterviewBit](https://www.interviewbit.com/invite/icjf)
|
||||
- [Sphere Online Judge (spoj)](http://www.spoj.com/)
|
||||
- [Codechef](https://www.codechef.com/)
|
||||
|
||||
Challenge repos:
|
||||
- [Interactive Coding Interview Challenges in Python](https://github.com/donnemartin/interactive-coding-challenges)
|
||||
@@ -1693,7 +1695,7 @@ software engineer, and to be aware of certain technologies and algorithms, so yo
|
||||
- [ ] [Aduni - Algorithms - Lecture 4 (link jumps to starting point) (video)](https://youtu.be/1W3x0f_RmUo?list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&t=3871)
|
||||
- [ ] [Aduni - Algorithms - Lecture 5 (video)](https://www.youtube.com/watch?v=hm2GHwyKF1o&list=PLFDnELG9dpVxQCxuD-9BSy2E7BWY3t5Sm&index=5)
|
||||
- [ ] [Red-Black Tree](https://en.wikipedia.org/wiki/Red%E2%80%93black_tree)
|
||||
- [ ] [An Introduction To Binary Search And Red Black Tree](https://www.topcoder.com/community/data-science/data-science-tutorials/an-introduction-to-binary-search-and-red-black-trees/)
|
||||
- [ ] [An Introduction To Binary Search And Red Black Tree](https://www.topcoder.com/community/competitive-programming/tutorials/an-introduction-to-binary-search-and-red-black-trees/)
|
||||
|
||||
- [ ] **2-3 search trees**
|
||||
- In practice:
|
||||
|
Reference in New Issue
Block a user