## DSA: Heap

A heap is a specialized tree-based data structure that satisfies the heap property. It is commonly used to implement priority queues and efficient sorting algorithms like heap sort.

- Algorithm / Data Structure

A heap is a specialized tree-based data structure that satisfies the heap property. It is commonly used to implement priority queues and efficient sorting algorithms like heap sort.

- Data Structure

What is a Trie in DSA? A trie, often known as a prefix tree, is a tree-like data structure used for fast string searching and prefix matching. It allows for the quick retrieval of words or keys connected with each node. The word Trie is derived from reTRIEval, which means finding something or obtaining it. […]

- Data Structure

What is the Lowest Common Ancestor? In a tree, the lowest common ancestor (LCA) of two nodes, n1 and n2, is the shared ancestor located farthest from the root and has both n1 and n2 as descendants. Properties of the Lowest Common Ancestor: An LCA can be one of the input nodes themselves if one […]

- Data Structure

A Binary Search Tree (BST) is a type of binary tree that satisfies the following properties: For any node in the tree, all values in its left subtree are less than its value. For any node in the tree, all values in its right subtree are greater than its value. The left and right subtrees […]

- Data Structure

In binary trees, the views and types refer to different perspectives and classifications of the tree structure. Types of Views in Binary Tree are : Horizontal View: The horizontal view of a binary tree shows the nodes from left to right at each level. Nodes at the same level are listed in the order of their […]

- Data Structure

Binary Tree Structure: A binary tree is a tree data structure where each node has at most two children: a left child and a right child. The topmost node of a binary tree is called the root node. Each node in a binary tree can have either zero, one, or two child nodes. The child […]

- Data Structure

What is a Queue in DSA? A queue is a linear data structure that holds elements in a certain order. It accesses items using the FIFO (First In First Out) method. It can only be changed by adding data entities at one end or removing data entities at the other. The end where insertion occurs is known as the Rear, while the end where deletion occurs is known as the Front. This ordering guarantees that components are processed […]

- Data Structure

What is a Stack? A stack is an abstract data type that adheres to the Last-In-First-Out (LIFO) principle in the context of data structures and algorithms (DSA). It’s a linear data structure with operations like push (adding an element to the top) and pop (removing the topmost element). Note: A stack can be visualized as […]

- Data Structure

What are pointers? Pointers are variables that are used to save the position of a value in memory. A memory address is stored in a pointer to a location. Pointers are a key notion in data structures and algorithms (DSA) that provide significant memory management and data manipulation capabilities. Understanding pointers allows programmers to optimize […]

- Data Structure

In the previous post, we discussed various pattern-matching algorithms, let us now see a few problems based on it. Given two strings, one is a text string and the other is a pattern string. The task is to print the indexes of all the occurrences of pattern string in the text string. For printing, Starting Index […]