{
  "version": "https://jsonfeed.org/version/1.1",
  "title": "GyanDev",
  "home_page_url": "https://gyandev.org",
  "feed_url": "https://gyandev.org/feed.json",
  "description": "Deep technical notes for modern developers.",
  "language": "en-US",
  "authors": [
    {
      "name": "Sonu Shahuji"
    }
  ],
  "items": [
    {
      "id": "https://gyandev.org/courses/dsa/",
      "url": "https://gyandev.org/courses/dsa/",
      "title": "Heaps & Priority Queues",
      "summary": "Pattern-first mastery of heap problems — the complete-binary-tree mental model, canonical templates, and 16 FAANG-grade patterns in Python and TypeScript.",
      "content_text": "Pattern-first mastery of heap problems — the complete-binary-tree mental model, canonical templates, and 16 FAANG-grade patterns in Python and TypeScript.",
      "date_published": "2026-04-24T00:00:00.000Z",
      "date_modified": "2026-04-24T00:00:00.000Z",
      "authors": [
        {
          "name": "Sonu Shahuji"
        }
      ],
      "tags": []
    },
    {
      "id": "https://gyandev.org/courses/dsa/heaps",
      "url": "https://gyandev.org/courses/dsa/heaps",
      "title": "Frequency-based",
      "summary": "Heap ordered by counts — top-K elements by frequency or reorderings that respect frequency caps.",
      "content_text": "Heap ordered by counts — top-K elements by frequency or reorderings that respect frequency caps.",
      "date_published": "2026-04-24T00:00:00.000Z",
      "date_modified": "2026-04-24T00:00:00.000Z",
      "authors": [
        {
          "name": "Sonu Shahuji"
        }
      ],
      "tags": []
    },
    {
      "id": "https://gyandev.org/courses/dsa/heaps/frequency-based",
      "url": "https://gyandev.org/courses/dsa/heaps/frequency-based",
      "title": "Frequency Sort",
      "summary": "Sort array elements by descending frequency — count with a hash map, then pop from an uncapped max-heap and emit each value that many times.",
      "content_text": "Sort array elements by descending frequency — count with a hash map, then pop from an uncapped max-heap and emit each value that many times.",
      "date_published": "2026-04-24T00:00:00.000Z",
      "date_modified": "2026-04-24T00:00:00.000Z",
      "authors": [
        {
          "name": "Sonu Shahuji"
        }
      ],
      "tags": []
    },
    {
      "id": "https://gyandev.org/courses/dsa/heaps/frequency-based",
      "url": "https://gyandev.org/courses/dsa/heaps/frequency-based",
      "title": "Top K Frequent Elements",
      "summary": "Return the K most frequently occurring values in an array — count with a hash map, then Top-K with a min-heap keyed on frequency.",
      "content_text": "Return the K most frequently occurring values in an array — count with a hash map, then Top-K with a min-heap keyed on frequency.",
      "date_published": "2026-04-24T00:00:00.000Z",
      "date_modified": "2026-04-24T00:00:00.000Z",
      "authors": [
        {
          "name": "Sonu Shahuji"
        }
      ],
      "tags": []
    },
    {
      "id": "https://gyandev.org/courses/dsa/heaps",
      "url": "https://gyandev.org/courses/dsa/heaps",
      "title": "Heaps — Fundamentals",
      "summary": "Foundations of binary heaps and priority queues — index arithmetic, operations, recognition signals, and the five templates that unlock every heap problem.",
      "content_text": "Foundations of binary heaps and priority queues — index arithmetic, operations, recognition signals, and the five templates that unlock every heap problem.",
      "date_published": "2026-04-24T00:00:00.000Z",
      "date_modified": "2026-04-24T00:00:00.000Z",
      "authors": [
        {
          "name": "Sonu Shahuji"
        }
      ],
      "tags": []
    },
    {
      "id": "https://gyandev.org/courses/dsa/heaps",
      "url": "https://gyandev.org/courses/dsa/heaps",
      "title": "Greedy Combine",
      "summary": "Repeatedly extract the two smallest, combine, and reinsert — Huffman-style accumulation.",
      "content_text": "Repeatedly extract the two smallest, combine, and reinsert — Huffman-style accumulation.",
      "date_published": "2026-04-24T00:00:00.000Z",
      "date_modified": "2026-04-24T00:00:00.000Z",
      "authors": [
        {
          "name": "Sonu Shahuji"
        }
      ],
      "tags": []
    },
    {
      "id": "https://gyandev.org/courses/dsa/heaps/greedy-combine",
      "url": "https://gyandev.org/courses/dsa/heaps/greedy-combine",
      "title": "Connect Ropes with Minimum Cost",
      "summary": "Repeatedly merge the two shortest ropes into one — a Huffman-style greedy that minimises total joining cost using a min-heap.",
      "content_text": "Repeatedly merge the two shortest ropes into one — a Huffman-style greedy that minimises total joining cost using a min-heap.",
      "date_published": "2026-04-24T00:00:00.000Z",
      "date_modified": "2026-04-24T00:00:00.000Z",
      "authors": [
        {
          "name": "Sonu Shahuji"
        }
      ],
      "tags": []
    },
    {
      "id": "https://gyandev.org/courses/dsa/heaps",
      "url": "https://gyandev.org/courses/dsa/heaps",
      "title": "K-way Merge",
      "summary": "Merge K sorted sequences or matrix cells by maintaining a heap of active heads.",
      "content_text": "Merge K sorted sequences or matrix cells by maintaining a heap of active heads.",
      "date_published": "2026-04-24T00:00:00.000Z",
      "date_modified": "2026-04-24T00:00:00.000Z",
      "authors": [
        {
          "name": "Sonu Shahuji"
        }
      ],
      "tags": []
    },
    {
      "id": "https://gyandev.org/courses/dsa/heaps/k-way-merge",
      "url": "https://gyandev.org/courses/dsa/heaps/k-way-merge",
      "title": "Kth Smallest in Sorted Matrix",
      "summary": "Find the K-th smallest value in a row- and column-sorted matrix by treating rows as K sorted lists and applying the K-way merge template.",
      "content_text": "Find the K-th smallest value in a row- and column-sorted matrix by treating rows as K sorted lists and applying the K-way merge template.",
      "date_published": "2026-04-24T00:00:00.000Z",
      "date_modified": "2026-04-24T00:00:00.000Z",
      "authors": [
        {
          "name": "Sonu Shahuji"
        }
      ],
      "tags": []
    },
    {
      "id": "https://gyandev.org/courses/dsa/heaps/k-way-merge",
      "url": "https://gyandev.org/courses/dsa/heaps/k-way-merge",
      "title": "Merge K Sorted Lists",
      "summary": "Merge K sorted linked lists or arrays into one sorted output using a min-heap seeded with the head of each source — the canonical K-way merge.",
      "content_text": "Merge K sorted linked lists or arrays into one sorted output using a min-heap seeded with the head of each source — the canonical K-way merge.",
      "date_published": "2026-04-24T00:00:00.000Z",
      "date_modified": "2026-04-24T00:00:00.000Z",
      "authors": [
        {
          "name": "Sonu Shahuji"
        }
      ],
      "tags": []
    },
    {
      "id": "https://gyandev.org/courses/dsa/heaps",
      "url": "https://gyandev.org/courses/dsa/heaps",
      "title": "Scheduling with Heap",
      "summary": "Greedy task/interval picks driven by a priority queue — cooldowns, deadlines, room assignment.",
      "content_text": "Greedy task/interval picks driven by a priority queue — cooldowns, deadlines, room assignment.",
      "date_published": "2026-04-24T00:00:00.000Z",
      "date_modified": "2026-04-24T00:00:00.000Z",
      "authors": [
        {
          "name": "Sonu Shahuji"
        }
      ],
      "tags": []
    },
    {
      "id": "https://gyandev.org/courses/dsa/heaps/scheduling-with-heap",
      "url": "https://gyandev.org/courses/dsa/heaps/scheduling-with-heap",
      "title": "Maximum Beauty with Deadlines",
      "summary": "Maximise total beauty of toys sold within per-toy deadlines — sort by deadline, then use a min-heap as capacity-bounded beauty tracker.",
      "content_text": "Maximise total beauty of toys sold within per-toy deadlines — sort by deadline, then use a min-heap as capacity-bounded beauty tracker.",
      "date_published": "2026-04-24T00:00:00.000Z",
      "date_modified": "2026-04-24T00:00:00.000Z",
      "authors": [
        {
          "name": "Sonu Shahuji"
        }
      ],
      "tags": []
    },
    {
      "id": "https://gyandev.org/courses/dsa/heaps/scheduling-with-heap",
      "url": "https://gyandev.org/courses/dsa/heaps/scheduling-with-heap",
      "title": "Meeting Rooms II (Heap)",
      "summary": "Find the minimum conference rooms needed for a meeting list — sort by start, keep end-times in a min-heap, reuse the earliest-free room.",
      "content_text": "Find the minimum conference rooms needed for a meeting list — sort by start, keep end-times in a min-heap, reuse the earliest-free room.",
      "date_published": "2026-04-24T00:00:00.000Z",
      "date_modified": "2026-04-24T00:00:00.000Z",
      "authors": [
        {
          "name": "Sonu Shahuji"
        }
      ],
      "tags": []
    },
    {
      "id": "https://gyandev.org/courses/dsa/heaps/scheduling-with-heap",
      "url": "https://gyandev.org/courses/dsa/heaps/scheduling-with-heap",
      "title": "Reorganize String",
      "summary": "Rearrange a string so no two adjacent characters are equal by greedily emitting the most-frequent available character and deferring the one just used.",
      "content_text": "Rearrange a string so no two adjacent characters are equal by greedily emitting the most-frequent available character and deferring the one just used.",
      "date_published": "2026-04-24T00:00:00.000Z",
      "date_modified": "2026-04-24T00:00:00.000Z",
      "authors": [
        {
          "name": "Sonu Shahuji"
        }
      ],
      "tags": []
    },
    {
      "id": "https://gyandev.org/courses/dsa/heaps/scheduling-with-heap",
      "url": "https://gyandev.org/courses/dsa/heaps/scheduling-with-heap",
      "title": "Task Scheduler",
      "summary": "Compute the minimum CPU cycles to finish a task list with a same-task cooldown using a max-heap of remaining counts plus a cooldown queue.",
      "content_text": "Compute the minimum CPU cycles to finish a task list with a same-task cooldown using a max-heap of remaining counts plus a cooldown queue.",
      "date_published": "2026-04-24T00:00:00.000Z",
      "date_modified": "2026-04-24T00:00:00.000Z",
      "authors": [
        {
          "name": "Sonu Shahuji"
        }
      ],
      "tags": []
    },
    {
      "id": "https://gyandev.org/courses/dsa/heaps",
      "url": "https://gyandev.org/courses/dsa/heaps",
      "title": "Top K Selection",
      "summary": "Bounded-size heap + linear scan. Opposite-polarity rule: min-heap for K-largest, max-heap for K-smallest.",
      "content_text": "Bounded-size heap + linear scan. Opposite-polarity rule: min-heap for K-largest, max-heap for K-smallest.",
      "date_published": "2026-04-24T00:00:00.000Z",
      "date_modified": "2026-04-24T00:00:00.000Z",
      "authors": [
        {
          "name": "Sonu Shahuji"
        }
      ],
      "tags": []
    },
    {
      "id": "https://gyandev.org/courses/dsa/heaps/top-k-selection",
      "url": "https://gyandev.org/courses/dsa/heaps/top-k-selection",
      "title": "K Closest Elements to X",
      "summary": "Return the K values closest to target X by absolute difference using a size-K max-heap keyed on distance.",
      "content_text": "Return the K values closest to target X by absolute difference using a size-K max-heap keyed on distance.",
      "date_published": "2026-04-24T00:00:00.000Z",
      "date_modified": "2026-04-24T00:00:00.000Z",
      "authors": [
        {
          "name": "Sonu Shahuji"
        }
      ],
      "tags": []
    },
    {
      "id": "https://gyandev.org/courses/dsa/heaps/top-k-selection",
      "url": "https://gyandev.org/courses/dsa/heaps/top-k-selection",
      "title": "K Closest Points to Origin",
      "summary": "Find the K points closest to (0, 0) using a size-K max-heap on squared Euclidean distance — no sqrt required.",
      "content_text": "Find the K points closest to (0, 0) using a size-K max-heap on squared Euclidean distance — no sqrt required.",
      "date_published": "2026-04-24T00:00:00.000Z",
      "date_modified": "2026-04-24T00:00:00.000Z",
      "authors": [
        {
          "name": "Sonu Shahuji"
        }
      ],
      "tags": []
    },
    {
      "id": "https://gyandev.org/courses/dsa/heaps/top-k-selection",
      "url": "https://gyandev.org/courses/dsa/heaps/top-k-selection",
      "title": "Kth Largest Element",
      "summary": "Find the K-th largest element in an unsorted array using a bounded min-heap of size K — the canonical Top-K template.",
      "content_text": "Find the K-th largest element in an unsorted array using a bounded min-heap of size K — the canonical Top-K template.",
      "date_published": "2026-04-24T00:00:00.000Z",
      "date_modified": "2026-04-24T00:00:00.000Z",
      "authors": [
        {
          "name": "Sonu Shahuji"
        }
      ],
      "tags": []
    },
    {
      "id": "https://gyandev.org/courses/dsa/heaps/top-k-selection",
      "url": "https://gyandev.org/courses/dsa/heaps/top-k-selection",
      "title": "Kth Smallest Element",
      "summary": "Find the K-th smallest element in an unsorted array with a bounded max-heap of size K — the mirror of the K-th largest template.",
      "content_text": "Find the K-th smallest element in an unsorted array with a bounded max-heap of size K — the mirror of the K-th largest template.",
      "date_published": "2026-04-24T00:00:00.000Z",
      "date_modified": "2026-04-24T00:00:00.000Z",
      "authors": [
        {
          "name": "Sonu Shahuji"
        }
      ],
      "tags": []
    }
  ]
}
