
Explore how data structures organize, store, process, and retrieve data to improve program efficiency, and learn to select structures based on data size, operations, and resource constraints.
Explore abstract data type classification by linear versus nonlinear, homogeneous versus non-homogeneous, and static versus dynamic; learn core linear examples: arrays, linked lists, stacks, and queues.
Explore linked lists, where each node stores data and a pointer to the next node, with a head and null pointer, enabling sequential access and operations: search, insertion, deletion, traversal.
Explore the stack ADT and its push and pop operations, learn how overflow and underflow are handled, and compare array and linked-list implementations in a last-in, first-out structure.
Explore selection sort and bubble sort as in-place, comparison-based techniques. Learn how selection sort is not stable and how bubble sort swaps elements to move the largest to the end.
This course is aimed at any undergraduate students who are at beginners level in learning Data Structure and Algorithm, This course focus on the fundamental concepts of Data structure, its analysis and analysis of algorithms.
Basic ADT's Arrays, Linked Lists, Stacks and Queue are discussed in detail. The course is not aimed at writing the pseudo code for operations, rather on their working. Each one discussed with applications and their Pros and Cons.
The second part of the course is to teach analysis of simple algorithms with appropriate example. The two algorithm design technique Iterative and Divide and Conquer are discussed in detail with reference to the sorting algorithms.
Each session is provided with practice example and quiz to know the level of understanding.