www.ktustudents.
in
Course No. Course Name L-T-P - Credits Year of
Introduction
CS231 DATA STRUCTURES LAB 0-0-3-1 2016
Pre-requisite: CS205 Data structures
Course Objectives
1. To implement basic linear and non-linear data structures and their major operations.
2. To implement applications using these data structures.
3. To implement algorithms for various sorting techniques.
List of Exercises/Experiments : (Minimum 12 are to be done)
1. Implementation of Stack and Multiple stacks using one dimensional array. **
2. Application problems using stacks: Infix to post fix conversion, postfix and pre-fix
evaluation, MAZE problem etc. **
3. Implementation of Queue, DEQUEUE and Circular queue using arrays.
4. Implementation of various linked list operations. **
5. Implementation of stack, queue and their applications using linked list.
6. Implementation of trees using linked list
7. Representation of polynomials using linked list, addition and multiplication of
polynomials. **
8. Implementation of binary trees using linked lists and arrays- creations, insertion, deletion
and traversal. **
9. Implementation of binary search trees – creation, insertion, deletion, search
10. Application using trees
11. Implementation of sorting algorithms – bubble, insertion, selection, quick (recursive and
non-recursive), merge sort (recursive and non-recursive), and heap sort.**
12. Implementation of searching algorithms – linear search, binary search.**
13. Representation of graphs and computing various parameters (in degree, out degree etc.) -
adjacency list, adjacency matrix.
14. Implementation of BFS, DFS for each representation.
15. Implementation of hash table using various mapping functions, various collision and
overflow resolving schemes.**
16. Implementation of various string operations.
www.ktustudents.in
www.ktustudents.in
17. Simulation of first-fit, best-fit and worst-fit allocations.
18. Simulation of a basic memory allocator and garbage collector using doubly linked list.
** mandatory.
Expected Outcome:
Students will be able to:
1. appreciate the importance of structure and abstract data type, and their basic usability in
different applications
2. analyze and differentiate different algorithms based on their time complexity.
3. implement linear and non-linear data structures using linked lists.
4. understand and apply various data structure such as stacks, queues, trees, graphs, etc. to
solve various computing problems.
5. implement various kinds of searching and sorting techniques, and decide when to choose
which technique.
6. identify and use a suitable data structure and algorithm to solve a real world problem.
www.ktustudents.in