The course will enable the students to
Course Learning Outcomes (CLOs):
Learning Outcome (at course level) Students will be able to: | Learning and teaching strategies | Assessment Strategies |
| Approach in teaching: Interactive Lectures, Discussion, Tutorials, , Demonstration
Learning activities for the students: Self-learning assignments, Effective questions, Quizzes, Presentations, Discussions
|
|
Introduction to Data Structures: The role of Algorithms in Computing, Analyzing Algorithms, Designing Algorithms.
Growth of Functions: Asymptotic notation, Standard notations & Common functions.
Elementary Data Structures: Linked lists – Searching, Insertion, Deletion, Sorted Linked List, Circular List, Header list, Two way list.
Stacks – Array representation & implementation of stack, Operations on Stacks : Push & Pop, Linked representation of stack, Applications of stack : Conversion of infix to prefix and postfix expressions, Evaluation of postfix expression using stack, Applications of recursion in problems like “Tower of Hanoi”.
Queues - Array and linked representation and implementation of queues, Operations on Queue: Create, Add, Delete, Full and Empty, Circular queues, D-queues and Priority Queues.
Searching: Linear and binary search methods, Comparison and analysis, Hashing: Hash Table, Hash functions.
Sorting: Bubble sort, Selection sort, Insertion sort, Quick sort, Merge sort, Heap sort, Radix sort.
Trees: Binary tree, Terminology & Representation, Binary Search Trees (BST)- Insertion and Deletion, AVL Trees, B-trees.
Graphs: Terminology & Representations, Graphs & Multi-graphs, Directed Graphs, Elementary Graph algorithms, Representation of Graphs, BFS, DFS.
Minimum Spanning Trees, The algorithm of Kruskal&Prim.
Single Source Shortest Path – The Bellman-Ford algorithm, Dijkstra‘s algorithm.
All Pair Shortest Path, The Floyd, Warshall algorithm, Basics of NP – Completeness.