#algorithms

  • Extended Euclidean Algorithm
    Explains how the Extended Euclidean Algorithm solves the linear Diophantine equation ax + by = c and how RSA uses it to compute modular inverses.
  • Sorting Algorithms
    Comparison table of common sorting algorithms with when to use each, stability trade-offs, and Big O complexity.
  • Algorithm Development
    Guide to choosing an algorithm by its essential properties, finding program errors with well-built test sets, and optimizing a working program.
  • Enumeration Problems
    Covers arrangements, combinations, and permutations, the generation method with lexicographic order, and backtracking with branch and bound for enumerating configurations.
  • Problem Solving Approaches
    Overview of the main algorithmic problem-solving strategies (brute force, greedy, divide and conquer, dynamic programming, backtracking, and more) and when to apply each.
  • Big O Notation
    Short note defining Big O notation as the number of operations relative to input size and how to simplify a complexity function.
  • Computational Geometry
    Introduces the convex hull problem in computational geometry and lists the common algorithms for computing it.
  • Data Structures Overview
    Survey of linear, non-linear, hash-based, and advanced data structures with their operations, time complexities, use cases, and selection guidance.
  • Persistent Segment Tree
    Explains how a persistent segment tree keeps every historical version of the data using path copying, and where it is applied.
  • Segment Tree
    Explains the segment tree for O(log n) range queries and updates, with example problems (LIS, range minimum) and lazy propagation.
  • Bloom Filter
    Overview of the Bloom filter probabilistic data structure, its false-positive behavior, and common applications.
  • Post Score Algorithm
    Weighted scoring formula for ranking trending posts, with a variable glossary and a worked numeric example.
  • Algo Arrays Searching Sorting
    TypeScript walkthrough of array internals (ArrayBuffer, array lists, ring buffers), linear and binary search, the two crystal balls problem, and bubble, quick, and merge sort.
  • Algo Heap Trie Graphs
    TypeScript notes on heaps and priority queues, tries, graph representations and traversals, maps, and LRU cache design.
  • Algo Linked Lists
    TypeScript implementations of a queue, a stack, and a doubly linked list built on linked nodes, with notes on their trade-offs.
  • Algo Recursion
    TypeScript examples of recursion covering the base case, the recursive step, and classic recursive problems.
  • Algo Trees
    TypeScript notes on tree terminology, traversals, and binary search tree operations.
  • Le Minh Hoang Book Notes
    Reading-progress note for Le Minh Hoang's algorithms book, with links to the notes split out from it.
  • Learning Resources
    Curated list of articles, videos, courses, and practice sites for learning algorithms, data structures, and cryptography math.
  • Coding Interview Resources
    A curated list of books, online courses, practice websites, and mock interview platforms for studying algorithms and preparing for coding interviews.
  • Developer Resources
    A curated list of developer tools, algorithm practice platforms, UI icon and color resources, freelance work references, and learning sites for programmers.