post-image

Sorting Algorithms

A sorting algorithm is an algorithm made up of a series of instructions that takes an array as input, performs specified operations on the array, sometimes called a list, and outputs a sorted array. Sorting algorithms are often taught early in computer science classes as they provide a straightforward way to introduce other key computer science topics like Big-O notation, divide-and-conquer methods, and data structures such as binary trees, and heaps.

Read more
post-image

Asymptotic Notations

What is Asymptotic Notation? Whenever we want to perform analysis of an algorithm, we need to calculate the complexity of that algorithm. But when we calculate the complexity of an algorithm it does not provide the exact amount of resource required. So instead of taking the exact amount of resource, we represent that complexity in a general form (Notation) which produces the basic nature of that algorithm. We use that general form (Notation) for analysis process.

Read more
post-image

Circular Linked List

What is Circular Linked List? In single linked list, every node points to its next node in the sequence and the last node points NULL. But in circular linked list, every node points to its next node in the sequence but the last node points to the first node in the list. A circular linked list is a sequence of elements in which every element has a link to its next element in the sequence and the last element has a link to the first element.

Read more
post-image

Double Linked List

What is Double Linked List? In a single linked list, every node has a link to its next node in the sequence. So, we can traverse from one node to another node only in one direction and we can not traverse back. We can solve this kind of problem by using a double linked list. A double linked list can be defined as follows… Double linked list is a sequence of elements in which every element has links to its previous element and next element in the sequence.

Read more
post-image

Introduction to Algorithms

What is an algorithm? An algorithm is a step by step procedure to solve a problem. In normal language, the algorithm is defined as a sequence of statements which are used to perform a task. In computer science, an algorithm can be defined as follows… An algorithm is a sequence of unambiguous instructions used for solving a problem, which can be implemented (as a program) on a computer. Algorithms are used to convert our problem solution into step by step statements.

Read more
post-image

Linear & Non-Linear Data Structures

What is Data Structure? Whenever we want to work with a large amount of data, then organizing that data is very important. If that data is not organized effectively, it is very difficult to perform any task on that data. If it is organized effectively then any operation can be performed easily on that data. A data structure can be defined as follows… Data structure is a method of organizing a large amount of data more efficiently so that any operation on that data becomes easy

Read more
post-image

Performance Analysis

What is Performance Analysis of an algorithm? If we want to go from city “A” to city “B”, there can be many ways of doing this. We can go by flight, by bus, by train and also by bicycle. Depending on the availability and convenience, we choose the one which suits us. Similarly, in computer science, there are multiple algorithms to solve a problem. When we have more than one algorithm to solve a problem, we need to select the best one.

Read more
post-image

Single Linked List

What is Linked List? When we want to work with an unknown number of data values, we use a linked list data structure to organize that data. The linked list is a linear data structure that contains a sequence of elements such that each element links to its next element in the sequence. Each element in a linked list is called “Node”. What is Single Linked List? Simply a list is a sequence of data, and the linked list is a sequence of data linked with each other.

Read more
post-image

Space Complexity

What is Space complexity? When we design an algorithm to solve a problem, it needs some computer memory to complete its execution. For any algorithm, memory is required for the following purposes… To store program instructions. To store constant values. To store variable values. And for few other things like funcion calls, jumping statements etc,. Space complexity of an algorithm can be defined as follows… Total amount of computer memory required by an algorithm to complete its execution is called as space complexity of that algorithm.

Read more
post-image

Time Complexity

What is Time complexity? Every algorithm requires some amount of computer time to execute its instruction to perform the task. This computer time required is called time complexity. The time complexity of an algorithm can be defined as follows… The time complexity of an algorithm is the total amount of time required by an algorithm to complete its execution. Generally, the running time of an algorithm depends upon the following…

Read more