# Category Archives: Data Structure

## Queue Data Structure

Like a Stack, Queue is also an Ordered collection of elements or items. In a queue, the addition of new elements and removal of old ones occur on opposite ends. The end at which the new element gets inserted is known as rear end and the end from which the old element gets removed is known as front… Read More »

## WAP in C++ & Python to find the largest & smallest element in Array

Here in this program, we will code to find the largest and smallest element from a 1D Array.

## What is Stack in Data?

Like an Array, Stack is an ordered collection of elements here the insertion and deletion of element take place at the same point. A stack is one of the most common Abstract Data Structures we use in programming. In the real world we often use Stack Data Structure for example when we use a browser to surf the… Read More »

As we know that a Simple linked list is a sequential collection of Nodes, and each node has a data value and a pointer variable which hold the address of the next node.  A Circular linked list is similar to Simple linked-list the only difference is, here the pointer variable of the last node point to the head… Read More »

Doubly Linked List is an extension of Linked List in which we have two pointer variables, so we could traverse back and forth directions. It contains two pointers conventionally named, next and prev, in next we store the address or object of next element or node and in prev, we store the address of the previous object.

Linked List is a user-defined Data structure, which is a collection of nodes and each node point to another node. Linked list store elements in a sequential manner and each node points to its successor node. Link list often used in the place of the array because some operations of the linked list have less time complexity as… Read More »

## DSA – Dynamic Programming

In Divide an Conquer algorithms we use independent operations on sub-parts of a program, and we only store the final result, but in dynamic programming, the operation on one sub-part of the program depend on each other. In dynamic programming, we usually store the result of all the different sub-programs so we could use it later in the… Read More »

## DSA – Divide and Conquer

Divide and conquer is an Algorithm paradigm which we use to solve the big data problems. As by its name itself divide and conquer, this algorithm divides a huge problem into sub-parts and then try to solve the specific subpart to get the solution. We often use the recursion statements in Divide and Conquer algorithms, the divide and… Read More »

## DSA – Greedy Algorithms

To solve a problem, we use that algorithm which provides more efficiency and takes less time to run the program, in short, we try to get the optimal solution for a given problem. Greedy Algorithm is a concept or pattern that we follow to design an algorithm. In Greedy Algorithms, we build a solution piece by piece and… Read More »

## Asymptotic Analysis

With Time and Space complexity we can analyze an algorithms time taking and space-occupying efficiency, but time complexity and space complexity has their limitation if we take time complexity to analyse a linear search algorithm, the time complexity of the linear search can vary from best time complexity to worst time complexity.  So, to analyse the varying complexity… Read More »