Introduction to DSA


In this tutorial, we are going to learn the basics of Data Structures and Algorithms.


Data structure is a way of organising data into the memory so we can use it efficiently.

Algorithm is step-by-step solution to solve a particular problem. We can say that its a set of well defined instructions to solve a particular problem.


Examples Of Algorithms

Algorithm to subtract two numbers

Step 1: Start
Step 2: Declare variables no1, no2 and substraction. 
Step 3: Read the values of no1 and no2. 
Step 4: Subtract no1 and no2 and assign the result to substraction.
        substraction=no1-no2 
Step 5: Display substraction 
Step 6: End

Algorithm to find square of a numbers

Step 1: Start
Step 2: Declare two variables num and square. 
Step 3: Read the value of num. 
Step 4: Multiply num with num and assign the result to square.
        square = num*num 
Step 5: Display square 
Step 6: End

Why to learn Data Structures & Algorithms?

If you are good at DSA(Data Structures And Algorithms) and you know how to solve a particular problem efficiently, the companies like FAANG (Facebook, Amazon, Apple, Netflix, Google) are hiring programmers who are good at DSA.


What are Algorithms?

Algorithm is nothing but a solution to a problem. One problem may have multiple algorithms.

For ex.

Problem: Find the sum of first n natural numbers

Algorithm 1:

Step 1: Start
Step 2: Declare variables i, num and sum. 
Step 3: Read the value of num. 
Step 4: Set i=1 and sum=0
Step 5: Repeat steps 5 to 7 till i is less than equal to num
Step 6: sum = sum + i
Step 7: i = i+1
Step 8: Display sum
Step 9: End

We can implement this algorithm in any Programming Language, let’s implement above algorithm in C Programming Language.

#include<stdio.h>

int main() {
    int num, i, sum;  //declare i, num and sum
    scanf("%d", &num); //Read the value of num.
    
    i = 1;
    sum = 0; //Set i=1 and sum=0
    
    //Repeat loop till i is less than equal to num and increment value of i by 1
    for(i=1; i<=num; i++){
        sum = sum + i;
    }
    //Display sum
    printf("Sum of first %d numbers is %d .", num, sum);
}

If you enter smaller values then its okay. But above algorithm is not suitable for larger values. Let’s see another algorithm.

Algorithm 2:

Step 1: Start
Step 2: Declare variables num and sum. 
Step 3: Read the value of num. 
Step 4: Set sum=0
Step 5: sum = (num*(num+1))/2
Step 6: Display sum
Step 7: End

Here we know formula for summation of first N natural numbers i.e.

n*(n+1)/2.

#include<stdio.h>

int main() {
    int num, sum;  //declare  num and sum
    scanf("%d", &num); //Read the value of num.
    
    sum = 0; //Set sum=0
    
    //use formula
    sum = num*(num+1)/2;
    
    //Display sum
    printf("Sum of first %d numbers is %d .", num, sum);
}

A software/application consists of many algorithms, optimising any one of them leads to good performance.



Array Data Structure

Back to top