<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Visual Masterclass</title><description>Interactive, visual-first masterclasses in C++ and Data Structures &amp; Algorithms — built for humans and AI. Watch every concept and algorithm run, step by step, then read the same canonical run as machine-readable data.</description><link>https://strivera2z.com/</link><language>en-us</language><item><title>C++ · Introduction to C++ Programming</title><link>https://strivera2z.com/cpp/introduction/</link><guid isPermaLink="true">https://strivera2z.com/cpp/introduction/</guid><description>Learn the history, evolution, key features, applications, and basic execution flow of C++ programs.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>C++</category><category>Basics &amp; Setup</category></item><item><title>C++ · Variables, Data Types, and Operators</title><link>https://strivera2z.com/cpp/variables-data-types-operators/</link><guid isPermaLink="true">https://strivera2z.com/cpp/variables-data-types-operators/</guid><description>Master local and global scoping, integer and floating data types, modifiers, implicit/explicit type casting, and C++ operator classifications.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>C++</category><category>Basics &amp; Setup</category></item><item><title>C++ · Control Flow: Conditionals and Loops</title><link>https://strivera2z.com/cpp/control-flow/</link><guid isPermaLink="true">https://strivera2z.com/cpp/control-flow/</guid><description>Learn conditionals (if/else, switch-case, ternary operators) and loop constructs (for, while, do-while) along with jump commands.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>C++</category><category>Control Flow</category></item><item><title>C++ · Functions in C++</title><link>https://strivera2z.com/cpp/functions/</link><guid isPermaLink="true">https://strivera2z.com/cpp/functions/</guid><description>Understand function structures, arguments pass-by-value/reference/pointer, inline declarations, lambda functions, and recursive behaviors.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>C++</category><category>Control Flow</category></item><item><title>C++ · Arrays and Strings in C++</title><link>https://strivera2z.com/cpp/arrays-and-strings/</link><guid isPermaLink="true">https://strivera2z.com/cpp/arrays-and-strings/</guid><description>Discover single and multidimensional arrays, base memory address passing, C-style string library functions, and modern C++ string APIs.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>C++</category><category>Data Structures</category></item><item><title>C++ · Pointers and References in C++</title><link>https://strivera2z.com/cpp/pointers-and-references/</link><guid isPermaLink="true">https://strivera2z.com/cpp/pointers-and-references/</guid><description>Master direct hardware memory access: address-of and dereference operators, pointer arithmetic, double pointers, heap management, and references.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>C++</category><category>Memory &amp; Pointers</category></item><item><title>C++ · Object-Oriented Programming (OOP)</title><link>https://strivera2z.com/cpp/object-oriented-programming/</link><guid isPermaLink="true">https://strivera2z.com/cpp/object-oriented-programming/</guid><description>Comprehensive guide to classes/objects, constructors/destructors, access specifiers, encapsulation, data abstraction, friend classes, and inheritance.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>C++</category><category>OOP Principles</category></item><item><title>C++ · Standard Template Library (STL)</title><link>https://strivera2z.com/cpp/standard-template-library/</link><guid isPermaLink="true">https://strivera2z.com/cpp/standard-template-library/</guid><description>Master STL collections (vectors, lists, stacks, queues, deques, sets, maps) and core utility algorithms (sorting, searching, counting).</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>C++</category><category>STL &amp; File Handling</category></item><item><title>C++ · File Handling in C++</title><link>https://strivera2z.com/cpp/file-handling/</link><guid isPermaLink="true">https://strivera2z.com/cpp/file-handling/</guid><description>Learn standard console standard streams (cin, cout, cerr, clog) and file I/O operations (creation, reading, writing, appending, closing).</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>C++</category><category>STL &amp; File Handling</category></item><item><title>C++ · Dynamic Memory &amp; Advanced Topics</title><link>https://strivera2z.com/cpp/advanced-topics/</link><guid isPermaLink="true">https://strivera2z.com/cpp/advanced-topics/</guid><description>Deeper look into dynamic memory management (new/delete), exception handling mechanics, and template metaprogramming for reusable classes.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>C++</category><category>Advanced Concepts</category></item><item><title>C++ · Searching and Sorting Algorithms</title><link>https://strivera2z.com/cpp/searching-sorting-algorithms/</link><guid isPermaLink="true">https://strivera2z.com/cpp/searching-sorting-algorithms/</guid><description>Analyze searching (Linear, Binary Search) and sorting (Bubble, Selection, Merge Sort) workflows with code implementations.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>C++</category><category>Advanced Concepts</category></item><item><title>C++ · Debugging and Error Handling in C++</title><link>https://strivera2z.com/cpp/debugging-error-handling/</link><guid isPermaLink="true">https://strivera2z.com/cpp/debugging-error-handling/</guid><description>Identify and resolve syntax, linker, logical, and runtime errors. Master debugging techniques using manual audits and IDE tools.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>C++</category><category>Best Practices</category></item><item><title>C++ · Best Practices in C++ Programming</title><link>https://strivera2z.com/cpp/best-practices/</link><guid isPermaLink="true">https://strivera2z.com/cpp/best-practices/</guid><description>Write cleaner, safer, and more maintainable code using descriptive naming, strict scopes, constant variables, and modern style standards.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>C++</category><category>Best Practices</category></item><item><title>C++ · Reserved Keywords in C++</title><link>https://strivera2z.com/cpp/reserved-keywords/</link><guid isPermaLink="true">https://strivera2z.com/cpp/reserved-keywords/</guid><description>Complete reference sheet of C++ keywords, compiler VIPs, and identifiers with special contextual meaning.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>C++</category><category>Best Practices</category></item><item><title>DSA · Traverse an Array</title><link>https://strivera2z.com/dsa-viz-v2/array-traverse/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/array-traverse/</guid><description>Visit each index in order, doing constant work per element — the foundation of almost every array algorithm.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Arrays</category></item><item><title>DSA · Insert into an Array</title><link>https://strivera2z.com/dsa-viz-v2/array-insert/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/array-insert/</guid><description>To insert at position p, every element from p onward slides one place right to open a slot — that shifting is why array insertion is O(n).</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Arrays</category></item><item><title>DSA · Delete from an Array</title><link>https://strivera2z.com/dsa-viz-v2/array-delete/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/array-delete/</guid><description>Removing position p leaves a hole; every element after p shifts one place left to close it. That shifting is the O(n) cost.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Arrays</category></item><item><title>DSA · Reverse an Array</title><link>https://strivera2z.com/dsa-viz-v2/array-reverse/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/array-reverse/</guid><description>Swap the first and last, then the second and second-last, closing in until the pointers meet. In-place, no extra memory.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Arrays</category></item><item><title>DSA · Rotate an Array</title><link>https://strivera2z.com/dsa-viz-v2/rotate-array/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/rotate-array/</guid><description>To left-rotate by k, reverse the first k elements, reverse the rest, then reverse the whole array. Three in-place reversals rotate with no extra memory.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Arrays</category></item><item><title>DSA · Dutch National Flag</title><link>https://strivera2z.com/dsa-viz-v2/dutch-national-flag/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/dutch-national-flag/</guid><description>With values limited to 0, 1 and 2, keep settled 0s on the left and settled 2s on the right, sorting the middle. One pass with low/mid/high pointers places every value.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Arrays</category></item><item><title>DSA · Prefix Sum</title><link>https://strivera2z.com/dsa-viz-v2/prefix-sum/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/prefix-sum/</guid><description>Each position becomes the sum of everything up to and including it: a[i] += a[i-1]. Afterwards any range sum is a single subtraction.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Arrays</category></item><item><title>DSA · Kadane&apos;s Algorithm</title><link>https://strivera2z.com/dsa-viz-v2/kadane/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/kadane/</guid><description>Walk left to right keeping the best sum ending here. If that running sum ever goes negative, it can only hurt what follows, so restart from the current element. Track the best window seen.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Arrays</category></item><item><title>DSA · Sliding Window (Max Sum)</title><link>https://strivera2z.com/dsa-viz-v2/sliding-window/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/sliding-window/</guid><description>For a window of size k, sum the first window, then slide: add the entering element and subtract the leaving one. No value is ever re-summed.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Arrays</category></item><item><title>DSA · Move Zeroes</title><link>https://strivera2z.com/dsa-viz-v2/move-zeroes/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/move-zeroes/</guid><description>Keep a write pointer for the next non-zero slot. Scan the array; each non-zero value swaps down to that slot. Zeros naturally collect at the back, order preserved.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Arrays</category></item><item><title>DSA · Palindrome Check</title><link>https://strivera2z.com/dsa-viz-v2/palindrome-check/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/palindrome-check/</guid><description>A palindrome reads the same forwards and backwards. Compare the first and last characters, then step inward. A single mismatch means it is not a palindrome.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Strings</category></item><item><title>DSA · Reverse a String</title><link>https://strivera2z.com/dsa-viz-v2/reverse-string/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/reverse-string/</guid><description>Swap the first and last characters, then move both pointers inward. In-place, no second string required.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Strings</category></item><item><title>DSA · Linear Search</title><link>https://strivera2z.com/dsa-viz-v2/linear-search/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/linear-search/</guid><description>Look at every element in turn and compare it with the key. Simple, works on any array — sorted or not.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Searching</category></item><item><title>DSA · Binary Search</title><link>https://strivera2z.com/dsa-viz-v2/binary-search/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/binary-search/</guid><description>On a sorted array, compare the key with the middle element and throw away the half it cannot be in. Each step halves what’s left, so it finishes in log n comparisons.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Searching</category></item><item><title>DSA · Two Sum (Sorted)</title><link>https://strivera2z.com/dsa-viz-v2/two-sum-sorted/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/two-sum-sorted/</guid><description>On a sorted array, start a pointer at each end. If the pair sums too high, move the right pointer in; too low, move the left pointer in. They converge on the answer, or cross with no pair.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Searching</category></item><item><title>DSA · Bubble Sort</title><link>https://strivera2z.com/dsa-viz-v2/bubble-sort/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/bubble-sort/</guid><description>Repeatedly compare neighbours and swap them if out of order. Each pass carries the largest remaining value to its final place at the right end.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Sorting</category></item><item><title>DSA · Selection Sort</title><link>https://strivera2z.com/dsa-viz-v2/selection-sort/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/selection-sort/</guid><description>Scan the unsorted part for the minimum, swap it to the front of that part, and grow a sorted prefix from the left.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Sorting</category></item><item><title>DSA · Insertion Sort</title><link>https://strivera2z.com/dsa-viz-v2/insertion-sort/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/insertion-sort/</guid><description>Keep the left part sorted. Take the next value and slide it left past everything larger, until it sits in the right spot.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Sorting</category></item><item><title>DSA · Merge Sort</title><link>https://strivera2z.com/dsa-viz-v2/merge-sort/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/merge-sort/</guid><description>Recursively split the array in half until each piece is one element, then merge sorted pieces back together. Each merge fills a separate buffer one value at a time — comparing the fronts of the two halves — then copies the buffer back, so no value is ever lost or duplicated.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Sorting</category></item><item><title>DSA · Quick Sort</title><link>https://strivera2z.com/dsa-viz-v2/quick-sort/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/quick-sort/</guid><description>Pick a pivot (here the last element). Move everything smaller to its left and larger to its right, so the pivot lands in its final spot. Then sort each side the same way.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Sorting</category></item><item><title>DSA · Heap Sort</title><link>https://strivera2z.com/dsa-viz-v2/heap-sort/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/heap-sort/</guid><description>Treat the array as a binary heap (children of i live at 2i+1 and 2i+2). Build a max-heap so the biggest value is at the front, swap it to the end, shrink the heap, and sift the new root down. Repeat.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Sorting</category></item><item><title>DSA · Counting Sort</title><link>https://strivera2z.com/dsa-viz-v2/counting-sort/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/counting-sort/</guid><description>For small non-negative integers, count how many of each value there are, turn the counts into end positions with a running sum, then place each input value where it belongs. Stable and comparison-free.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Sorting</category></item><item><title>DSA · Radix Sort</title><link>https://strivera2z.com/dsa-viz-v2/radix-sort/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/radix-sort/</guid><description>Sort the numbers by their last digit, then the next digit, and so on. Each pass is a stable counting sort on one digit (base 10). After the most-significant digit, the whole array is sorted.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Sorting</category></item><item><title>DSA · Stack — Push &amp; Pop</title><link>https://strivera2z.com/dsa-viz-v2/stack-push-pop/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/stack-push-pop/</guid><description>A stack only ever touches its top. Push puts a value on top; pop takes the top one off. The most recently added value is always the first to leave — last in, first out.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Stacks &amp; Queues</category></item><item><title>DSA · Queue — Enqueue &amp; Dequeue</title><link>https://strivera2z.com/dsa-viz-v2/queue-enqueue-dequeue/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/queue-enqueue-dequeue/</guid><description>A queue adds at one end and removes from the other. The value that has waited longest is always served first — first in, first out, exactly like a line of people.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Stacks &amp; Queues</category></item><item><title>DSA · Monotonic Stack — Next Greater</title><link>https://strivera2z.com/dsa-viz-v2/monotonic-stack/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/monotonic-stack/</guid><description>Keep a stack of values still waiting for an answer. When a bigger value arrives, it answers everything smaller on the stack at once. Each value is pushed and popped at most once, so the whole thing is linear.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Stacks &amp; Queues</category></item><item><title>DSA · Traverse a Linked List</title><link>https://strivera2z.com/dsa-viz-v2/linked-list-traverse/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/linked-list-traverse/</guid><description>A linked list is a chain of nodes; each node holds a value and a pointer to the next one. You cannot jump to index 5 — you must start at the head and follow pointers until you reach ∅.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Linked Lists</category></item><item><title>DSA · Insert into a Linked List</title><link>https://strivera2z.com/dsa-viz-v2/linked-list-insert/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/linked-list-insert/</guid><description>Inserting into a list only changes pointers: the new node points to the old next, and the previous node points to the new one. Unlike an array, no elements move — but you must walk to the position first.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Linked Lists</category></item><item><title>DSA · Delete from a Linked List</title><link>https://strivera2z.com/dsa-viz-v2/linked-list-delete/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/linked-list-delete/</guid><description>To delete a node, make the previous node point to the one after it. The node is unlinked and disappears. Compare with an array, where every later element has to shift left.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Linked Lists</category></item><item><title>DSA · Reverse a Linked List</title><link>https://strivera2z.com/dsa-viz-v2/linked-list-reverse/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/linked-list-reverse/</guid><description>Take nodes off the front of the original list one at a time and put each on the front of a new list. Because each node goes to the front, the order comes out reversed — and no extra nodes are ever created.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Linked Lists</category></item><item><title>DSA · Hash Table — Linear Probing</title><link>https://strivera2z.com/dsa-viz-v2/hash-linear-probing/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/hash-linear-probing/</guid><description>A hash function turns a key into a slot index. When two keys want the same slot (a collision), open addressing simply probes forward to the next free slot. Lookups repeat the same walk.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Hashing</category></item><item><title>DSA · Hash Table — Chaining</title><link>https://strivera2z.com/dsa-viz-v2/hash-chaining/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/hash-chaining/</guid><description>Instead of probing, each bucket holds a linked list. Colliding keys are appended to that bucket’s chain. Lookups hash to a bucket, then walk its short chain.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Hashing</category></item><item><title>DSA · BST — Insert</title><link>https://strivera2z.com/dsa-viz-v2/bst-insert/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/bst-insert/</guid><description>A binary search tree keeps everything smaller than a node in its left subtree and everything larger in its right. Inserting means walking down that rule until you fall off the tree, then hanging the new node there.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Trees</category></item><item><title>DSA · BST — Search</title><link>https://strivera2z.com/dsa-viz-v2/bst-search/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/bst-search/</guid><description>Searching a BST is binary search on a tree: compare with the node, then go left or right. Each step discards an entire subtree, so a balanced tree finds any key in about log n steps.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Trees</category></item><item><title>DSA · In-order Traversal</title><link>https://strivera2z.com/dsa-viz-v2/bst-inorder/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/bst-inorder/</guid><description>In-order traversal visits the whole left subtree, then the node, then the right subtree. Because a BST stores smaller keys on the left, this order is exactly sorted order.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Trees</category></item><item><title>DSA · BST — Delete</title><link>https://strivera2z.com/dsa-viz-v2/bst-delete/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/bst-delete/</guid><description>Deleting from a BST has three cases. A leaf just detaches. A node with one child is replaced by that child. A node with two children is trickier: copy in its in-order successor (the smallest key on its right) and delete that instead.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Trees</category></item><item><title>DSA · Build a Max-Heap</title><link>https://strivera2z.com/dsa-viz-v2/heap-build/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/heap-build/</guid><description>A binary heap is a complete tree where every parent is at least as large as its children — stored as a plain array, with the children of index i at 2i+1 and 2i+2. Heapify works from the last parent backwards, sinking each value to where it belongs.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Trees</category></item><item><title>DSA · Heap — Extract Max</title><link>https://strivera2z.com/dsa-viz-v2/heap-pop/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/heap-pop/</guid><description>The maximum is always the root. To remove it, swap it with the last node, drop that last slot, then sift the new root down until the heap property holds again — about log n steps.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Trees</category></item><item><title>DSA · Breadth-First Search</title><link>https://strivera2z.com/dsa-viz-v2/graph-bfs/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/graph-bfs/</guid><description>BFS visits everything one step away, then everything two steps away, and so on. A queue holds the frontier, and marking nodes seen the moment they are enqueued stops the same node being queued twice. On an unweighted graph this finds shortest paths.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Graphs</category></item><item><title>DSA · Depth-First Search</title><link>https://strivera2z.com/dsa-viz-v2/graph-dfs/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/graph-dfs/</guid><description>DFS commits to a path and follows it until it dead-ends, then backtracks to the last node with an unexplored neighbour. The call stack records the path you are currently standing on.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Graphs</category></item><item><title>DSA · Topological Sort</title><link>https://strivera2z.com/dsa-viz-v2/topological-sort/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/topological-sort/</guid><description>Kahn&apos;s algorithm counts how many prerequisites each node has. Anything with zero is ready to go; taking it removes one prerequisite from each of its successors, which may make them ready too. If everything comes out, the graph had no cycle.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Graphs</category></item><item><title>DSA · Dijkstra’s Shortest Path</title><link>https://strivera2z.com/dsa-viz-v2/dijkstra/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/dijkstra/</guid><description>Keep a best-known distance for every node. Repeatedly settle the closest unsettled node — its distance can no longer improve — and relax its edges, lowering neighbours’ distances where a shorter route has been found.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Graphs</category></item><item><title>DSA · Minimum Spanning Tree (Kruskal)</title><link>https://strivera2z.com/dsa-viz-v2/mst-kruskal/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/mst-kruskal/</guid><description>Sort every edge by weight and walk the list cheapest-first. Take an edge if it joins two separate components; skip it if both ends are already connected, since that would make a cycle. After V-1 accepted edges everything is joined as cheaply as possible.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Graphs</category></item><item><title>DSA · Recursion — Fibonacci Call Tree</title><link>https://strivera2z.com/dsa-viz-v2/recursion-fibonacci/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/recursion-fibonacci/</guid><description>Plain recursive Fibonacci calls itself twice per node, so the call tree branches exponentially. Identical subtrees appear over and over — the same f(2) is computed from scratch several times. That repeated work is exactly what memoisation and DP remove.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Recursion &amp; DP</category></item><item><title>DSA · Backtracking — All Subsets</title><link>https://strivera2z.com/dsa-viz-v2/subsets-backtracking/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/subsets-backtracking/</guid><description>For each element in turn you make one binary choice — leave it out (–) or take it. Every root-to-leaf path spells one subset, and n elements give 2ⁿ leaves. Backtracking simply means undoing a choice and trying the other branch.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Recursion &amp; DP</category></item><item><title>DSA · Backtracking — N-Queens</title><link>https://strivera2z.com/dsa-viz-v2/n-queens/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/n-queens/</guid><description>Place one queen per row. For each square check whether an earlier queen already attacks it down a column or a diagonal. If a row runs out of safe squares, the previous choice was wrong — take that queen back and try the next square. That retreat is backtracking.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Recursion &amp; DP</category></item><item><title>DSA · DP — Fibonacci Table</title><link>https://strivera2z.com/dsa-viz-v2/dp-fibonacci/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/dp-fibonacci/</guid><description>Build the answers bottom-up in a table instead of recursing top-down. Each entry is the sum of the two before it, computed exactly once. Compare with the recursive call tree, which recomputes the same values over and over.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Recursion &amp; DP</category></item><item><title>DSA · DP — Coin Change</title><link>https://strivera2z.com/dsa-viz-v2/coin-change/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/coin-change/</guid><description>Solve every smaller amount first. For an amount, try each coin: using it costs one coin plus the best answer for the remainder. Because smaller amounts are already solved, each entry is one quick minimum.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Recursion &amp; DP</category></item><item><title>DSA · DP — Longest Increasing Subsequence</title><link>https://strivera2z.com/dsa-viz-v2/lis/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/lis/</guid><description>dp[i] is the length of the longest increasing subsequence that ends at index i. To fill it, look back at every earlier element that is smaller and take the best chain you could extend. The answer is the largest entry.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Recursion &amp; DP</category></item><item><title>DSA · DP — Edit Distance</title><link>https://strivera2z.com/dsa-viz-v2/edit-distance/</link><guid isPermaLink="true">https://strivera2z.com/dsa-viz-v2/edit-distance/</guid><description>Cell (i, j) holds the edit distance between the first i letters of one word and the first j of the other. If the letters match, nothing to do — carry the diagonal. Otherwise take the cheapest of insert, delete or replace and add one.</description><pubDate>Mon, 20 Jul 2026 08:12:35 GMT</pubDate><category>DSA</category><category>Recursion &amp; DP</category></item></channel></rss>