## Introduction to data structures

In this lesson and in this series of lessons, we will introduce you to the concept of data structures. Data structure is the most fundamental and building block concept in computer science and good knowledge of data structures is a must to design and develop efficient software systems. Ok, so let’s get started we deal […]

## Selection sort algorithm

In our previous lesson, we tried to understand the importance of sorting as a computational problem. We have so many sorting algorithms designed over a period of time, mostly to improve upon the previously designed algorithms. Now we will study and analyze these algorithms one by one and the first one that we want to […]

## Pointers and dynamic memory – stack vs heap

Memory, is one important and crucial resource on our machine and it is always good to know the architecture of memory, the way operating system manages memory and the way memory is accesible to us as programmers. In this lesson we will discuss the concept of dynamic memory and we will see how to work […]

## Quicksort algorithm

In our previous lesson in this series we discussed and analyzed Merge sort algorithm Merge sort, as we saw is a recursive algorithm in which we follow a divide-and-conquer strategy the running time of Merge sort is O(nlogn) in worst case but Merge sort is not an in place sorting algorithm and in place sorting […]

## Merge sort algorithm

So far in this series on sorting algorithms, we have talked about 3 of the sorting algorithms – selection sort, bubble sort and insertion sort. And we have seen that these algorithms are not so fast, they’re all O (n^2) in average case. Now in this lesson, we’re going to talk about one algorithm which […]

## Data structures: Introduction to Trees

Hello everyone ! In this lesson, we will introduce you to an interesting data structure that has got its application in a wide number of scenarios in computer science and this data structure is tree. So, far in this series, we have talked about what we can call linear data structures. Array, Linked List, stack […]

## Linked List in C/C++ – Inserting a node at beginning

In our previous lesson, we saw how we can map the logical view of a linked list into a C or C++ program. We saw how we can implement two basic operations: one traversal of the linked list and another inserting a Node at the end of the linked list. In this lesson we will […]