Best of Algorithms โ€” 2024

  1. 1
    Article
    Avatar of devtoDEVยท2y

    GitHub Repositories Every Software Engineer Should Know

    The post provides a curated list of GitHub repositories valuable for software engineers at any stage of their career. Categories include RoadMaps, Books, Blogs, and Websites, Algorithms, Design Patterns, System Design, Design Resources, Projects, Tutorials, and APIs. Each category offers specific repositories that serve as educational materials and practical resources to improve various aspects of software development skills.

  2. 2
    Article
    Avatar of substackSubstackยท2y

    How I Mastered Data Structures and Algorithms

    Mastering Data Structures and Algorithms (DSA) is crucial for clearing interviews at top tech companies like Amazon, Google, and Microsoft. The post provides efficient strategies for learning DSA, including focusing on key topics, learning one topic at a time, using real-world applications, implementing concepts from scratch, and practicing with problems. It also emphasizes the importance of solving problems over theoretical study, recognizing problem-solving patterns, and maintaining consistency and repetition to retain knowledge over time. Regular practice and revisiting challenging problems are key to success.

  3. 3
    Article
    Avatar of communityCommunity Picksยท2y

    1 Year of Consistent LeetCoding

    After attempting the Google Foobar challenge and going through several interview rounds with Google, the author didn't get the job but found inspiration to master data structures and algorithms. They committed to solving LeetCode problems daily, resulting in a 365+ day streak. Key learnings included efficient array manipulation, string handling, understanding hash tables, sorting algorithms, and greedy algorithms. Regular practice and tracking progress were vital in improving their skills.

  4. 4
    Article
    Avatar of javarevisitedJavarevisitedยท2y

    How to Prepare for Coding Interviews in 2024? (with Resources)

    In today's competitive job market, preparing for coding interviews requires a systematic approach. Key areas to focus on include Data Structures and Algorithms, High-Level Design (HLD), Low-Level Design (LLD), CS Fundamentals, and Behavioral questions. Utilize resources such as DesignGuru.io, notable books, video channels, and platforms like Leetcode, Codemia, and Pramp for comprehensive preparation. Mock interviews and company-specific preparation are also essential for success.

  5. 5
    Article
    Avatar of substackSubstackยท2y

    20 Patterns to Master Dynamic Programming

    Dynamic Programming (DP) is known as a challenging topic for coding interviews. Learning DP efficiently involves understanding various patterns that solve a wide range of problems. This guide covers 20 DP patterns, from easy to hard, offering insights into their uses and linking to LeetCode problems for practice. Patterns include Fibonacci Sequence, Kadane's Algorithm for maximum subarray problems, the 0/1 and Unbounded Knapsack problems, Longest Common Subsequence, and many others.

  6. 6
    Article
    Avatar of freecodecampfreeCodeCampยท2y

    Learn Data Structures and Algorithms in 48 Hours

    Master Data Structures and Algorithms in this comprehensive course that covers algorithm analysis, data structures, and core concepts. Learn problem-solving skills, optimize solutions, and prepare for technical interviews.

  7. 7
    Article
    Avatar of devtoDEVยท2y

    Learn Big O Notation once and for all

    This post provides a comprehensive explanation of Big O Notation, which is used to classify algorithms based on their time and space complexity as the input size grows. Examples for different time complexities like O(n), O(1), O(n^2), O(n*m), O(log n), O(n log n), O(2^n), and O(n!) are provided with detailed algorithms and coding snippets. The goal is to help readers understand and recall these concepts for coding interviews.

  8. 8
    Video
    Avatar of youtubeYouTubeยท1y

    How I Mastered Data Structures and Algorithms in 8 Weeks

    Learn how to master data structures and algorithms in just 8 weeks through a practical, hands-on approach. Avoid common pitfalls like over-reliance on textbooks and tutorials. Instead, practice solving problems and seek help only when necessary. Form or join a small study group for accountability, consistency, and competitive motivation. Use techniques like the five whys to deeply understand each concept and ensure you can apply your knowledge effectively in coding interviews.

  9. 9
    Article
    Avatar of bytebytegoByteByteGoยท2y

    EP132: Big O Notation 101: The Secret to Writing Efficient Algorithms

    Understanding Big O Notation is essential for building efficient algorithms, ranging from constant time operations (O(1)) to factorial complexities (O(n!)). Common forms include linear (O(n)), quadratic (O(n^2)), and logarithmic (O(log n)) notations, each with distinct performance implications. The post also covers key aspects of Domain-Driven Design and NoSQL database use cases.

  10. 10
    Article
    Avatar of communityCommunity Picksยท2y

    I Solved 300+ Leetcode problems here is what I learnt.

    A post describing the author's journey of solving 300+ Leetcode problems and the lessons they learned along the way.

  11. 11
    Video
    Avatar of youtubeYouTubeยท2y

    8 Data Structures Every Programmer Should Know

    Understanding fundamental data structures is crucial for optimizing code performance and problem-solving. This post covers eight essential data structures every programmer should know: arrays, linked lists, stacks, queues, hash tables, trees, heaps, and graphs. Each structure is explained with its definition, use cases, time complexities, and unique characteristics. It also emphasizes the importance of knowing which data structure to use in different programming scenarios.

  12. 12
    Article
    Avatar of communityCommunity Picksยท2y

    5 JavaSript GitHub Repositories for Interview Prep!๐Ÿ“

    A list of JavaScript GitHub repositories for interview preparation and improving core JavaScript fundamentals.

  13. 13
    Article
    Avatar of mlmMachine Learning Masteryยท2y

    10 Machine Learning Algorithms Explained Using Real-World Analogies

    The post explains 10 common machine learning algorithms using real-world analogies to make them easier to understand. It covers algorithms like Linear Regression, Logistic Regression, Decision Tree, Random Forest, Support Vector Machine, Naive Bayes, K-Nearest Neighbors, K-means, Principal Component Analysis, and Gradient Boosting, providing everyday examples to illustrate how each algorithm functions.

  14. 14
    Video
    Avatar of developedbyeddevelopedbyedยท1y

    Data Structures and Algorithms Crash Course

    This course introduces the fundamentals of data structures and algorithms with a focus on Big O notation, linear search, and binary search. It provides a step-by-step guide to implementing these algorithms in code and explains their time complexities. The course also touches on constant time operations and compares different approaches to searching arrays.

  15. 15
    Video
    Avatar of vscodeVisual Studio Codeยท2y

    Visualize data structures and algorithms

    Visualize data structures directly in VS Code using the Debug Visualizer extension. This tool allows you to run the Debug Visualizer New View command, evaluate expressions, and choose visualization methods. You can interact with visuals and observe changes in real-time, making it especially useful for learning data structures or understanding algorithms during debugging sessions.

  16. 16
    Article
    Avatar of freecodecampfreeCodeCampยท2y

    Top 10 JavaScript Algorithms for Coding Challenges

    Learn essential JavaScript algorithms for coding challenges including reversing strings and integers, determining palindromes, and identifying the most frequently occurring characters in a string.

  17. 17
    Video
    Avatar of youtubeYouTubeยท2y

    LeetCode was HARD until I Learned these 15 Patterns

    Understanding patterns is more critical than solving numerous problems to excel in competitive coding and coding interviews. This post covers 15 key patterns like prefix sum, two-pointers, sliding window, fast and slow pointers, and dynamic programming among others. These patterns not only make solving problems easier but are commonly tested by major companies like Amazon and Google. Each pattern is explained with examples and related practice problems.

  18. 18
    Article
    Avatar of javarevisitedJavarevisitedยท2y

    15 LeetCode problems to get better at Linked List

    This post provides a list of 15 LeetCode problems to help improve coding skills related to linked lists. It covers a range of topics and provides descriptions, hints, and solution links for each problem. It also offers tips for solving linked list problems and recommends additional coding interview resources.

  19. 19
    Article
    Avatar of communityCommunity Picksยท2y

    A Valve engineer used ChatGPT to find a new matchmaking algorithm for Deadlock, and now it's in the game

    A Valve engineer, Fletcher Dunn, successfully used ChatGPT to identify a new matchmaking algorithm for the game Deadlock. He highlights how generative AI tools like ChatGPT can act as powerful search engines, simplifying the search process even with vague descriptions. Dunn believes that although AI technology might face challenges, it currently offers significant time efficiency and innovative solutions in game development.

  20. 20
    Article
    Avatar of netguruNetguruยท2y

    14 Top Software Developer Skills for 2024: The Complete Guide

    Discover the top software developer skills for 2024, including mastering core programming languages, data structures and algorithms, version control systems, IDE proficiency, database management, SDLC knowledge, cloud computing competency, cybersecurity awareness, soft skills, machine learning and AI fundamentals, CI/CD practices, mobile development skills, DevOps practices, and emerging technologies.

  21. 21
    Article
    Avatar of watercoolerWatercoolerยท2y

    when i try to learn Data structure & algorithm

    Tips and resources for practicing data structures and algorithms.

  22. 22
    Article
    Avatar of substackSubstackยท2y

    Rate Limiting Algorithms Explained with Code

    Rate limiting is crucial for preventing your service from being overwhelmed by too many requests from single users or bots, which can degrade the experience for others. This post explains 5 common rate limiting algorithms: Token Bucket, Leaky Bucket, Fixed Window Counter, Sliding Window Log, and Sliding Window Counter. Each algorithm has its own set of pros and cons and is suited for different scenarios. Implementing these algorithms can help maintain a smooth and controlled flow of requests, ensuring stability and performance of your service.

  23. 23
    Article
    Avatar of communityCommunity Picksยท2y

    The Algorithms

    A group of programmers collaborate to document and model algorithms using code.

  24. 24
    Article
    Avatar of communityCommunity Picksยท2y

    TheAlgorithms/PHP: All Algorithms implemented in PHP

    The Algorithms - PHP is a library offering a set of algorithms and data structures implemented in PHP, designed to simplify their usage in development projects. Contributions are encouraged, and community support is available via Discord and Gitter.

  25. 25
    Article
    Avatar of communityCommunity Picksยท2y

    The Complete [2024] Guide to Data Structures and Algorithms

    Understanding Data Structures and Algorithms (DSA) is crucial for developers and students aiming to excel in software engineering and technical interviews. This guide covers fundamental and advanced DSA concepts, offering practical examples, a structured learning path, and resources for mastering these skills. Core topics include arrays, linked lists, stacks, queues, trees, graphs, and hash tables, along with essential sorting and searching algorithms. Real-world applications and interview preparation tips are also provided, making it a comprehensive resource for mastering DSA.