Data Structure & Algorithms

0 Reviews

Course Description

In this course, you will learn data structures and algorithms by solving 100+ practice problems. You will begin each topic of every lesson by learning to solve defined problems related to a particular data structure and algorithm. Big data applications use data structures for allocating and managing data storage across distributed storage locations, ensuring scalability and performance. Certain big data programming environments — such as Apache Spark- provide data structures that mirror the underlying structure of database records to simplify querying. Characteristics of data structures include Linear or non-linear, Homogeneous or heterogeneous, Static or dynamic, etc. Some examples of how data structures are used include: Storing data, Managing resources, and services, Data exchange, Ordering and sorting, Indexing, Searching, Scalability.

Software engineers use algorithms that are tightly coupled with the data structures -such as lists, queues, and mappings from one set of values to another. This approach can be fused in a variety of applications, including managing collections of records in a relational database and creating an index of those records using a data structure called a binary tree.

Course Outcomes:

The student will be able to:

  1. For given algorithm students will be able to analyze the algorithms to determine the time
    and computation complexity and justify the correctness;
  2. Students will be able to handle operations like searching, insertion, deletion, traversing on
    various Data Structures and determine the time and computational complexity;
  3. Students will be able to write an algorithm Selection Sort, Bubble Sort, Insertion Sort,
    Quick Sort, Merge Sort, Heap Sort and compare their performance in terms of Space and
    Time complexity;
  4. Students will be able to choose appropriate Data Structure as applied to specific
    problem definition; &
  5. Demonstrate the reusability of Data Structures for implementing complex iterative
Basic Terminologies: Elementary Data Organizations, Data Structure Operations: insertion, deletion, traversal, etc.; Analysis of an Algorithm, Asymptotic Notations, Time-Space trade off. Searching: Linear Search and Binary Search Techniques and their complexity analysis. [6 hrs] (CO1)
ADT Stack and its operations: Algorithms and their complexity analysis, Applications of Stacks: Expression Conversion and evaluation – corresponding algorithms and complexity analysis. ADT queue, Types of Queue: Simple Queue, Circular Queue, Priority Queue; Operations on each type of Queues: Algorithms and their analysis. [10 hrs] (CO2, CO4, CO5)
Singly linked lists: Representation in memory, Algorithms of several operations: Traversing, Searching, Insertion into, Deletion from linked list; Linked representation of Stack and Queue, Header nodes, Doubly linked list: operations on it and algorithmic analysis; Circular Linked Lists: All operations their algorithms and the complexity analysis. Trees: Basic Tree Terminologies, Different types of Trees: Binary Tree, Threaded Binary Tree, Binary Search Tree, AVL Tree; Tree operations on each of the trees and their algorithms with complexity analysis. Applications of Binary Trees. B Tree, B+ Tree: definitions, algorithms, and analysis. [10 hrs] (CO2, CO4, CO5)
Objective and properties of different sorting algorithms: Selection Sort, Bubble Sort, Insertion Sort, Quick Sort, Merge Sort, Heap Sort; Performance and Comparison among all the methods, Hashing. [10 hrs] (CO3)
Basic Terminologies and Representations, Graph search and traversal algorithms and complexity analysis. [6 hrs] (CO2, CO4)
The online quiz for the whole subject will comprise 20 MCQ with one mark each for 30 mins.





  • Module-1 Introduction
    10 days

About Instructor