Best of Algorithms2025

  1. 1
    Article
    Avatar of bytebytegoByteByteGo·1y

    EP144: The 9 Algorithms That Dominate Our World

    Explore the 9 algorithms that dominate our world, understand the role of an API gateway in system design, learn how gRPC works, and compare Docker with Kubernetes for managing containerized applications. Also, review various API architecture styles and get insights into CI/CD pipeline and different app architecture patterns.

  2. 2
    Video
    Avatar of youtubeYouTube·1y

    I was bad at Data Structures and Algorithms. Then I did this.

    Andrew shares a detailed roadmap on how he learned data structures and algorithms from scratch. Despite not having a computer science degree, he self-taught these concepts using free online resources and various courses, and now works as a software engineer. He emphasizes the importance of Big O notation, recommends resources like YouTube tutorials and certain books, and advises on practical coding practice with platforms like CodeWars and LeetCode. He also suggests using ChatGPT for additional help and maintaining a fun and consistent learning approach.

  3. 3
    Video
    Avatar of thecodingslothThe Coding Sloth·48w

    16 Cool GitHub Repos You WILL Use (no pressure)

    A curated list of 16 useful GitHub repositories covering various programming topics including algorithm implementations, free programming books, project tutorials, system design resources, and open source alternatives. The repositories range from beginner-friendly learning materials like roadmaps and free books to more advanced topics like building programming languages and machine learning from scratch. Notable mentions include awesome lists for technology resources, algorithms repository with implementations in multiple languages, and practical tools like free developer services and public APIs.

  4. 4
    Video
    Avatar of youtubeYouTube·1y

    How to Start LeetCode from ZERO in 2025

    LeetCode remains essential for coding interviews at major tech companies like Amazon, Google, and Microsoft. To start effectively, focus on understanding basic data structures and algorithms, and practice solving problems consistently. Start with easy problems and gradually tackle medium-level ones. Utilize available resources, avoid rushing through problems, and learn from each solution. Consistent practice and revisiting old problems help retain knowledge and improve problem-solving skills.

  5. 5
    Article
    Avatar of communityCommunity Picks·1y

    Computer Science for Frontend Developers

    Discusses the importance of computer science fundamentals for frontend developers, debating whether knowledge of data structures and algorithms is necessary. Provides a nuanced perspective, suggesting developers understand basic concepts to optimize performance when needed, especially with graphics or animations. The post also includes a simple roadmap for learning key concepts and recommends resources for further education.

  6. 6
    Article
    Avatar of francofernandoThe Polymathic Engineer·1y

    How (not to) fail a coding interview

    Coding interviews require specific preparation and are different from daily work. Common mistakes include not fully understanding the problem, not asking questions, not planning before coding, not thinking out loud, ignoring hints, not testing solutions, and not knowing Big O notation. Avoiding these can improve your performance. Project-based learning is recommended for skill development.

  7. 7
    Article
    Avatar of freecodecampfreeCodeCamp·51w

    LeetCode Meditations: A Visualized Tour of DSA Concepts (A Handbook)

    A comprehensive handbook covering fundamental data structures and algorithms concepts through visual explanations and code examples. Topics include arrays, hash tables, two pointers technique, sliding window, stacks, binary search, linked lists, trees, heaps, and backtracking. Each concept is explained with practical implementations in JavaScript, TypeScript, and Python, along with time and space complexity analysis. The guide emphasizes understanding core principles rather than memorizing specific problem solutions.

  8. 8
    Article
    Avatar of dr92d50hhGeorge·28w

    Don't forget about the Advent of Code this year neither

    Advent of Code is an annual December event featuring daily programming puzzles that help developers practice problem-solving skills and algorithmic thinking. Each day from December 1st to 25th presents a new coding challenge that can be solved in any programming language, making it a popular way for developers to sharpen their skills during the holiday season.

  9. 9
    Article
    Avatar of javarevisitedJavarevisited·1y

    8 Best Data Structures and Algorithms Books for Software Engineers and Developers

    Data structures and algorithms are fundamental to solving programming problems, and mastering them is crucial for any programmer. This post lists eight top-rated books that provide comprehensive, practical, and engaging methods to learn these crucial concepts. The books include illustrated guides, detailed examples, interview preparation material, and are paired with relevant online courses to enhance the learning experience for both beginners and experienced programmers.

  10. 10
    Article
    Avatar of kirupaKirupa·1y

    Bloom Filter: A Deep Dive

    A Bloom filter is a probabilistic data structure used to efficiently test whether an item exists in a dataset. Unlike hash tables that can be both time and memory intensive, Bloom filters use a bit array and multiple hash functions to store 'fingerprints' of data, ensuring fast and memory-efficient operations. However, they are not without a tradeoff; they can tell with certainty if an item does not exist but can only give a probable answer if the item is present, potentially leading to false positives. Bloom filters are valuable in applications requiring quick lookups, where memory efficiency is a priority.

  11. 11
    Article
    Avatar of bytebytegoByteByteGo·42w

    EP174: 16 Coding Patterns That Make Interviews Easy

    A comprehensive guide covering 16 essential coding patterns for technical interviews, including two-pointer technique, sliding window, dynamic programming, and graph algorithms. Also provides a structured learning path for mastering databases, explains how HTTPS works with encryption protocols, and traces Netflix's scaling evolution from monolith to microservices architecture.

  12. 12
    Article
    Avatar of javarevisitedJavarevisited·1y

    Master Coding Interview Preparation in 2025 with These 15 Patterns

    Preparing for coding interviews in 2025 is made easier by mastering 15 key coding patterns. These patterns streamline the problem-solving process, helping you tackle various interview challenges efficiently. They include techniques like Two Pointers, Sliding Window, and Dynamic Programming. Rather than spending time on countless LeetCode problems, focusing on these patterns can optimize your preparation and increase your chances of success.

  13. 13
    Article
    Avatar of collectionsCollections·1y

    Essential Guide to Mastering Data Structures and Algorithms in 2025: Top Resources and Roadmap

    Mastering data structures and algorithms (DSA) is essential for excelling in technical interviews and solving complex coding problems. This guide outlines a comprehensive roadmap, including learning phases from programming basics to core data structures and algorithms. It also recommends top resources such as books, online courses, and practice platforms to help developers systematically build their DSA knowledge and skills.

  14. 14
    Article
    Avatar of freecodecampfreeCodeCamp·49w

    How to Work with Queues in TypeScript

    A comprehensive guide to implementing different types of queues in TypeScript using circular doubly linked lists. Covers simple queues, circular queues, double-ended queues (deque), and priority queues with complete code implementations. Explains FIFO principles, queue operations like enqueue/dequeue, and provides practical examples with test cases. Also discusses when to use queues versus other data structures and potential pitfalls in production systems.

  15. 15
    Article
    Avatar of francofernandoThe Polymathic Engineer·1y

    Advent Of Code

    Participating in Advent Of Code challenges can significantly improve problem-solving skills and coding efficiency. The event offers unique programming puzzles that get more challenging over time. Key strategies include creating a starting template, using example data to guide solutions, and breaking down complex problems. Understanding essential algorithms and data structures, especially those related to graphs, is crucial. Taking breaks and creating additional test cases can help when stuck. Overall, engaging in these challenges fosters community interaction and continuous learning.

  16. 16
    Article
    Avatar of freecodecampfreeCodeCamp·31w

    Master Technical Interviews by Learning Data Structures and Algorithms

    A comprehensive 49-hour course covering data structures and algorithms for technical interview preparation. The course teaches fundamental concepts including time and space complexity analysis with Big O notation, and covers major data structures (arrays, linked lists, stacks, queues, trees, graphs) and algorithm patterns (sliding window, two pointers, dynamic programming, backtracking, greedy algorithms). Created by Parth Vyas and available on freeCodeCamp's YouTube channel.

  17. 17
    Article
    Avatar of collectionsCollections·44w

    Mastering Data Structures and Algorithms for Coding Interviews

    A comprehensive guide covering essential data structures and algorithms needed for coding interview success. Key topics include arrays, hashmaps, linked lists, binary search, graph traversal algorithms, and dynamic programming. The guide emphasizes pattern recognition over random problem solving, recommending a structured approach of mastering 100-150 problems across common coding patterns like sliding window and two pointers.

  18. 18
    Article
    Avatar of francofernandoThe Polymathic Engineer·45w

    How to Tackle Coding Interviews

    A structured 7-step framework for succeeding in coding interviews: listen carefully to understand the problem, create meaningful examples, start with brute force solutions, optimize using BUD methodology (bottlenecks, unnecessary work, duplicated work), walk through the algorithm before coding, write clean modular code with descriptive variables, and thoroughly test the solution. The approach emphasizes communication, systematic problem-solving, and demonstrating debugging skills when issues arise.

  19. 19
    Article
    Avatar of communityCommunity Picks·1y

    The Ultimate Strategy to Solve Any Coding Problem

    This comprehensive guide provides a step-by-step strategy for effectively solving any coding problem. Key steps include understanding the problem thoroughly, breaking it down into inputs, outputs, and requirements, designing an approach with both brute force and optimization techniques, writing a plan before coding, implementing a clean and modular solution, testing with diverse cases, and continuously optimizing and practicing problem-solving skills.

  20. 20
    Article
    Avatar of minersThe Miners·42w

    How To Solve Every Programming Problem

    A systematic approach to solving programming problems using a four-step methodology: understand the problem, devise a plan, carry out the plan, and look back. The article demonstrates this process through a practical example of implementing parking reservation validation with capacity limits, showing how to break down complex problems into manageable steps and validate each solution component.

  21. 21
    Article
    Avatar of hnHacker News·49w

    Art of Problem Solving

    A comprehensive collection of visual mathematical proofs demonstrating various theorems and identities through geometric diagrams and illustrations. Covers summations (including odd numbers, triangular numbers, and Fibonacci sequences), geometric series, fundamental geometry theorems like the Pythagorean theorem, and advanced concepts like Fermat's Little Theorem. Each proof uses visual arrangements and geometric transformations to make abstract mathematical concepts more intuitive and accessible.

  22. 22
    Video
    Avatar of fireshipFireship·1y

    5 weird (but useful) data structures in computer science

    The post explores five unusual but useful data structures that go beyond the basic ones commonly known in computer science: B trees, radix trees, ropes, Bloom filters, and cuckoo hashing. Each data structure offers unique advantages in handling specific problems, such as reducing search complexity, efficiently managing large strings, and resolving hash table collisions. Additionally, a new VS Code extension by Code Rabbit is introduced, enhancing code review processes.

  23. 23
    Article
    Avatar of dailydoseofdsDaily Dose of Data Science | Avi Chawla | Substack·1y

    Time Complexity of 10 ML Algorithms

    Understanding the run-time complexity of machine learning algorithms is essential for efficient model implementation. Popular algorithms like SVM and t-SNE have limitations with large datasets due to their cubic and quadratic time complexities, respectively. Accurate knowledge of these complexities helps in selecting the right algorithm and optimizing performance.

  24. 24
    Article
    Avatar of sitepointSitePoint·1y

    Learn Data Structures and Algorithms: Complete Tutorial

    Data Structures and Algorithms (DSA) are essential for efficient programming and form the backbone of modern computer science. Mastering both linear and non-linear data structures enables developers to handle diverse scenarios effectively. Techniques such as divide-and-conquer, dynamic programming, and greedy algorithms are crucial for solving complex problems efficiently. Understanding DSA is vital for building scalable applications and excelling in technical interviews. The post also discusses the latest trends like quantum algorithms, AI-driven data structures, and blockchain optimizations.

  25. 25
    Video
    Avatar of developedbyeddevelopedbyed·44w

    Leetcode is not scary, it's actually really fun

    LeetCode problems are actually enjoyable brain training exercises rather than scary interview hurdles. The key is approaching them as puzzles that build problem decomposition skills applicable to real-world programming. Starting with structured roadmaps like arrays and hashing, then gradually building intuition through practice makes the experience rewarding. Three classic problems demonstrate different approaches: two-sum shows optimization from O(n²) to O(n) using hash maps, contains duplicate leverages sets for efficient lookups, and valid anagram can be solved through character counting or string sorting techniques.