Data Structures course

Course Modules we covered:

Data Structures

  • Introduction
  • Variables
  • Datatypes
  • Data Structures
  • Structured Representation
  • Statements and Control Structures
  • Abstract Data Types
  • Static & Dynamic Data Types
  • Arrays & Pointers
  • Linked List
  • What is an algorithm
  • Why analysis of Algorithms
  • Goal of analysis algorithms
  • What is the Running Time Analysis
  • How to Compare Algorithms
  • What is the Rate of Growth
  • Commonly Used Rate of Growth
  • Types of Analysis
  • Big-O Notation
  • Omega Notation
  • Theta Notation
  • Why is it called Asymptotic Notation
  • Guidelines for Asymptotic Notation
  • Properties of Notation
  • Commonly used Logarithms and Summations
  • Mater Theorem For divide and Conquer
  • Problems on divide and Conquer Master theorem
  • Master theorem for subtract and Conquer Recurrences
  • Variant of subtraction and conquer master theorem
  • Method of Guessing and Confirm
  • Amortized Analysis
  • Problems on Algorithms Analysis
  • Testing

Stacks with Algorithms

  • Defining stack
  • Application of stack
  • Conversion and Evaluation of Expressions
  • Operations of stack
  • Stack implemented as an array
  • Stack implemented with pointers
  • Using Stacks to solve problems

Standard Input and Output Functions

  • Library Functions
  • Single Character Input – The getchar Function
  • Single Character Output – The Putchar Function
  • Entering input Data – The scanf Function
  • More about the scanf/ Printf
  • The gets and Puts Function

Queues with Algorithms

  • Defining Queue
  • Application of Queue
  • Operation of Queue
  • Circular Queue
  • Priority Queue
  • Double Ended Queue
  • Queue implemented with Pointers
  • Differences between Stacks and Queues
  • Problems on Queues

Linked List

  • Introduction
  • What is a Linked List
  • Advantages of Linked List over an Array
  • Application of Linked List
  • Types of Linked Lists
  • Singly Linked Lists
  • Operation of Singly Linked Lists
  • Doubly Linked Lists
  • Operations on Doubly Linked Lists
  • Circular Linked Lists
  • Circular Double Linked Lists
  • Uses of Linked Lists
  • Difference between Arrays and Linked List
  • A memory-Efficient Doubly Linked List
  • Problems on Linked List

Trees

  • Introduction
  • Binary Trees
  • Implementation of Binary Trees
  • Insertion into a Binary Tree
  • Binary Tree Deletion
  • Traversing a Binary Tree
  • Binary Search Trees
  • Binary Height Balanced Trees
  • AVL Trees
  • B- Trees

Sorting Techniques with Order of Growth

  • Introduction
  • Why Sorting Necessary
  • Classification of sorting Algorithms
  • Other classification
  • Bubble Sort
  • Selection Sort
  • Quick Sort
  • Merge Sort
  • Iterative Merge Sort
  • Introduction to Heap
  • Heap Operations
  • Heap Sort
  • Comparison of Sorting Algorithm
  • Non-Comparison Sorting Algorithm

Searching Techniques

  • Introduction
  • Linear Search
  • Binary Search

Hashing Techniques

  • Introduction
  • What is Hashing
  • HashTable ADT
  • Hashing Techniques
  • Division Method
  • Mid Square Method
  • Folding Method
  • Hash Collision
  • Open Address

Graphs

  • Introduction
  • Types of Graphs
  • Various Representation of Graphs
  • Application of Graphs
  • Graph Traversals

Course Highlights:

  • Paper Solving on all Data Structures Concepts including MNC Company Papers Amazon, Oracle ,Microsoft etc