
In most cases, a good algorithm will be packaged together with a set of appropriate data structures that provide the algorithm with the means to efficiently manipulate the data. In this interactive learning experience, we will investigate the typical data structures that are implemented in a variety of computing issues. You will get an understanding of how various data structures may be implemented in C++, and then you will put that knowledge into practice in the programming projects we provide you. Because of this, you will have a better understanding of what is occurring within a certain built-in implementation of a data structure and what outcomes you may anticipate from using it. Additionally, you will become familiar with common applications of these data structures.
Core concepts & internals of Data Structures
Trees, Linked Lists, Heaps, Graphs
Build all data structures from scratch
Brute Force & Optimisation Techniques
Space Time Complexity Analysis
Recursion & Backtracking
Dynamic Memory & Pointers
C++ Standard Template Library Basics
Data Structures Essentials is the only course you need to understand Data Structures and establish a solid C++ programming foundation. Every software program manipulates data (Insert, Delete, Update, Search). This course covers both the theory and hands-on implementation of each data structure from start to give you a solid grasp of Data Structures. This Computer Science course will teach you basic data kinds, such as integers, and how to organize and manage efficient structures.
Data Structures Foundation
Array, 2D Array, Strings, Usage of vector and other STL containers
Linked Lists, Stacks, Queues
Trees, BST
Heaps/Priority Queues
Hash-tables, Collision Handling
Graphs
Md. Atiab Jobayer Purno
Department of CSE
National Institute of Technology, Tiruchirappalli
Former NHSPC/ISCPC Winner
6 years of experience in web development
3 years of experience in cross platform mobile app development
Academic Team Member at BdMO and SPSB
Lecture 1 (Introduction) – June 27
- Asymptotic Notation Analysis
- Storage Structure of Array
- C++ STL Usage
Lecture 2 (Matrix Operation) – June 30
- Rotate Matrix
- Transpose Matrix
- Spiral Traversal
- Matrix Multiplication
Lecture 3 (Stack and Queue) – July 4
- Stacks
Implementation
Application
- Queue
Implementation
Application
Lecture 4(Linked List)–July 7
- Implementation
- Doubly/Circular Linked List
- Traversal
Programming Contest 1 =>July 8
Lecture 5 (LL Operations)–July 14
- Insert/ Delete/ Update
- Reverse a LL
- Detecting Loop
- Common LL Problems
Lecture 6 (Binary Tree)–July 18
- Implementation
- Binary Search Tree
- Preorder/Inorder/Postorder Traversal
Lecture 7 (BST Problems) – July 21
- BST Property Analysis
- BST Problems
Lecture 8 (Heap) – July 25
- Implementation
- Operations
Insert
Update
Get Min/Max
Programming Contest 2 =>July 26
Lecture 9 (Heap Extended)–July 28
- Extract Min/Max Operation
- Delete Operation
- HeapSort
- Priority Queue
Implementation
Application
Lecture 10 (Graph)–July 31
- Graph Properties
- Graph Representation
- Adjacency Matrix
- Adjacency List
Lecture 11 (Graph Extended)–August 5
- Breadth First Search
- Depth First Search
Lecture 12 (Contest Problem Solving) – August 12
- Solve Techniques for Final Contest
Familiarity with C/Python/Java
Ability to understand & write code (preferably C/C++)
Understanding of Array, String, Loops, Variables, Conditional Statements
Extract Min/Max Operation
Delete Operation
HeapSort
Priority Queue
Implementation
Application