The course will enable the students to
Course Outcomes (COs).
Course Outcome (at course level) | Learning and teaching strategies | Assessment Strategies |
---|---|---|
On completion of this course, the students will: CO52. Identify how the choice of data structures and the algorithm design methods impact the performance of programs.
CO53. Analyse algorithm efficiency in terms of time and space complexity.
CO54. Implement linear data structures and analyse their applications
CO55. Identify the recursive tasks and design recursive algorithms.
CO56. Recognize the use of non-linear data structures in real life applications.
| Approach in teaching: Interactive Lectures, Group Discussion, Tutorials, Case Study, Demonstration
Learning activities for the students: Self-learning assignments, Exercises related with Machine Learning algorithm, presentations | Class test, Semester end examinations, Quiz, Practical Assignments, Presentation |
Algorithm definition and its characteristics, comparing algorithms, Abstract data types, Algorithm analysis and its types, Asymptotic Notation: Omega-n Notation, Theta-0 Notation, Big O notation.
Introduction to Data Structure: Data Organisation. Types of Data structures: linear and nonlinear
Object oriented programming concepts
Arrays (one, two and multi-dimensional),.Array operations - slicing, dicing, searching, matrix operations, searching (linear search, binary search) and sorting arrays (Exchange Sorts (Bubble sort, Quick sort), Straight Selection sort, and Insertion sort.).
Recursion concepts and applications.
Linked list: Introduction to linked list, linked list as a data structure, creation, insertion and deletion of nodes from a list, comparing linked lists with arrays. Doubly Linked lists, Circular linked lists .Application of linked lists.
Stack: Definition, Primitive operations, representing stack in Python, implementing the push and pop operation, infix, postfix and prefix expression (definition and examples), infix to postfix, evaluation of postfix expression, Applications.
Queues: Introduction, Definition of Queue and its sequential representation, python implementation of queues, insert and remove operation, Applications and Priority queues
Graphs and Trees: Terminology & Representations, Graphs & Multi-graphs, Directed Graphs, Elementary Graph algorithms, Representation of Graphs ,Traversals: BFS, DFS. Trees-Binary tree, Terminology & Representation, Traversal of binary trees, Binary Search Trees (BST).
1. Miller, Curtis. Hands-On Data Analysis with NumPy and Pandas: Implement Python Packages from Data Manipulation to Processing. United Kingdom: Packt Publishing, 2018.
2. Jean-Paul Tremblay, Paul G. Sorenson,“An Introduction To Data Structures With Application”,McGraw Hill Education,2017
E-RESOURCES:
JOURNALS: