{"id":13605248,"url":"https://github.com/imteekay/algorithms","last_synced_at":"2025-09-19T05:32:56.223Z","repository":{"id":27860169,"uuid":"31350866","full_name":"imteekay/algorithms","owner":"imteekay","description":"✨ Algorithms \u0026 Data Structures \u0026 Computer Science studies","archived":false,"fork":false,"pushed_at":"2024-10-22T11:40:58.000Z","size":1730,"stargazers_count":516,"open_issues_count":0,"forks_count":78,"subscribers_count":30,"default_branch":"master","last_synced_at":"2025-01-05T18:46:13.187Z","etag":null,"topics":["algorithm","competitive-programming","computer-science","data-structures","javascript","python"],"latest_commit_sha":null,"homepage":"https://iamtk.co/tags/algorithms-and-data-structures","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/imteekay.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":"FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["imteekay"]}},"created_at":"2015-02-26T04:41:06.000Z","updated_at":"2024-12-25T04:50:50.000Z","dependencies_parsed_at":"2024-01-29T13:43:41.282Z","dependency_job_id":"db32a9e3-599e-418f-a575-f38a31f4eda4","html_url":"https://github.com/imteekay/algorithms","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imteekay%2Falgorithms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imteekay%2Falgorithms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imteekay%2Falgorithms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/imteekay%2Falgorithms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/imteekay","download_url":"https://codeload.github.com/imteekay/algorithms/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233553762,"owners_count":18693317,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithm","competitive-programming","computer-science","data-structures","javascript","python"],"created_at":"2024-08-01T19:00:56.448Z","updated_at":"2025-09-19T05:32:56.211Z","avatar_url":"https://github.com/imteekay.png","language":"C++","readme":"\u003csamp\u003e\n\n# Algorithms \u0026 Data Structures\n\n## Introduction\n\n- [🎥 Algorithms and Data Structures Tutorial](https://www.youtube.com/watch?v=8hly31xKli0\u0026ab_channel=freeCodeCamp.org)\n- [🎥 Data Structures and Algorithms in JavaScript](https://www.youtube.com/playlist?list=PLWKjhJtqVAbkso-IbgiiP48n-O-JQA9PJ)\n- [🎥 Introduction to Algorithms](https://www.youtube.com/playlist?list=PLUl4u3cNGP63EdVPNLG3ToM6LaEUuStEY)\n- [🎥 Python Algorithms for Interviews](https://www.youtube.com/watch?v=p65AHm9MX80)\n- [📝 Introduction of Data Structure and algorithm](https://www.scaler.com/topics/data-structures)\n- [📝 Top 10 algorithms in interview questions](https://www.geeksforgeeks.org/top-10-algorithms-in-interview-questions)\n- [📝 Useful links about algorithms](https://leetcode.com/discuss/general-discussion/665604/important-and-useful-links-from-all-over-the-Leetcode)\n- [Leetcode lists](https://docs.google.com/document/d/1lHB0yI7UDcllyCQYqxCHLmFM1F4THDCfrj7_3zC6sDE/edit?tab=t.0)\n\n## Big-O notation and design\n\n- [🎥 Big O Notation w/ Gayle](https://www.youtube.com/watch?v=v4cd1O4zkGw\u0026ab_channel=HackerRank)\n- [🎥 Design and Analysis of Algorithms — MIT](https://www.youtube.com/playlist?list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)\n- [💻 Big O](computer_science/big_o)\n- [📝 Know your complexities: Big-O cheat sheet](https://www.bigocheatsheet.com)\n- [📝 Big O in DS](./big-o.md)\n- [📝 Computational complexity part one](https://www.topcoder.com/thrive/articles/Computational%20Complexity%20part%20one)\n- [📝 Computational complexity part two](https://www.topcoder.com/thrive/articles/Computational%20Complexity%20part%20two)\n\n## Data Structures\n\n- [🎥 Data Structures Easy to Advanced Course - Full Tutorial from a Google Engineer](https://www.youtube.com/watch?v=RBSGKlAvoiM)\n- [💻 Data Structures and Algorithms cheat sheet](https://github.com/TSiege/Tech-Interview-Cheat-Sheet)\n- [📝 What is Data Structure?](https://www.scaler.com/topics/data-structures/what-is-data-structure)\n\n### Stack\n\n- [📝 Stack Data Structure in JavaScript](https://www.iamtk.co/series/data-structures-in-javascript/stack-data-structure)\n- [📝 Stack Data Structure Practice Problems](https://medium.com/techie-delight/stack-data-structure-practice-problems-and-interview-questions-9f08a35a7f19)\n- [📝 Stack Data Structure](https://www.iamtk.co/series/data-structures/stack-data-structure)\n\n### Queues\n\n- [📝 Queue Data Structure in JavaScript](https://www.iamtk.co/series/data-structures-in-javascript/queue-data-structure)\n- [📝 Queue Data Structure](https://www.iamtk.co/series/data-structures/queue-data-structure)\n- [📝 Queue Data Structure](https://www.scaler.com/topics/data-structures/queue-in-data-structure)\n\n### Linked Lists\n\n- [🎥 Linked Lists for Technical Interviews](https://www.youtube.com/watch?v=Hj_rA0dhr2I\u0026ab_channel=freeCodeCamp.org)\n- [📝 Linked Lists Data Structure in JavaScript](https://www.iamtk.co/series/data-structures-in-javascript/linked-list-data-structure)\n- [📝 Linked Lists Data Structure](https://www.iamtk.co/series/data-structures/linked-list-data-structure)\n- [📝 Linked Lists Data Structure](https://www.scaler.com/topics/linked-list)\n\n### Trees\n\n- [🎥 Binary Tree Algorithms for Technical Interviews](https://www.youtube.com/watch?v=fAAZixBzIAI\u0026ab_channel=freeCodeCamp.org)\n- [📝 Tree Data Structure](https://www.iamtk.co/series/data-structures/tree-data-structure)\n- [📝 Tree Data Structure](https://www.scaler.com/topics/data-structures/tree-data-structure)\n\n### Graphs\n\n- [🎥 Breadth First Search \u0026 Depth First Search](https://www.youtube.com/watch?v=pcKY4hjDrxk\u0026ab_channel=AbdulBari)\n- [🎥 Graph Algorithms for Technical Interviews](https://www.youtube.com/watch?v=tWVWeAqZ0WU\u0026ab_channel=freeCodeCamp.org)\n- [🎥 Graph data structure — Part 1](https://www.youtube.com/watch?v=JDP1OVgoa0Q\u0026ab_channel=JunminLee)\n- [🎥 Graph data structure — Part 2](https://www.youtube.com/watch?v=bSZ57h7GN2w\u0026ab_channel=JunminLee)\n- [🎥 Graph Search Algorithms in 100 Seconds](https://www.youtube.com/watch?v=cWNEl4HE2OE\u0026ab_channel=Fireship)\n- [📝 Depth First Search](https://www.hackerearth.com/practice/algorithms/graphs/depth-first-search/tutorial)\n- [📝 Graph in Data Structure](https://www.scaler.com/topics/data-structures/graph-in-data-structure)\n\n## Algorithms\n\n- [🎥 Problem Patterns](https://designgurus.org/course/grokking-the-coding-interview)\n- [🎥 Programação Dinamica](https://www.youtube.com/watch?v=qp9UOJ0XUlg\u0026ab_channel=GubnunBR)\n- [📝 3 Tricks To Master Linked List Problems](https://medium.com/interviewnoodle/leetcode-3-tricks-to-master-linked-list-problems-8647a74a5f1c)\n- [📝 3 Tricks To Master String Problems](https://medium.com/interviewnoodle/leetcode-3-tricks-to-master-string-problems-bf10079df639)\n- [📝 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)\n- [📝 Coding Patterns - Backtracking](https://iorilan.medium.com/after-solved-1000-medium-leetcode-found-thes-patterns-backtracking-b683aa8bd8ac)\n- [📝 Coding Patterns - BFS](https://iorilan.medium.com/after-finished-1000-leetcode-medium-level-i-found-some-patterns-bfs-63783cbd2c70)\n- [📝 Coding Patterns - DFS](https://iorilan.medium.com/after-finished-1000-leetcode-medium-level-i-found-some-patterns-dfs-77e584425474)\n- [📝 Coding Patterns - Dynamic Programming](https://iorilan.medium.com/after-solved-1000-leetcode-medium-level-i-found-these-patterns-dynamic-programming-205226223f4e)\n- [📝 Coding Patterns - Mono-Stack](https://iorilan.medium.com/after-solved-1000-medium-leetcode-found-thes-patterns-mono-stack-40ce6067abfe)\n- [📝 Coding Patterns - Presum, Greedy, intervals](https://iorilan.medium.com/after-solved-1000-medium-leetcode-found-these-patterns-presum-greedy-intervals-511d899bcee3)\n- [📝 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)\n- [📝 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)\n- [📝 Coding Patterns — Binary Search, Trie, Heap](https://medium.com/@iorilan/after-solved-1000-medium-leetcode-found-these-patterns-binary-search-trie-heap-8dc5c82e9e94)\n- [📝 Find Kth Largest/Smallest Element Without Sorting](https://medium.com/interviewnoodle/leetcode-find-kth-largest-smallest-element-without-sorting-77b92c75c890)\n- [📝 Grokking LeetCode: A Smarter Way to Prepare for Coding Interviews](https://interviewnoodle.com/grokking-leetcode-a-smarter-way-to-prepare-for-coding-interviews-e86d5c9fe4e1)\n- [📝 Let's implement a Bloom Filter](https://onatm.dev/2020/08/10/let-s-implement-a-bloom-filter)\n- [📝 Master 2D matrix/maze traversal](https://medium.com/interviewnoodle/leetcode-master-2d-matrix-maze-traversal-ec9f2e0bc300)\n- [📝 Recursive descent parsing](https://austinhenley.com/blog/teenytinycompiler2.html)\n\n## Coding Interviews\n\nBuild the the foundation by learning the fundamental algorithms and data structures:\n\n- Fundamental Algorithms\n  - [ ] Sorting\n    - [ ] Merge Sort\n    - [ ] Quick Sort\n    - [ ] Bucket Sort\n    - [ ] Heap Sort\n    - [ ] Counting Sort\n  - [x] Searching\n    - [x] [Binary Search](computer_science/algorithms/binary-search/binary-search.js)\n    - [x] [Tree Depth First Search](computer_science/data_structures/binary_search_tree)\n    - [x] [Tree Breadth First Search](computer_science/data_structures/binary_search_tree)\n    - [ ] Graph Depth First Search\n    - [ ] Graph Breadth First Search\n  - [ ] Dynamic Programming\n  - [x] [String / Array: reverse](computer_science/algorithms/reverse-string/reverse-string.js)\n  - [x] [Linked list: insertion, deletion](computer_science/data_structures/linked_list)\n- Fundamental Data Structures\n  - [x] [Stack](computer_science/data_structures/stack)\n  - [x] [Queue](computer_science/data_structures/queue)\n  - [x] [Linked List](computer_science/data_structures/linked_list)\n  - [x] [Hash Map](computer_science/data_structures/hash_table)\n  - [ ] Heap\n  - [ ] Priority Queue\n  - [ ] Tree\n    - [x] [Binary Search Tree](computer_science/data_structures/binary_search_tree)\n    - [ ] AVL Tree\n    - [ ] Red-Black Tree\n    - [ ] Segment Tree\n    - [ ] Fenwick Tree (Binary Indexed Tree)\n  - [x] [Graph](computer_science/data_structures/graph)\n- Time \u0026 Space Complexity\n  - [ ] Space complexity for all algorithms / data structures\n  - [ ] Runtime complexity for all algorithms / data structures\n  - [ ] Make comparisons between algorithms and data structures\n\n### Preparation\n\n- [🎥 10 Common Coding Interview Problems](https://www.youtube.com/watch?v=Peq4GCPNC5c\u0026ab_channel=freeCodeCamp.org)\n- [🎥 8 Most Popular Microsoft Coding Interview Questions Solved Step by Step](https://www.youtube.com/watch?v=1P3xh7CGSU8\u0026ab_channel=SCALER)\n- [🎥 Crack Your Dream Tech Interviews](https://www.youtube.com/watch?v=hm53n8tqbTo\u0026ab_channel=Exaltitude)\n- [🎥 Data Structures and Algorithms in Java | Free course | Animations and Implementations](https://www.youtube.com/watch?v=6iCHf7OZn6c\u0026list=PL6Zs6LgrJj3tDXv8a_elC6eT_4R5gfX4d\u0026ab_channel=DineshVaryani)\n- [🎥 Google's Career Page - Interview Tips](https://www.youtube.com/watch?v=VXE1eBIulKg\u0026ab_channel=JeffHSipe-PracticeInterviews)\n- [🎥 How to Crack The Coding Interview? | Important LeetCode Questions | Preparation Tips](https://www.youtube.com/watch?v=cM4o7_UY9vM\u0026ab_channel=DineshVaryani)\n- [🎥 How To Study For Coding Interviews Efficiently](https://www.youtube.com/watch?v=2nVFdxJJdLw\u0026ab_channel=ConnerArdman)\n- [🎥 Joining the Uber Eng Team - Coding Interview](https://www.youtube.com/watch?v=xxAnIoIxWGM)\n- [📝 3-month plan for Cracking the Coding Interview](https://medium.com/interviewnoodle/3-month-plan-for-cracking-the-coding-interview-5534f0ad7595)\n- [📝 Algorithm Problem Solving](./problem-solving.md)\n- [📝 Algorithm Template](https://docs.google.com/document/d/1TKNUaBdgzEoPaD8LNexz9JlquRKc1ZSBnNJuZmhFp4Y/edit)\n- [📝 Amazon's Interview Guide](https://www.linkedin.com/posts/arslanahmad_systemdesign-sde-datastructures-activity-7074384240607428608-D9AH)\n- [📝 Before the interview](http://blog.gainlo.co/index.php/2017/02/18/chapter-1-get-interview-google-complete-guide-google-interview-preparation)\n- [📝 Blind Curated 75](https://leetcode.com/list/x84cr1pj)\n- [📝 Brian Bi considerations](https://qr.ae/TSJE9l)\n- [📝 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)\n- [📝 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)\n- [📝 Coding Interview Prep Guide](https://formation.dev/guide)\n- [📝 Crack The Coding Interview Spreadsheet - Leetcode](https://docs.google.com/spreadsheets/d/1pnI8HmSMPcfwrCCu7wYETCXaKDig4VucZDpcjVRuYrE/edit#gid=237636947)\n- [📝 Deliberate practice coding interviews](https://www.linkedin.com/feed/update/urn:li:activity:7102397119537303554)\n- [📝 Don’t Study 500 LeetCode Problems, Do This Instead](https://medium.com/@brianjenney/dont-study-500-leetcode-problems-do-this-instead-28181ebb1eb1)\n- [📝 Facebook Interview Guide](https://www.linkedin.com/posts/arslanahmad_fb-meta-sde-activity-6980448214105669632-5-9e)\n- [📝 From Zero to Hero in Problem Solving](https://1162429.medium.com/from-zero-to-hero-in-problem-solving-c616641b5639)\n- [📝 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)\n- [📝 Google devtip: DS \u0026 Algorithms](https://techdevguide.withgoogle.com/paths/data-structures-and-algorithms)\n- [📝 Google devtip: Interview Prep](https://techdevguide.withgoogle.com/paths/interview)\n- [📝 Google devtip: Software Engineering Principles](https://techdevguide.withgoogle.com/paths/principles)\n- [📝 Google Interview Guide](https://www.linkedin.com/posts/arslanahmad_google-datastructures-algorithms-activity-7076187648985350144-fYbP)\n- [📝 Google Interview Preparation](http://blog.gainlo.co/index.php/category/google-interview-preparation)\n- [📝 How I build a habit to leetcode](https://medium.com/@chuayewwee/how-i-build-a-habit-to-leetcode-23b1fdb5e0d9)\n- [📝 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)\n- [📝 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)\n- [📝 knock a technical interview](https://qr.ae/TSJEkK)\n- [📝 Meta's Career Page - Interview Prep](https://www.metacareers.com/profile/trial/?redirect=job_details\u0026chooseView=Hello%20World)\n- [📝 Microsoft's Interview Guide](https://www.linkedin.com/posts/arslanahmad_microsoft-sde-datastructures-activity-7073219389096947712-ARqi)\n- [📝 Must Do Easy Questions](https://leetcode.com/list/xip8yt56)\n- [📝 Must Do Medium Questions](https://leetcode.com/list/xineettm)\n- [📝 Prep by elliotbot](https://old.reddit.com/r/cscareerquestions/comments/6278bi/my_journey_and_tips_29_gpa_at_a_noname_liberal)\n- [📝 Programming Interview Questions](http://www.ardendertat.com/2012/01/09/programming-interview-questions)\n- [📝 Recruiter's view](https://qr.ae/TSJE3x)\n- [📝 Software Engineer interview preparation](https://www.mauriciopoppe.com/notes/misc/software-engineer-interview-preparation)\n- [📝 System Design](./system-design.md)\n- [📝 Taejun's preparation](https://qr.ae/TSJEJv)\n- [📝 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)\n\n### Interview\n\n- [🎥 Google Coding Interview](https://www.youtube.com/watch?v=rw4s4M3hFfs\u0026ab_channel=Cl%C3%A9mentMihailescu)\n- [📝 A “strong yes” technical interview.](https://medium.com/@paulanthonysalvatore/a-strong-yes-technical-interview-195fb851d836)\n- [📝 Green flags in a interview](https://qr.ae/TSJEQA)\n\n### Platforms to learn\n\n- [Cracking the Coding Interview](coding_interviews/cracking-the-coding-interview)\n- [Binary Search](https://binarysearch.com)\n- [InterviewBit algorithms course](https://www.interviewbit.com/courses/programming)\n- [Leetcode Patterns](https://seanprashad.com/leetcode-patterns)\n- [Scaler Topics](https://www.scaler.com/topics)\n- [Structy](https://structy.net)\n- [Leetcode](coding_interviews/leetcode)\n- [algoexpert](coding_interviews/algoexpert)\n- [LabEx Interview Questions](https://labex.io/interview-questions)\n\n### Competitive Programming\n\n- [Codeforces](competitive-programming/codeforces)\n- [Hacker Rank](competitive-programming/hacker-rank)\n- [SPOJ BR](competitive-programming/spoj-br)\n- [Timus](competitive-programming/timus)\n- [UCoder](competitive-programming/ucoder)\n- [URI Online Judge](competitive-programming/uri)\n- [UVa Online Judge](competitive-programming/uva)\n\n## Computer Science\n\n### Computing\n\n- [🎥 Software as Computational Media](https://www.youtube.com/watch?v=I-aGF-47hqI\u0026ab_channel=ACMSIGPLAN)\n- [🎥 Tools \u0026 Craft: Andy Matuschak - Software and Computing](https://www.youtube.com/watch?v=bcrcaTuvpBk\u0026ab_channel=Notion)\n\n### Theory\n\n- [🎥 A Uniﬁed Theory of Garbage Collection](https://www.youtube.com/watch?v=XtUtfARSIv8\u0026ab_channel=PapersWeLove)\n- [📝 Computer Organization - Performance](https://www.csie.nuk.edu.tw/~kcf/course/95_Spring/Organization/Chapter4_Performance.pdf)\n- [📝 Computer Organization | Performance of Computer](https://www.geeksforgeeks.org/computer-organization-performance-of-computer)\n\n### Courses\n\n- [🎥 Intro to Theoretical Computer Science](https://classroom.udacity.com/courses/cs313)\n- [🎥 MIT 6.042J Mathematics for Computer Science](https://www.youtube.com/playlist?list=PLUl4u3cNGP60UlabZBeeqOuoLuj_KNphQ)\n- [🎥 MIT 6.006 Introduction to Algorithms](https://www.youtube.com/playlist?list=PLUl4u3cNGP63EdVPNLG3ToM6LaEUuStEY)\n- [🎥 MIT 6.046J Design and Analysis of Algorithms](https://www.youtube.com/playlist?list=PLUl4u3cNGP6317WaSNfmCvGym2ucw3oGp)\n\n## License\n\n[MIT](/LICENSE) © [TK](https://iamtk.co)\n\n\u003c/samp\u003e\n","funding_links":["https://github.com/sponsors/imteekay"],"categories":["C++","Uncategorized"],"sub_categories":["Uncategorized"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimteekay%2Falgorithms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fimteekay%2Falgorithms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fimteekay%2Falgorithms/lists"}