Data Structures

Data structures are much needed skills to start a great career, it is the most important part of any system. It is always a big advantage to have knowledge of Data Structures and it's implementation.
This course will help you understand and implement data structures like Linked Lists, Stacks, Queues, Trees, Graphs and many more. The course will also cover serching and sorting algorithms, finding time and space complexities.

Duration
80 Hrs
Prerequisites
C, C++
Core Java

Course Content

Algorithms

  • Understanding algorithms
  • How to write algorithms
  • Optimizing algorithms
  • Finding time complexity of an Algorithm

Introduction to Data Structure

  • Understanding Data types
  • What is Data Structure
  • Need of Data Structure
  • The Mathematical model

Lists

  • What is List and what is it’s need
  • Squentails lists (Arrays)
    • Advantages, Limitations
    • Implementing sequential lists
  • Linked Lists
    • The LinkedList structure
    • Advantages, Limitations
    • Singly Linked List
    • Doubly Linked List
    • Circular Linked List
  • Time complexity of Linked List and Sequential lists

Stacks

  • Understanding stacks
  • Stack usage
  • Implementing Stack
    • Sequential implementation
    • Linked implementation
  • Double stack and it’s implementation

Tree

  • Introduction to Tree data structure
  • Tree usage
  • Types of Trees
    • General Tree
    • Binary Tree
    • Binary Search Tree
  • Binary Search Tree (BST)
    • Understanding Binary Search Tree
    • BST usage
    • Understanding BST algorithms
      • Insertion and deletion
      • Inorder, Preorder, Postorder
      • BFS and DFS
    • Time complexity of BST algorithms
    • Implementing BST using arrays
    • Constructing BST back using the tree traversals
  • Threaded BST
    • Why Threaded BST
    • Understanding threaded BST
    • Threaded BST Algorithms
      • Insertion and deletion
      • Inorder, Preorder, Postorder
    • Time Complexity of Threaded BST
  • Height Balanced Trees (AVL Trees)
    • What is AVL Tree
    • Balance factor, right heavy and left heavy tree
    • Height balancing algorithm
    • Insertion and deletion algorithms
  • Few other types of trees
    • Strictly binary tree
    • Symmetric tree
    • Red Black Tree
  • B Tree and B+ Tree

Queues

  • What is Queue?
  • Understanding Queue usage
  • Implementing Queues
    • Sequential implementation
    • Linked implementation
  • Circular Queue
    • Usage and implementation
  • Types of Queue
    • Priority queue
    • Double ended queue

Graphs

  • Introduction to Graphs
  • Types of Graph
    • Directed Graph
    • Undirected Graph
  • Implementing Graphs
    • Sequential implementation
    • Linked implementation
  • Graph Algorithms
    • BFS
    • DFS
    • Shortest Path Algorithm
  • Minimal Spanning Tree
    • Creating minimal spanning tree from a graph using
      • Kruskal’s algorithms
      • Prim’s algorithm

Hash Tables

  • The hashing technique
  • Understanding Hash tables
  • Time complexity of operations on Hash Table
  • Collision resolution algorithms
  • Rehashing
  • Improving performance using Hash Tables

Infix, Prefix and Postfix Expression

  • Infix to prefix conversion and it’s evaluation
  • Infix to postfix conversion and it’s evaluation

Searching Algorithms

  • Linear Search
  • Binary Search
  • Indexed sequential search
  • Fibonacci Search

Sorting Algorithm

  • Bubble Sort
  • Selection Sort
  • Insertion Sort
  • Radix Sort
  • Merge Sort
  • Quick Sort
  • Heap Sort

Finding Time and Space Complexity of Algorithms

  • Omega notation
  • Big O notation

Course Details

This course will cover the most important concepts of Data structure like linked lists, stacks, queues, trees and graphs in depth along with it’s implementation with C++.
The Data structure course will also take you through multiple searching and sorting algorithms
Along with the regular contents the course has special emphasis on time and space complexity of algorithms using Omega and Big O notation.
We also cover a number of real time problems, scenarios and their solutions using data structure which helps the participants build concrete understanding of data structure concepts.
We have got the Best Data Structure faculty in Pune with more than 15 yrs of experience in the field.

Key Features

  • Experienced trainer
  • Exposure to real time scenarios
  • In depth coverage of the contents
  • Detailed course material
  • Access to BitCode’s internal portals
  • Repeat the course for a year

Reviews

Schedule

FAQs

We will be using C++ to implement the data structures learned, as it provides a string Object Oriented base.

Yes, you will be getting BitCode’s course material. Also you will be getting access to BitCode’s internal portal where you can access presentations, demos, articles, tests and quizzes.

BitCode’s faculties will try to help you out provided you have reserved a time slot. Generally on Saturdays we arrange query and revision sessions where you can put your queries and get it clarified.

All our trainers are professionals and industry experts with at least 10-12 years of relevant teaching and development experience. Our trainers have also conducted corporate trainings for number of enterprises and organisations.

Schedule