Binary Search Tree Operations: Lowest Common Ancestor, Insertion, and Deletion
Lowest Common Ancestor in a BST (LeetCode 235)
Given a BST and two nodes p and q, find their lowest common ancestor (LCA). The BST property allows an efficient traversal from root down: the LCA is the first node whose value lies between p->val and q->val (inclusive). Because the tree is ordered, moving left/right narrows down the range un ...
Posted on Wed, 26 Aug 2026 16:29:53 +0000 by Bogart
Backtracking Algorithm Practice: Combination Sum III and Letter Combinations
Problem 216: Combination Sum III
Description: Given two integers k and n, find all possible combinations of k numbers from 1 to 9 that add up to n. Each number can only be used once in a combination.
Approach
This problem requires finding subsets of size k from the set [1,2,3,4,5,6,7,8,9] where the sum equals n. The parameter k represents the d ...
Posted on Sat, 15 Aug 2026 16:09:44 +0000 by heerajee
Recursive Tree Structure Implementation in C#
Hierarchical data structures are essential for building navigation menus, organization charts, and category trees. This article explores several C# implementations to transform flat data lists into recursive tree formats, suitable for JSON APIs, object-oriented models, and UI dropdowns.
1. Generating Recursive JSON Strings
In some legacy system ...
Posted on Thu, 13 Aug 2026 16:06:44 +0000 by slimjim
Maximum Depth of Binary Trees: Recursive and Iterative Approaches
Maximum Depth of a Binary Tree
The maximum depth of a binary tree is defined as the number of nodes along the longest path from the root node down to the farthest leaf node. A leaf node is a node that has no children. This problem can be solved using either a recursive depth-first search approach or an iterative breadth-first search approach.
R ...
Posted on Thu, 13 Aug 2026 16:02:47 +0000 by Sj0wKOoMel
10 Fun and Simple Python Programs for Creative Exploration
Python is a versatile and beginner-friendly programming language that allows developers to express ideas creatively and efficiently. Below are ten engaging Python scripts that demonstrate the language's potential for visual creativity and interactive exploration using the turtle graphics module.
Dynamic Color Spiral
import turtle
import ran ...
Posted on Wed, 12 Aug 2026 16:15:19 +0000 by Laogeodritt
Python Variable Scoping, Lambda Functions, and Recursion Patterns
Mastering Variable Scope in Python Functions
Python's scoping rules define how variables interact between global and local contexts. Functions create isolated namespaces that affect variable visibility and mutability.
Modifying Global Variables
When a function needs to reassign a global variable, explicit declaration is mandatory:
access_count ...
Posted on Mon, 10 Aug 2026 16:12:10 +0000 by ibelimb
Calculating the Sum of Left Leaf Nodes in a Binary Tree
To compute the sum of all left leaf nodes in a binary tree, implement a recursive traversal that identifies nodes where the left child exists and has no children. When such a node is found, accuumlate its value.
A helper function using reference accumulation:
void accumulateLeftLeafSum(TreeNode* root, int& total) {
if (!root) return;
...
Posted on Sun, 09 Aug 2026 16:18:56 +0000 by ahmadajcis
Binary Search Tree Operations: Trimming, Construction from Sorted Array, and Conversion to Greater Sum Tree
Trimming a Binary Search TreeGiven a Binary Search Tree (BST) and a valid range [low, high], the task is to trim the tree so that all node values fall within this inclusive range. The structure of the resulting tree should maintain BST properties.A common mistake is to simply return null when encountering a node outside the range:class Solution ...
Posted on Sat, 08 Aug 2026 16:33:29 +0000 by bsprogs
Reconstructing a Binary Tree from Preorder and Inorder Traversals
Given the preorder and inorder traversal sequences of a binary tree, the task is to rebuild the original tree. Below are three distinct strategies, each with its own trade-offs, followed by concise Python implementations.
Approach 1 – Straightforward Recursion
The first element in preorder is always the root. Locate this value inside inorder; e ...
Posted on Thu, 06 Aug 2026 17:03:14 +0000 by realnsleo
Binary Tree Traversal Techniques: Recursive, Iterative, and Unified Approaches
Implementing depth-first traversals using recursive programming requires three key components:
Function parameters and return value definition
Termination condition handling
Single-layer recurison logic implementation
Implementation Examples
// Pre-order traversal
class RecursiveTraversal {
public List<integer> traversePreOrder(Tre ...
Posted on Mon, 03 Aug 2026 16:56:38 +0000 by splitinfo