Introduction to Data Structures & Algorithms

1. What is DSA?

DSA stands for:

  • Data Structure → Way of organizing and storing data efficiently.
  • Algorithm → Step-by-step procedure to solve a problem.

DSA helps programs:

  • run faster
  • use less memory
  • solve complex problems efficiently



2. What is a Data Structure?

A Data Structure is a method of storing data so that it can be accessed and modified efficiently.

Example:

  • Storing student names in an array
  • Organizing books in a library
  • Managing messages in a chat app



3. Types of Data Structures

Elements are stored sequentially.

1. Array

Array is a collection of similar elements stored in contiguous memory locations.

Example:

int arr[5] = {1,2,3,4,5};

2. Linked List

Collection of nodes connected using pointers.

Types:

  • Singly Linked List
  • Doubly Linked List
  • Circular Linked List

3. Stack

Collection of elements that follow the Last-In-First-Out (LIFO) principle.

Example:

  • Browser history
  • Undo feature in software
  • Function call stack in programming

4. Queue

Collection of elements that follow the First-In-First-Out (FIFO) principle.

Example:

  • Message queue in a chat app
  • Print queue in a printer
  • Task queue in a computer


Elements are not stored sequentially.

1. Tree

Collection of nodes connected in a hierarchical structure.

Types:

  • Binary Tree
  • Binary Search Tree
  • AVL Tree
  • Heap

Example:

  • File system in a computer
  • Database in a computer

2. Graph

Collection of nodes connected in a non-linear structure.

Example:

  • Google Maps
  • Social networks



4. What is an Algorithm?

An Algorithm is a finite sequence of instructions used to solve a problem.

  • Input
  • Output
  • Definiteness
  • Finiteness
  • Effectiveness



5. Types of Algorithms

  • Linear Search
  • Binary Search
  • Bubble Sort
  • Selection Sort
  • Merge Sort
  • Quick Sort

Function calls itself.




6. Time Complexity

It is the entity that measures the amount of time required by an algorithm to run.

ComplexityMeaning
O(1)Constant Time
O(log n)Logarithmic
O(n)Linear
O(n log n)Linearithmic
O(n²)Quadratic
O(n³)Cubicic



7. Space Complexity

It is the entity that measures the amount of memory required by an algorithm to run.




8. Difference Between Data Structure and Algorithm

Data StructureAlgorithm
Organizes dataSolves problem
Stores informationProcesses information
Example: ArrayExample: Binary Search



9. Advantages of DSA

  • Faster programs
  • Better memory usage
  • Efficient data handling
  • Scalable applications



10. Disadvantages of DSA

  • Complex implementation
  • Requires practice
  • Some structures use extra memory



Data Structures and Algorithms form the foundation of programming and software development. Learning DSA helps developers build efficient, scalable, and optimized applications.