Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/imteekay/algorithms

✨ Algorithms & Data Structures & Computer Science studies
https://github.com/imteekay/algorithms

algorithm competitive-programming computer-science data-structures javascript python

Last synced: 2 months ago
JSON representation

✨ Algorithms & Data Structures & Computer Science studies

Awesome Lists containing this project

README

        

# Algorithms & Data Structures

## Introduction

- [πŸŽ₯ Algorithms and Data Structures Tutorial](https://www.youtube.com/watch?v=8hly31xKli0&ab_channel=freeCodeCamp.org)
- [πŸŽ₯ Data Structures and Algorithms in JavaScript](https://www.youtube.com/playlist?list=PLWKjhJtqVAbkso-IbgiiP48n-O-JQA9PJ)
- [πŸŽ₯ Introduction to Algorithms](https://www.youtube.com/playlist?list=PLUl4u3cNGP63EdVPNLG3ToM6LaEUuStEY)
- [πŸŽ₯ Python Algorithms for Interviews](https://www.youtube.com/watch?v=p65AHm9MX80)
- [πŸ“ Introduction of Data Structure and algorithm](https://www.scaler.com/topics/data-structures)
- [πŸ“ Top 10 algorithms in interview questions](https://www.geeksforgeeks.org/top-10-algorithms-in-interview-questions)
- [πŸ“ Useful links about algorithms](https://leetcode.com/discuss/general-discussion/665604/important-and-useful-links-from-all-over-the-Leetcode)

## Big-O notation and design

- [πŸŽ₯ Big O Notation w/ Gayle](https://www.youtube.com/watch?v=v4cd1O4zkGw&ab_channel=HackerRank)
- [πŸŽ₯ Design and Analysis of Algorithms β€” MIT](https://www.youtube.com/playlist?list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)
- [πŸ’» Big O](computer_science/big_o)
- [πŸ“ Know your complexities: Big-O cheat sheet](https://www.bigocheatsheet.com)
- [πŸ“ Big O in DS](./big-o.md)
- [πŸ“ Computational complexity part one](https://www.topcoder.com/thrive/articles/Computational%20Complexity%20part%20one)
- [πŸ“ Computational complexity part two](https://www.topcoder.com/thrive/articles/Computational%20Complexity%20part%20two)

## Data Structures

- [πŸŽ₯ Data Structures Easy to Advanced Course - Full Tutorial from a Google Engineer](https://www.youtube.com/watch?v=RBSGKlAvoiM)
- [πŸ’» Data Structures and Algorithms cheat sheet](https://github.com/TSiege/Tech-Interview-Cheat-Sheet)
- [πŸ“ What is Data Structure?](https://www.scaler.com/topics/data-structures/what-is-data-structure)

### Stack

- [πŸ“ Stack Data Structure in JavaScript](https://www.iamtk.co/series/data-structures-in-javascript/stack-data-structure)
- [πŸ“ Stack Data Structure Practice Problems](https://medium.com/techie-delight/stack-data-structure-practice-problems-and-interview-questions-9f08a35a7f19)
- [πŸ“ Stack Data Structure](https://www.iamtk.co/series/data-structures/stack-data-structure)

### Queues

- [πŸ“ Queue Data Structure in JavaScript](https://www.iamtk.co/series/data-structures-in-javascript/queue-data-structure)
- [πŸ“ Queue Data Structure](https://www.iamtk.co/series/data-structures/queue-data-structure)
- [πŸ“ Queue Data Structure](https://www.scaler.com/topics/data-structures/queue-in-data-structure)

### Linked Lists

- [πŸŽ₯ Linked Lists for Technical Interviews](https://www.youtube.com/watch?v=Hj_rA0dhr2I&ab_channel=freeCodeCamp.org)
- [πŸ“ Linked Lists Data Structure in JavaScript](https://www.iamtk.co/series/data-structures-in-javascript/linked-list-data-structure)
- [πŸ“ Linked Lists Data Structure](https://www.iamtk.co/series/data-structures/linked-list-data-structure)
- [πŸ“ Linked Lists Data Structure](https://www.scaler.com/topics/linked-list)

### Trees

- [πŸŽ₯ Binary Tree Algorithms for Technical Interviews](https://www.youtube.com/watch?v=fAAZixBzIAI&ab_channel=freeCodeCamp.org)
- [πŸ“ Tree Data Structure](https://www.iamtk.co/series/data-structures/tree-data-structure)
- [πŸ“ Tree Data Structure](https://www.scaler.com/topics/data-structures/tree-data-structure)

### Graphs

- [πŸŽ₯ Breadth First Search & Depth First Search](https://www.youtube.com/watch?v=pcKY4hjDrxk&ab_channel=AbdulBari)
- [πŸŽ₯ Graph Algorithms for Technical Interviews](https://www.youtube.com/watch?v=tWVWeAqZ0WU&ab_channel=freeCodeCamp.org)
- [πŸŽ₯ Graph data structure β€” Part 1](https://www.youtube.com/watch?v=JDP1OVgoa0Q&ab_channel=JunminLee)
- [πŸŽ₯ Graph data structure β€” Part 2](https://www.youtube.com/watch?v=bSZ57h7GN2w&ab_channel=JunminLee)
- [πŸŽ₯ Graph Search Algorithms in 100 Seconds](https://www.youtube.com/watch?v=cWNEl4HE2OE&ab_channel=Fireship)
- [πŸ“ Depth First Search](https://www.hackerearth.com/practice/algorithms/graphs/depth-first-search/tutorial)
- [πŸ“ Graph in Data Structure](https://www.scaler.com/topics/data-structures/graph-in-data-structure)

## Algorithms

- [πŸŽ₯ Problem Patterns](https://designgurus.org/course/grokking-the-coding-interview)
- [πŸŽ₯ Programação Dinamica](https://www.youtube.com/watch?v=qp9UOJ0XUlg&ab_channel=GubnunBR)
- [πŸ“ 3 Tricks To Master Linked List Problems](https://medium.com/interviewnoodle/leetcode-3-tricks-to-master-linked-list-problems-8647a74a5f1c)
- [πŸ“ 3 Tricks To Master String Problems](https://medium.com/interviewnoodle/leetcode-3-tricks-to-master-string-problems-bf10079df639)
- [πŸ“ 5 Tricks To Solve Any Interval/Conflict Schedule Related Problems](https://medium.com/interviewnoodle/leetcode-5-tricks-to-solve-any-interval-conflict-schedule-related-problems-3f33d6e5af55)
- [πŸ“ Coding Patterns - Backtracking](https://iorilan.medium.com/after-solved-1000-medium-leetcode-found-thes-patterns-backtracking-b683aa8bd8ac)
- [πŸ“ Coding Patterns - BFS](https://iorilan.medium.com/after-finished-1000-leetcode-medium-level-i-found-some-patterns-bfs-63783cbd2c70)
- [πŸ“ Coding Patterns - DFS](https://iorilan.medium.com/after-finished-1000-leetcode-medium-level-i-found-some-patterns-dfs-77e584425474)
- [πŸ“ Coding Patterns - Dynamic Programming](https://iorilan.medium.com/after-solved-1000-leetcode-medium-level-i-found-these-patterns-dynamic-programming-205226223f4e)
- [πŸ“ Coding Patterns - Mono-Stack](https://iorilan.medium.com/after-solved-1000-medium-leetcode-found-thes-patterns-mono-stack-40ce6067abfe)
- [πŸ“ Coding Patterns - Presum, Greedy, intervals](https://iorilan.medium.com/after-solved-1000-medium-leetcode-found-these-patterns-presum-greedy-intervals-511d899bcee3)
- [πŸ“ Coding Patterns - Sliding Window, 2 Pointer, String](https://iorilan.medium.com/after-solved-1000-medium-leetcode-found-these-patterns-sliding-window-2-pointer-string-18332ca4861)
- [πŸ“ Coding Patterns - UnionFind, Devide And Conquer, Toposort](https://iorilan.medium.com/after-solved-1000-medium-leetcode-found-these-patterns-unionfind-devide-and-conquer-toposort-9210dfc90223)
- [πŸ“ Coding Patterns β€” Binary Search, Trie, Heap](https://medium.com/@iorilan/after-solved-1000-medium-leetcode-found-these-patterns-binary-search-trie-heap-8dc5c82e9e94)
- [πŸ“ Find Kth Largest/Smallest Element Without Sorting](https://medium.com/interviewnoodle/leetcode-find-kth-largest-smallest-element-without-sorting-77b92c75c890)
- [πŸ“ Grokking LeetCode: A Smarter Way to Prepare for Coding Interviews](https://interviewnoodle.com/grokking-leetcode-a-smarter-way-to-prepare-for-coding-interviews-e86d5c9fe4e1)
- [πŸ“ Let's implement a Bloom Filter](https://onatm.dev/2020/08/10/let-s-implement-a-bloom-filter)
- [πŸ“ Master 2D matrix/maze traversal](https://medium.com/interviewnoodle/leetcode-master-2d-matrix-maze-traversal-ec9f2e0bc300)
- [πŸ“ Recursive descent parsing](https://austinhenley.com/blog/teenytinycompiler2.html)

## Coding Interviews

Build the the foundation by learning the fundamental algorithms and data structures:

- Fundamental Algorithms
- [ ] Sorting
- [ ] Merge Sort
- [ ] Quick Sort
- [ ] Bucket Sort
- [ ] Heap Sort
- [ ] Counting Sort
- [x] Searching
- [x] [Binary Search](computer_science/algorithms/binary-search/binary-search.js)
- [x] [Tree Depth First Search](computer_science/data_structures/binary_search_tree)
- [x] [Tree Breadth First Search](computer_science/data_structures/binary_search_tree)
- [ ] Graph Depth First Search
- [ ] Graph Breadth First Search
- [ ] Dynamic Programming
- [x] [String / Array: reverse](computer_science/algorithms/reverse-string/reverse-string.js)
- [x] [Linked list: insertion, deletion](computer_science/data_structures/linked_list)
- Fundamental Data Structures
- [x] [Stack](computer_science/data_structures/stack)
- [x] [Queue](computer_science/data_structures/queue)
- [x] [Linked List](computer_science/data_structures/linked_list)
- [x] [Hash Map](computer_science/data_structures/hash_table)
- [ ] Heap
- [ ] Priority Queue
- [ ] Tree
- [x] [Binary Search Tree](computer_science/data_structures/binary_search_tree)
- [ ] AVL Tree
- [ ] Red-Black Tree
- [ ] Segment Tree
- [ ] Fenwick Tree (Binary Indexed Tree)
- [x] [Graph](computer_science/data_structures/graph)
- Time & Space Complexity
- [ ] Space complexity for all algorithms / data structures
- [ ] Runtime complexity for all algorithms / data structures
- [ ] Make comparisons between algorithms and data structures

### Preparation

- [πŸŽ₯ 10 Common Coding Interview Problems](https://www.youtube.com/watch?v=Peq4GCPNC5c&ab_channel=freeCodeCamp.org)
- [πŸŽ₯ 8 Most Popular Microsoft Coding Interview Questions Solved Step by Step](https://www.youtube.com/watch?v=1P3xh7CGSU8&ab_channel=SCALER)
- [πŸŽ₯ Crack Your Dream Tech Interviews](https://www.youtube.com/watch?v=hm53n8tqbTo&ab_channel=Exaltitude)
- [πŸŽ₯ Data Structures and Algorithms in Java | Free course | Animations and Implementations](https://www.youtube.com/watch?v=6iCHf7OZn6c&list=PL6Zs6LgrJj3tDXv8a_elC6eT_4R5gfX4d&ab_channel=DineshVaryani)
- [πŸŽ₯ Google's Career Page - Interview Tips](https://www.youtube.com/watch?v=VXE1eBIulKg&ab_channel=JeffHSipe-PracticeInterviews)
- [πŸŽ₯ How to Crack The Coding Interview? | Important LeetCode Questions | Preparation Tips](https://www.youtube.com/watch?v=cM4o7_UY9vM&ab_channel=DineshVaryani)
- [πŸŽ₯ How To Study For Coding Interviews Efficiently](https://www.youtube.com/watch?v=2nVFdxJJdLw&ab_channel=ConnerArdman)
- [πŸŽ₯ Joining the Uber Eng Team - Coding Interview](https://www.youtube.com/watch?v=xxAnIoIxWGM)
- [πŸ“ 3-month plan for Cracking the Coding Interview](https://medium.com/interviewnoodle/3-month-plan-for-cracking-the-coding-interview-5534f0ad7595)
- [πŸ“ Algorithm Problem Solving](./problem-solving.md)
- [πŸ“ Algorithm Template](https://docs.google.com/document/d/1TKNUaBdgzEoPaD8LNexz9JlquRKc1ZSBnNJuZmhFp4Y/edit)
- [πŸ“ Amazon's Interview Guide](https://www.linkedin.com/posts/arslanahmad_systemdesign-sde-datastructures-activity-7074384240607428608-D9AH)
- [πŸ“ Before the interview](http://blog.gainlo.co/index.php/2017/02/18/chapter-1-get-interview-google-complete-guide-google-interview-preparation)
- [πŸ“ Blind Curated 75](https://leetcode.com/list/x84cr1pj)
- [πŸ“ Brian Bi considerations](https://qr.ae/TSJE9l)
- [πŸ“ Build a Solid Foundation – The Complete Guide to Google Interview Preparation](http://blog.gainlo.co/index.php/2017/02/24/chapter-2-build-solid-foundation-complete-guide-google-interview-preparation)
- [πŸ“ Build a Solid Foundation – The Complete Guide to Google Interview Preparation](http://blog.gainlo.co/index.php/2017/02/24/chapter-2-build-solid-foundation-complete-guide-google-interview-preparation)
- [πŸ“ Coding Interview Prep Guide](https://formation.dev/guide)
- [πŸ“ Crack The Coding Interview Spreadsheet - Leetcode](https://docs.google.com/spreadsheets/d/1pnI8HmSMPcfwrCCu7wYETCXaKDig4VucZDpcjVRuYrE/edit#gid=237636947)
- [πŸ“ Deliberate practice coding interviews](https://www.linkedin.com/feed/update/urn:li:activity:7102397119537303554)
- [πŸ“ Don’t Study 500 LeetCode Problems, Do This Instead](https://medium.com/@brianjenney/dont-study-500-leetcode-problems-do-this-instead-28181ebb1eb1)
- [πŸ“ Facebook Interview Guide](https://www.linkedin.com/posts/arslanahmad_fb-meta-sde-activity-6980448214105669632-5-9e)
- [πŸ“ From Zero to Hero in Problem Solving](https://1162429.medium.com/from-zero-to-hero-in-problem-solving-c616641b5639)
- [πŸ“ Get an Interview with Google – The Complete Guide to Google Interview Preparation](http://blog.gainlo.co/index.php/2017/02/18/chapter-1-get-interview-google-complete-guide-google-interview-preparation)
- [πŸ“ Google devtip: DS & Algorithms](https://techdevguide.withgoogle.com/paths/data-structures-and-algorithms)
- [πŸ“ Google devtip: Interview Prep](https://techdevguide.withgoogle.com/paths/interview)
- [πŸ“ Google devtip: Software Engineering Principles](https://techdevguide.withgoogle.com/paths/principles)
- [πŸ“ Google Interview Guide](https://www.linkedin.com/posts/arslanahmad_google-datastructures-algorithms-activity-7076187648985350144-fYbP)
- [πŸ“ Google Interview Preparation](http://blog.gainlo.co/index.php/category/google-interview-preparation)
- [πŸ“ How I build a habit to leetcode](https://medium.com/@chuayewwee/how-i-build-a-habit-to-leetcode-23b1fdb5e0d9)
- [πŸ“ How to Land a Front-end Software Engineer job at Big Tech Companies such as Google, Facebook, and Twitter](https://javascript.plainenglish.io/how-to-land-a-software-engineer-job-in-google-facebook-and-twitter-44e49906e87)
- [πŸ“ How to study Data Structures and Algorithms while working a full-time job?](https://medium.com/@pepcoding/how-to-study-data-structures-and-algorithms-while-working-a-full-time-job-8ac21c93da5e)
- [πŸ“ knock a technical interview](https://qr.ae/TSJEkK)
- [πŸ“ Meta's Career Page - Interview Prep](https://www.metacareers.com/profile/trial/?redirect=job_details&chooseView=Hello%20World)
- [πŸ“ Microsoft's Interview Guide](https://www.linkedin.com/posts/arslanahmad_microsoft-sde-datastructures-activity-7073219389096947712-ARqi)
- [πŸ“ Must Do Easy Questions](https://leetcode.com/list/xip8yt56)
- [πŸ“ Must Do Medium Questions](https://leetcode.com/list/xineettm)
- [πŸ“ Prep by elliotbot](https://old.reddit.com/r/cscareerquestions/comments/6278bi/my_journey_and_tips_29_gpa_at_a_noname_liberal)
- [πŸ“ Programming Interview Questions](http://www.ardendertat.com/2012/01/09/programming-interview-questions)
- [πŸ“ Recruiter's view](https://qr.ae/TSJE3x)
- [πŸ“ Software Engineer interview preparation](https://www.mauriciopoppe.com/notes/misc/software-engineer-interview-preparation)
- [πŸ“ System Design](./system-design.md)
- [πŸ“ Taejun's preparation](https://qr.ae/TSJEJv)
- [πŸ“ The ultimate guide to preparing for the coding interview](https://medium.com/free-code-camp/the-ultimate-guide-to-preparing-for-the-coding-interview-183251ee36c9)

### Interview

- [πŸŽ₯ Google Coding Interview](https://www.youtube.com/watch?v=rw4s4M3hFfs&ab_channel=Cl%C3%A9mentMihailescu)
- [πŸ“ A β€œstrong yes” technical interview.](https://medium.com/@paulanthonysalvatore/a-strong-yes-technical-interview-195fb851d836)
- [πŸ“ Green flags in a interview](https://qr.ae/TSJEQA)

### Platforms to learn

- [Cracking the Coding Interview](coding_interviews/cracking-the-coding-interview)
- [Binary Search](https://binarysearch.com)
- [InterviewBit algorithms course](https://www.interviewbit.com/courses/programming)
- [Leetcode Patterns](https://seanprashad.com/leetcode-patterns)
- [Scaler Topics](https://www.scaler.com/topics)
- [Structy](https://structy.net)
- [Leetcode](coding_interviews/leetcode)
- [algoexpert](coding_interviews/algoexpert)

### Competitive Programming

- [Codeforces](competitive-programming/codeforces)
- [Hacker Rank](competitive-programming/hacker-rank)
- [SPOJ BR](competitive-programming/spoj-br)
- [Timus](competitive-programming/timus)
- [UCoder](competitive-programming/ucoder)
- [URI Online Judge](competitive-programming/uri)
- [UVa Online Judge](competitive-programming/uva)

## Computer Science

### Computing

- [πŸŽ₯ Software as Computational Media](https://www.youtube.com/watch?v=I-aGF-47hqI&ab_channel=ACMSIGPLAN)
- [πŸŽ₯ Tools & Craft: Andy Matuschak - Software and Computing](https://www.youtube.com/watch?v=bcrcaTuvpBk&ab_channel=Notion)

### Theory

- [πŸŽ₯ A Unified Theory of Garbage Collection](https://www.youtube.com/watch?v=XtUtfARSIv8&ab_channel=PapersWeLove)
- [πŸ“ Computer Organization - Performance](https://www.csie.nuk.edu.tw/~kcf/course/95_Spring/Organization/Chapter4_Performance.pdf)
- [πŸ“ Computer Organization | Performance of Computer](https://www.geeksforgeeks.org/computer-organization-performance-of-computer)

### Courses

- [πŸŽ₯ Intro to Theoretical Computer Science](https://classroom.udacity.com/courses/cs313)
- [πŸŽ₯ MIT 6.042J Mathematics for Computer Science](https://www.youtube.com/playlist?list=PLUl4u3cNGP60UlabZBeeqOuoLuj_KNphQ)
- [πŸŽ₯ MIT 6.006 Introduction to Algorithms](https://www.youtube.com/playlist?list=PLUl4u3cNGP63EdVPNLG3ToM6LaEUuStEY)
- [πŸŽ₯ MIT 6.046J Design and Analysis of Algorithms](https://www.youtube.com/playlist?list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)

## License

[MIT](/LICENSE) Β© [TK](https://iamtk.co)