## About Data Structure

At any stage of software development, quick and faster execution
of the end goal is desired. The efficiency of a program is
affected by how the data is stored and the programming language
used to implement the same. Data Structure essentially is the
manner in which data can be organized and stored for efficient
retrieval and processing We use data structures a number of
times in our daily operations. For instance, Stacks are used to
perform undo and redo operations in documents, Double Linked
Lists allow us to visit the previous and the next pages in
browsers and many more such applications. Data Structures is a
fairly advanced topic which needs a prior understanding of a
programming language.

Our courses start with a review of pointers and
introduction of Data Structure concepts followed by a detailed
explanation of each of the Data Structures. The course is
divided into 2 parts- Stacks, Lists & Queues and Trees &
Graphs. Stacks, Lists & Queues course is spread over 40
hours (20 Sessions) covers each of the data structures in detail
ending with an understanding of Complexity Analysis. Trees &
Graphs course is spread over 45 hours (23 Sessions) covers a
brief revision of the earlier topics followed by detailed
explanation of Trees and Graphs. Depending on the requirement,
the above courses can be taken separately or together but
requires prior knowledge of a programming language. All our Data
Structure and Analysis online courses are conducted by a
Bloombench tutor over our browser-based platform that allows an
interactive learning experience for our students wherein they
are able to practice the concepts as soon as it is taught. A
typical course has over 100 problems across topics to be solved
in presence of a tutor followed by project work.

## Stacks, Lists & Queues

- 1.1
Revision on Pointers
2 hr
- 1.2
Revision on Structures and dynamic memory allocation
2 hr
- 1.3
Revision on Recursion
2.5 hr
- 1.4
Abstract Data Types(ADT)
0.5 hr

- 2.1
Single linked list and application
6 hr
- 2.2
Double linked list
3 hr
- 2.3
Circular linked list
3 hr
- 2.4
Array implementation of linked list
2 hr

- 3.1
Stacks using arrays
2 hr
- 3.2
Infix, Prefix and Postfix expression
3 hr
- 3.3
Stacks using Linked list
1 hr
- 3.4
Queue using arrays
2 hr
- 3.5
Queue using Linked list
1 hr
- 3.6
Circular Queue
2 hr
- 3.7
Double ended queue
2 hr
- 3.8
Priority Queue
2 hr

- 4.1
Time complexity and space complexity
1 hr
- 4.2
Complexity analysis of all sorting techniques
1 hr

## Course Details

The following topics will be covered in detail:

### Introduction

Ever wondered, all that math you learned in school and college, is used where? Well, to completely understand algorithms you will need that knowledge. We specifically start with this section to brush up on a few concepts of mathematics like exponents, logarithms, series and more.

### Linked List

Have you ever used an image viewer? Are you familiar with a browser window, which enables you to go to the previous/next window? If yes, then you have already been introduced to the data structure - linked lists. A linked list is a collection of data elements, in which each element points to the next. In this section we will look at the advantages of using a linked list, its applications and will learn a few variations of it. Linked lists are also used for implementing other important data structures. Keep this one in your programming hat, and it will save you a lot of space and time (literally!)

### Stacks and Queues

The stack data structure in computer science has exactly the same meaning as it does in English. A pile of books, cup trays in a cafeteria, the undo button in a text editor and recursion are all examples of a stack. In this section we will learn about basic stack operations and various stack implementations.Standing in a line, a print job or an image upload are all done using queues. Even twitter uses a special type of queue to display the trending topics. In this section we will learn about different types of queues, various queue representations and their applications.

### Complexity Analysis

This is exactly where that math is needed. Here we will learn how to quantify the efficiency of an algorithm and we will also look at a few interesting algorithms.

### Do I need to have a programming background prior to learning Data Structures?

Yes, you need to have the fundamentals of the programming language, in which you want to study data structures.

### What is the course duration??

The course duration normally is around 40-45 hours. But since the learning is customised, it can vary depending on the student/batch.

### How many students are there in a batch?

A minimum of 2 and a maximum of up to 5. If you are the only one, then we recommend getting some of your friends. But if you are still interested and passionate to learn, we can consider your request.

### How will learning Data Structures help me?

Data Structures has many industrial applications, which will allow you to compare various techniques of structuring the data and selecting the best way to store it in terms of time and space complexity.

### Do I get a certificate after the completion of the course?

Yes, we do provide a participation certificate. However, if you wish to to obtain an excellence certificate then it is necessary for you to complete all the tests that are provided after each chapter and a final test taken at the end of the course.

### Do I have to pay the full amount for the course at once?

No. You can pay in installments after discussing with the finance team at Bloombench. We are here to make your learning process easy and fun.

### How do I register for the course?

If you are interested in the course, reserve your seat in the reservation form below

### What if my course syllabus does not match with the curriculum that is specified?

As it is personalised teaching the curriculum can be modified according to the student requirement. But in general the curriculum covers all the important topics needed.

### What if I miss a particular lecture?

If you miss a particular lecture there will be a coverup arranged for you depending on the availability of the professor

### What if I want to change my batch?

Yes, if you are not comfortable in a particular batch you can change it

### Is the fees refundable?

Yes, it is refundable depending on the refund policies

## Trees & Graphs

- 1.1
Revision on Pointers
2.5 hr
- 1.2
Revision on Structures and dynamic memory allocation
2.5 hr
- 1.3
Revision on Recursion
4 hr
- 1.4
Abstract Data Types(ADT)
0.5 hr

- 2.1
Binary Search Tree and Binary Tree
6 hr
- 2.2
Expression tree
2 hr
- 2.3
Threaded tree
2 hr
- 2.4
AVL trees
4 hr
- 2.5
Huffman Encoding
1 hr
- 2.6
M-way tree, B,B+,B* trees
1 hr

- 3.1
Graph and its representation
2 hr
- 3.2
DFS and BFS
4 hr
- 3.3
Dijkstras,Prims and Kruskals algorithm
4 hr

- 4.1
Time complexity and space complexity
1 hr
- 4.2
Complexity analysis of all sorting techniques
2 hr

## Course Details

The following topics will be covered in detail:

### Binary Trees

Trees are very powerful, nonlinear data structures which greatly help in searching through a large volume of data. In this section we will look at various types of trees, their advantages and their traversals.

### Graphs

If you have searched for something on Facebook, then you have already witnessed the power of graphs as data structures. In this section we will look at various types of graphs, traversal methods (DFS and BFS),dijkstras algorithm, spanning trees and network flow problems.

### Sorting and Searching

Sorting large chunks of data is a common and complex problem in the world of computer science. In this section we will learn about the various sorting algorithms available, such as insertion sort, shell sort, heap sort, quick sort, bucket sort, merge sort and radix sort. We will also analyse and compare all these algorithms. Also, we will learn how to search data effectively in an array with some of the teachniques most suited for a sorted array which includes index sequential search, binary search and interpolation search

### Complexity Analysis

This is exactly where that math is needed. Here we will learn how to quantify the efficiency of an algorithm and we will also look at a few interesting algorithms.

### Do I need to have a programming background prior to learning Data Structures?

Yes, you need to have the fundamentals of the programming language, in which you want to study data structures.

### What is the course duration??

The course duration normally is around 40-45 hours. But since the learning is customised, it can vary depending on the student/batch.

### How many students are there in a batch?

A minimum of 2 and a maximum of up to 5. If you are the only one, then we recommend getting some of your friends. But if you are still interested and passionate to learn, we can consider your request.

### How will learning Data Structures help me?

Data Structures has many industrial applications, which will allow you to compare various techniques of structuring the data and selecting the best way to store it in terms of time and space complexity.

### Do I get a certificate after the completion of the course?

Yes, we do provide a participation certificate. However, if you wish to to obtain an excellence certificate then it is necessary for you to complete all the tests that are provided after each chapter and a final test taken at the end of the course.

### Do I have to pay the full amount for the course at once?

No. You can pay in installments after discussing with the finance team at Bloombench. We are here to make your learning process easy and fun.

### How do I register for the course?

If you are interested in the course, reserve your seat in the reservation form below

### What if my course syllabus does not match with the curriculum that is specified?

As it is personalised teaching the curriculum can be modified according to the student requirement. But in general the curriculum covers all the important topics needed.

### What if I miss a particular lecture?

If you miss a particular lecture there will be a coverup arranged for you depending on the availability of the professor

### What if I want to change my batch?

Yes, if you are not comfortable in a particular batch you can change it

### Is the fees refundable?

Yes, it is refundable depending on the refund policies