ProDeveloperTutorial.com

Tutorials and Programming Solutions
Menu
  • Top Coding Questions
    • Recursive or DFS
    • Strings
    • Matrix
    • Divide and conquer
    • Bit Manipulation
    • Backtracking
    • Linked list
    • Array
    • Dynamic programming
    • Two pointers
  • Tutorials
    • Shell Scripting
    • System Design

AJ’s guide to Data Structures and Algorithms. The complete Guide from beginner to expert.

What are Data Structures and Algorithm and why are they important?

In simple terms, Data Structures are simply a way to store the data in a format that is easy to organise and retrieve.

Algorithms are simply a function or a ways to use data structure to write our program.

But, does it mean, if you study all the data structure and algorithms,  you will become good in programming?

It might not be true. Because, in addition to knowing about DS and Algo, you need to know how to apply them to make the program more efficiently.

Below index has around 85+ topics on DS and Algo that will make you an expert in programming. It took me almost 6 months and many sleepless nights to complete all the articles. Any suggestions are always welcome.

Chapter 1: Introduction to algorithm and their types.

Chapter 2: Performance analysis of an algorithm: Space Complexity

Chapter 3: Performance analysis of an algorithm: Time Complexity

Chapter 4: Introduction to Asymptotic Notations

Chapter 5: Asymptotic Notation Big O

Chapter 6: Asymptotic Notation Big Omega and Theta

 

Sorting! First question arises, why do we need sorting when there are various inbuilt sorting functions?

From the point of interview, it is important because, the interviewer might ask you to sort when a un-sorted array is given.

About the inbuilt functions, they are efficient for less number of input, but when the input size increases, we need to implement our custom sorting algorithms. For example, consider big companies with multiple complex data, those needs to be sorted according to the location, time. Inbuilt functions will not be usable here. Hence there is a need to implement sorting algorithms.

Below are list of sorting algorithms that we shall be studying:

Sorting Algorithm 1: Bubble sort

Sorting Algorithm 2: Selection Sort

Sorting Algorithm 3: Insertion Sort

Sorting Algorithm 4: Merge Sort

Sorting Algorithm 5: Quick Sort

Sorting Algorithm 6: Pigeonhole Sort

Sorting Algorithm 7: 3-Way Quicksort (Dutch National Flag) algorithm

Sorting Algorithm 8: Cocktail Sort

Sorting Algorithm 9: Radix Sort

Sorting Algorithm 10: Bucket Sort

Sorting Algorithm 11: Counting Sort

Sorting Algorithm 12: Shell Sort

Sorting algorithm 13: Topological Sort

Sorting algorithm 14: Comb Sort

 

 

Searching Algorithm 1: Linear Search

Searching Algorithm 2: Binary Search

Searching Algorithm 3: Jump Search

Searching Algorithm 4: Interpolation Search

Searching Algorithm 5: Exponential Search

Searching Algorithm 6: Ternary Search

 

Data structure tutorial 1: Introduction to Stack Data structure and Implementation using arrays

Data structure tutorial 2: Stack Implementation using Linked List with explanation and Implementation in C

Data structure tutorial 3: Singly Linked List explanation with Implementation in C

Data structure tutorial 4: Doubly Linked List [DLL] with explanation with implementation in C++

Data structure tutorial 5: Circular Singly Linked List with explanation with implementation in C

Data structure tutorial 6: Circular Doubly Linked List explanation and Implementation in C++

Data structure tutorial 7: Introduction to Queue Data Structure with explanation and implementation using arrays in C

Data structure tutorial 8: Queue Data Structure implementation using linked list in C

Data structure tutorial 9: Circular Queues Data structure introduction and Implementation using arrays in C.

Data structure tutorial 10: Implementation of Circular Queue using Linked List in C++

 

Tree data structure tutorial 1. Tree Data Structure Introduction

Tree data structure tutorial 2. Introduction to Binary Tree

Tree data structure tutorial 3. Binary Tree Traversal

Tree data structure tutorial 4. Binary Search Tree Introduction

Tree data structure tutorial 5. Implementation of BST in C++

Tree data structure tutorial 6. Implementation of Binary tree in C++

Tree data structure tutorial 7. TRIE Data structure

Tree data structure tutorial 8. Heaps

Tree data structure tutorial 9. Priority Queue

Tree data structure tutorial 10. AVL tree introduction and it’s implementation

Tree data structure tutorial 11. Introduction to Segment Trees

Tree data structure tutorial 12: Performing minimum Range query in Segment Tree and implementation

Tree data structure tutorial 13. Lazy propagation of segment trees with example

Tree data structure tutorial 14. Fenwick trees and implementation

 

 

Graph data structure tutorial 1. Graph Introduction

Graph data structure tutorial 2. Graph Representation Adjacency Matrix

Graph data structure tutorial 3. Graph Representation Adjacency List and implementation in C++

Graph data structure tutorial 4. Graph Traversal

Graph data structure tutorial 5. Graph Traversal using Stack and Queue

Graph data structure tutorial 6. Bipartite graph

Graph data structure tutorial 7. Graph colouring problem

Graph data structure tutorial 8. Isomorphic Graph

Graph data structure tutorial 9. Euler Graph

Graph data structure tutorial 10. Hamiltonian Graph

 

 

Introduction to Brute force approach with example

Introduction to Recursion with stack frame and recursion tree

Introduction to Dynamic Programming with example

Introduction to Backtracking Approach with example

Introduction to Greedy Technique with example

Introduction to Two pointer approach with example code

 

Mnimum Spanning Tree tutorial 1. Introduction to minimum spanning tree

Minimum Spanning Tree tutorial 2: Introduction to Kruskal’s algorithm and Implementation

Minimum Spanning Tree tutorial 3. Introduction to prims algorithm and its implementation

 

Finding shortest path algorithm tutorial 1. Introduction to Bellman–Ford algorithm with implementation

Finding shortest path algorithm tutorial 2. Introduction to Dijkstra’s Algorithm with implementation

Finding shortest path algorithm tutorial 3: Introduction to Floyd Warshall algorithm and Implementation

 

 

String matching algorithms tutorial 1. Knuth Morris Pratt String matching algorithm and implementation

String matching algorithms tutorial 2: Introduction to Rabin Karp algorithm with implementation.

String matching algorithms tutorial 3: Introduction to Boyer Moore algorithm and implementation

 

Knapsack Problem tutorial 1: Fractional knapsack tutorial with implementation

Knapsack Problem tutorial 2: 0/1 knapsack problem tutorial with implementation

 

Introduction to P, NP, NP hard, NP Complete

Tower of Hanoi

Sieve Of Eratosthenes

Kadane Algorithm explanation with implementation in C++

Sliding Window technique

Travelling salesman problem with implementation

Coin Change Problem

Total number of ways to get denomination of coins.

Job Sequencing with deadline Problem

Activity Selection Problem

House Robber

 

 

 

 

 

 

 

 

 

 

Search website

Pages

  • About and Contact Us
  • Affiliate Disclosure
  • Aj’s guide for C programming for beginners
  • Aj’s guide to C++ Programming for beginners
  • AJ’s guide to Data Structures and Algorithms. The complete Guide from beginner to expert.
  • C language tutorial for beginners
  • Frequently asked Competitive Programming Coding Interview Questions and their solutions
  • Privacy policy
  • Sorting and Searching algorithms full list

ProDeveloperTutorial.com

Tutorials and Programming Solutions

Recent Posts

  • Searching Algorithm 6: Ternary Search
  • Searching Algorithm 5: Exponential Search
  • Searching Algorithm 4: Interpolation Search
  • Sorting algorithm 14: Comb Sort
  • Sorting algorithm 13: Topological Sort
Copyright © 2019 ProDeveloperTutorial.com
Theme by MyThemeShop.com