Algorithms & Data Structures

After completing this training you will be able crack any Aptitude round & Technical Round Interview. You will also be able to score high in eLitmus and Amcat easily. The syllabus has been tailored exclusively for this purpose.

Module 1 : Data Structure and Algorithm Design


  1. Introduction

1.1 Why study data structures & algorithms.

1.2. Insertion Sort algorithm.

1.3 How to calculate the time complexity

1.4 Asymptotic Notation

1.5 Time complexity of Insertion Sort algorithm

1.6 The Big O notation and examples

1.7 Comparison of running times

  1. Basic Sorting and Search Algorithms

2.1 Selection Sort

2.2 Bubble Sort

2.3 In place sorting – Quicksort

2.4 Stable sorting algorithms

2.5 Searching elements in an un-ordered array

2.6 Searching elements in an ORDERED array – Binary Search

2.7 Inserting and deleting items in an ORDERED array

  1. Linked Lists

3.1 What is a Linked List?

3.2 Implementing a Linked List in Java.

3.3 Length of a Linked List

3.4 Inserting a new Node

3.5 Deleting a node in link list.

3.6 Searching for an Item

3.7 Doubly Ended link Lists

3.8 Inserting data in a sorted Linked List

  1. Stacks and Queues

4.1 Stacks

4.2 Implementing Stacks using Arrays

4.3 Queues

4.4 Implementing Queues using Arrays

4.5 Double Ended Queues

4.6 Double Ended Queues using Arrays

4.7 Prefix and Postfix Expressions.

  1. Recursion

5.1 What is Recursion?

5.2 Recursion examples

5.3 Tower of Hanoi

5.4 Merge Sort

5.5 Quick Sort

5.6 Time Complexity of Merge Sort and Quick sort

  1. Binary Search Trees

6.1 Why Binary Trees?

6.2 Binary Search Trees

6.3 Finding smallest & largest values

6.4 Finding an item in a Binary Search Tree

6.5 Inserting an item in a Binary Search Tree

6.6 Deleting an Item – case1, case2, case3

6.7 Tree Traversal: Pre Order

6.8 Tree Traversal: In Order

6.9 Tree Traversal: Post Order

6.10 Unbalanced Trees Vs Balanced Trees

6.11 Height of a Binary Tree

6.12 Time Complexity of Operations on Binary Search Trees

  1. Heaps

7.1 Why Heaps?

7.2 Heaps as Priority Queues

7.3 Representing heaps using Arrays

7.4 Inserting an item in a heap

7.5 Deleting the root of heap

7.6 Building a heap

7.7 Heap Sort

  1. Hash tables

8.1 Why Hash tables?

8.2 The Hash function

8.3 Collision.

8.4 Resolving collisions through chaining

8.5 Open Addressing to resolve collisions

  1. More Sorting Algorithms

9.1 Shell Sort

9.2 Counting Sort

9.3 Radix Sort

9.4 Bucket Sort

Certificate Code