Best of AlgorithmsDecember 2024

  1. 1
    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.

  2. 2
    Article
    Avatar of bytebytegoByteByteGo·1y

    EP143: DNS Record Types You Should Know

    This post covers essential DNS record types such as A, CNAME, AAAA, PTR, MX, NS, SRV, and TXT records. It further explains the concepts of polling vs. webhooks, differentiates API from SDK, discusses Netflix's use of Java in their microservices architecture, and provides a guide on Big O notation for writing efficient algorithms. A comprehensive Kubernetes command cheatsheet is also featured.

  3. 3
    Article
    Avatar of towardsdevTowards Dev·1y

    Greedy Algorithm With Examples

    Greedy algorithms aim for rapid solutions by selecting the most promising option at each step, prioritizing immediate gain over long-term optimization. These algorithms are efficient and straightforward but may not always yield the optimal solution. Illustrated through examples such as the Activity Selection Problem and the Container With Most Water, greedy algorithms can solve optimization problems but also have limitations in ensuring the best solution.

  4. 4
    Article
    Avatar of taroTaro·1y

    Insights from an ex-Googler who has taught 1000s of Engineers about DSA interviews

    Alvin Zablan, an ex-Google engineer, emphasizes the importance of a well-structured learning roadmap for mastering data structures and algorithms (DSA). He suggests focusing deeply on core concepts like DFS, BFS, dynamic programming, recursive backtracking, and the two-pointer technique. The 80/20 rule is highlighted for effective learning, advocating thorough understanding over superficial practice. Zablan advises learning before practicing and practicing mindfully to truly grasp DSA skills.

  5. 5
    Video
    Avatar of primeagenThePrimeTime·1y

    The Every UUID Website Explained

    A developer describes their project to list every UUID, focusing on the challenges faced and solutions implemented. Key issues included handling vast amounts of data, maintaining scroll performance, generating and validating UUIDs, and creating an effective search function. To meet these challenges, they used JavaScript for smooth scrolling and bit twiddling techniques for UUID generation and validation, also applying Feistel ciphers to scramble UUIDs. The project aimed to present random but ordered UUIDs while overcoming browser limitations like maximum scroll height.

  6. 6
    Article
    Avatar of code_with_jsJavascript·1y

    Simple Way To Understand Problem Solving in Computer

    Before attempting to solve a problem using a computer, it's crucial to fully understand the problem by reading the statement multiple times. Follow these steps: read the problem carefully, grasp what it entails, and write down steps to solve it. Simplify the problem statement by removing irrelevant details. This method helps in creating logical steps, known as algorithms, to reach the solution effectively.

  7. 7
    Video
    Avatar of youtubeYouTube·1y

    Math for Programming

    Understanding basic math concepts such as time complexity is crucial for cracking coding interviews. This post explains the time complexity of nested loops and clarifies common misconceptions about calculating it. The example used discusses various potential time complexities and concludes that when the outer loop runs n times and the inner loop runs log n times, the total time complexity is O(n log n).

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

    Breathing KMeans vs KMeans

    Breathing KMeans improves the standard KMeans clustering algorithm by adding and removing centroids based on error and utility metrics. This approach ensures better clustering results with reduced runtime overhead compared to multiple initializations of KMeans. The algorithm is implemented in the 'bkmeans' library with a sklearn-like API.

  9. 9
    Video
    Avatar of neetcodeNeetCode·1y

    Heaps are BETTER than sorting

    The post explains an efficient method to solve a common interview question by using heaps instead of brute force sorting. The problem involves performing an operation multiple times on an array of positive integers: extracting the largest number, calculating its square root, rounding it down, and replacing it. Utilizing a max heap (by turning numbers negative) optimizes the process, significantly improving efficiency.

  10. 10
    Article
    Avatar of lobstersLobsters·1y

    Everyone gets bidirectional BFS wrong

    The post explains common mistakes found in bidirectional BFS implementations and highlights how widely available online resources often have errors. The author describes the basics of graphs and pathfinding algorithms, and illustrates proper and improper uses of bidirectional BFS with interactive examples. Significant improvements are noted by using the correct algorithm, and the practical outcomes of verifying algorithm implementations are emphasized.