Showing the latest revision in section Curriculum 2022. The earlier version is in section Curriculum 2017.
Curriculum 2022
Prerequisite (if any) : Data Structures and Algorithms (prerequisite/corequisite), Systems Programming
Course Content
This is a companion lab of the Data Structures and Algorithms course. In this course, the students will learn to implement basic data structures in C/C++ and to use them for implementing some of the standard algorithms they learned in the theory course. A sample offering is given below.
Weeks 1-2: Iterative and recursive algorithms such as linear search, binary search, Towers of Hanoi and Euclid’s GCD algorithm.
Weeks 3-4: Selection sort, insertion sort, quicksort, external merge sort.
Weeks 5-6: Linked lists - single and doubly linked lists, queue and stack using linked lists.
Weeks 7-9: Binary trees, binary search trees, expression trees and infix-postfix conversion.
Weeks 10-11: Heaps and priority queues using min/max heaps. Graphs - representations and traversals.
Learning Outcomes
-
To be able to implement basic data structures and some of their standard applications.
-
To develop the ability to design and implement simple algorithms using the appropriate data structure learned in the course.
Curriculum 2017
This is a companion lab of the Data Structures and Algorithms course. In this course the students will learn to implement basic data structures and to use them for implementing some of the standard algorithmic applications they learned in the theory course.
Syllabus
Computations on arrays - binary search, bubble sort, insertion sort, quicksort, external merge sort, heaps and heapsort, priority queues using heaps.
Linked lists - single and doubly linked lists.
Queue and Stack data structures - array based and linked list based implementations. Infix to postfix conversion and expression evaluation.
Graphs - Adjacency matrix and adjacency list representations, DFS, BFS.
Binary Trees, Tree traversals, Binary search trees, B-Trees.
Textbook(s)
-
Thomas H. Cormen, Charles E. Leiserson, Ronald L Rivest, Clifford Stein. Introduction to Algorithms, Third Edition, PHI Learning, 2009. ISBN:978-81-203-4007-7.
-
Sanjoy DasGupta, C. H. Papadimitriou, Umesh Vazirani. Algorithms, First Edition, Tata McGraw Hill, 2006. ISBN: 978-0073523408.
Sample offering :
Weeks 1 to 4: Computations on arrays - binary search, bubble sort, insertion sort, quicksort, external merge sort, heaps and heapsort, priority queues using heaps.
Weeks 5 to 8: Linked lists - single and doubly linked lists. Queue and Stack data structures - array based and linked list based implementations. Infix to postfix conversion and expression evaluation.
Weeks 9 to 12: Graphs - Adjacency matrix and adjacency list representations, DFS, BFS. Binary Trees, Tree traversals, Binary search trees. B-Trees.
Past Offerings
- Offered in Jan-May, 2024 by Deepak Rajendraprasad, Srimanta Bhattacharya
- Offered in Aug-Dec, 2022 by Unnikrishan C
- Offered in Jul-Dec, 2021 by Jasine
- Offered in Jul-Dec, 2020 by Unnikrishnan, Chandra Shekar
- Offered in July-Dec, 2019 by Sahely, Krithika
- Offered in July-Dec, 2018 by Krithika, Albert
Course Metadata
Item | Details |
---|---|
Course Title | Data Structures and Algorithms Lab |
Course Code | CS2130 |
Course Credits | 0-0-3-2 |
Course Category | PMC |
Proposing Faculty | Jasine Babu &Krithika Ramaswamy |
Approved on | Senate 20 of IIT Palakkad |
Course prerequisites | Data Structures & Algorithms (Prerequisite/Corequisite), Systems Programming |
Course status | revised |
Course revision information | CS2010 Data Structures & Algorithms Lab |