0% found this document useful (0 votes)
25 views

Course Outcome: CO1: CO2: CO3: CO4: Apply and Implement Learned Algorithm Design Techniques and Data Structures To Solve Problems

This document outlines a course on data structures and algorithm lab. It details the course objectives, topics covered including linear and nonlinear data structures, and a list of lab exercises on topics like arrays, linked lists, stacks, queues, trees and graphs.

Uploaded by

Mazharulislam
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views

Course Outcome: CO1: CO2: CO3: CO4: Apply and Implement Learned Algorithm Design Techniques and Data Structures To Solve Problems

This document outlines a course on data structures and algorithm lab. It details the course objectives, topics covered including linear and nonlinear data structures, and a list of lab exercises on topics like arrays, linked lists, stacks, queues, trees and graphs.

Uploaded by

Mazharulislam
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

Department of Computer Science & Engineering

RCC Institute of Information Technology, Kolkata


Canal South Road, Kolkata - 700015

Paper Name: Data Structure & Algorithm Lab Paper code: CS392

Semester: 5th Academic Session: 2018-19


Course Title: Data Structure & Algorithm Lab Code: CS392
Course Designation: Compulsory Contact Hours: -3L/week
Type Of Course: - Practical Final Exam: 3hours
Continuous Assessment: 40 Final Exam Marks: 60

Lab Attendance: 20 Lab Assignment & Viva voice: Assignment:40


performance record: 20 20

COURSE OUTCOME:

CO1:

CO2:

CO3: 

CO4: Apply and implement learned algorithm design techniques and data structures to solve problems.

TOPICS COVERED:
Module -I. [8L] Linear Data Structure Introduction (2L):
Why we need data structure?
Concepts of data structures: a) Data and data structure b) Abstract Data Type and Data Type.
Algorithms and programs, basic idea of pseudo-code.
Algorithm efficiency and analysis, time and space analysis of algorithms – order notations.
Array (2L):
Different representations – row major, column major.
Sparse matrix - its implementation and usage. Array representation of polynomials.
Linked List (4L):
Singly linked list, circular linked list, doubly linked list, linked list representation of polynomial and applications.

Module -II: [7L]


Linear Data Structure
[Stack and Queue (5L):
Stack and its implementations (using array, using linked list), applications.
Queue, circular queue, dequeue. Implementation of queue- both linear and circular (using array, using linked list),
applications.
Recursion (2L):

Page No: 1 Compiled By: Sk. Mazharul Islam & Priya Sern Purkait
Department of Computer Science & Engineering
RCC Institute of Information Technology, Kolkata
Canal South Road, Kolkata - 700015

Paper Name: Data Structure & Algorithm Lab Paper code: CS392

Semester: 5th Academic Session: 2018-19


Principles of recursion – use of stack, differences between recursion and iteration, tail recursion.
Applications - The Tower of Hanoi, Eight Queens Puzzle.

Module -III. [15L]


Nonlinear Data structures
Trees (9L):
Basic terminologies, forest, tree representation (using array, using linked list).
Binary trees - binary tree traversal (pre-, in-, post- order), threaded binary tree (left, right, full) - non-recursive traversal
algorithms using threaded binary tree, expression tree.
Binary search tree- operations (creation, insertion, deletion, searching).
Height balanced binary tree – AVL tree (insertion, deletion with examples only).
B- Trees – operations (insertion, deletion with examples only).
Graphs (6L):
Graph definitions and concepts (directed/undirected graph, weighted/un-weighted edges, sub-graph, degree, cutvertex/
articulation point, pendant node, clique, complete graph, connected components – strongly connected
component, weakly connected component, path, shortest path, isomorphism).
Graph representations/storage implementations – adjacency matrix, adjacency list, adjacency multi-list.
Graph traversal and connectivity – Depth-first search (DFS), Breadth-first search (BFS) – concepts of edges used in
DFS and BFS (tree-edge, back-edge, cross-edge, forward-edge), applications.
Minimal spanning tree – Prim’s algorithm (basic idea of greedy methods).

Module - IV.[10L]
Searching, Sorting:
Sorting Algorithms (5L): Bubble sort and its optimizations, insertion sort, shell sort, selection sort, merge sort, quick
sort, heap sort (concept of max heap, application – priority queue), radix sort.
Searching (2L): Sequential search, binary search, interpolation search.
Hashing (3L): Hashing functions, collision resolution techniques.

ADDITIONAL TOPICS:-
B+ tree and their importance in DBMS, m-way tree

HARDWARE & SOFTWARE REQUIREMENT:

HARDWARE USED: DELL OPTIPLEX 9010 (Intel Core I5 Processor, 4 GB RAM , 500 GB HDD)
&
DELL OPTIPLEX 3040(Intel Core I5 Processor, 4 GB RAM , 500 GB HDD)

SOFTWARE USED: Code Blocks 10.5, 16.01

OPERATING SYSTEM: Windows7

PROGRAMMING LANGUAGE USED : C

LIST OF LAB EXERCISES

Sl No. Experiment No. Name of the Program

Page No: 1 Compiled By: Sk. Mazharul Islam & Priya Sern Purkait
Department of Computer Science & Engineering
RCC Institute of Information Technology, Kolkata
Canal South Road, Kolkata - 700015

Paper Name: Data Structure & Algorithm Lab Paper code: CS392

Semester: 5th Academic Session: 2018-19

Day-1 (1D Array)

1 Experiment 1 Create a 1D array and insert an element in that array.

2 Experiment 2 Create a 1D array and delete an element from that array.

3 Experiment 3 Creation of 1D array dynamically.

A1 Assignment 1 Creation of 1D array dynamically & insert, delete elements after creation.

Day-2 (2D Array)

4 Experiment 1 Creation of a 2D array dynamically.

5 Experiment 2 Creation of a 2D array(with different column size) dynamically.

Day-3 ( Sparse Matrix)

6 Experiment 1 Creation of the shortcut form of a sparse Matrix

7 Assignment 2 Addition of two sparse matrices using shortcut representation

Day-4 (Singly Linked List)

7 Experiment 1 To implement the operations like create , count , reverse and display in a
singly linked list .

8 Experiment 2 To implement the operations like create insert at head, insert after, insert
before, insert at end, in a singly linked list.

9 Experiment 3 To implement the operations like create and delete at head, delete at end,
delete with respect to position, delete with respect to value in a singly
linked list.

Day-5 (Doubly Linked List)

10 Experiment 1 To implement the operations like create , count , reverse and display in a
doubly linked list .

11 Experiment 2 To implement the operations like create insert at head, insert after, insert
before, insert at end, in a doubly linked list.

12 Experiment 3 To implement the operations like create and delete at head, delete at end,
delete with respect to position, delete with respect to value in a doubly
linked list.

Page No: 1 Compiled By: Sk. Mazharul Islam & Priya Sern Purkait
Department of Computer Science & Engineering
RCC Institute of Information Technology, Kolkata
Canal South Road, Kolkata - 700015

Paper Name: Data Structure & Algorithm Lab Paper code: CS392

Semester: 5th Academic Session: 2018-19

Day-6 (Circular Linked List)

13 Experiment 1 To implement the operations like create , count , reverse and display in a
circular linked list .
14 Experiment 2 To implement the operations like create insert at head, insert after, insert
before, insert at end, in a circular linked list.

15 Experiment 3 To implement the operations like create and delete at head, delete at end,
delete with respect to position, delete with respect to value in a circular
linked list.

Day-7 (Polynomial representation and operations using linked list )

15 Experiment 1 Polynomial representation using link list.

16 Experiment 2 Addition of two Polynomial using link list.

A5 Assignment 3 Multiplication of two Polynomial using link list.

Day-8 (Stack – implementation and Expression evaluation)

17 Experiment 1 Implementation of stack using array.

18 Experiment 2 Implementation of stack using link list.

19 Experiment 3 Convert an infix expression to corresponding postfix and prefix


expression.(iterative method)

A6 Assignment 4 Convert an infix expression to corresponding postfix and prefix


expression.(recursive method)

Day-9 (Queue)

20 Experiment 1 Implementation Queue using Array.

21 Experiment 2 Implementation Queue using Linked List.

22 Experiment 3 Implement Circular-Queue. (using array/linked list).

23 Experiment 4 Implement Priority Queue (using Array/Linked List)

A7 Assignment 5 Implement D-Queue.(using array/linked list)

Day 10 (Searching & Hashing)

Page No: 1 Compiled By: Sk. Mazharul Islam & Priya Sern Purkait
Department of Computer Science & Engineering
RCC Institute of Information Technology, Kolkata
Canal South Road, Kolkata - 700015

Paper Name: Data Structure & Algorithm Lab Paper code: CS392

Semester: 5th Academic Session: 2018-19

23 Experiment 1 Liner Search using recursion.

24 Experiment 2 Binary Search using recursion.

25 Experiment 3 Implementation of mid square hash function.

A9 Assignment 6 Liner Search using iteration.

A10 Assignment 7 Binary Search using iteration.

A11 Assignment 8 Interpolation Search using recursion/iteration

Day - 11 (Sorting)

26 Experiment 1 Implementation of Bubble Sort.

27 Experiment 4 Implementation Insertion Sort.

28 Experiment 2 Implementation of Quick Sort.

29 Experiment 5 Implementation of Merge Sort.

A12 Assignment 9 Implementation of Selection Sort.

A13 Assignment 10 Implementation of Heap Sort.

A14 Assignment 11 Implementation of Radix Sort.

Day-12 (Tree)

30 Experiment 1 Implement a Binary Search Tree.

31 Experiment 2 Traverse a Binary Search Tree (Inorder, Poetorder, Preeorder)


(RECURSIVE)
32 Assignment 12 Implement and traverse a Threaded Binary Tree.

33 Assignment 13 Implement a AVL Tree.

Day-13 (Graph)

34 Experiment 1 Implement BFS.

35 Experiment 2 Implementaion of Dishktra algorithm

36 Experiment 2 Implementaion of shortest path algorithm

Page No: 1 Compiled By: Sk. Mazharul Islam & Priya Sern Purkait
Department of Computer Science & Engineering
RCC Institute of Information Technology, Kolkata
Canal South Road, Kolkata - 700015

Paper Name: Data Structure & Algorithm Lab Paper code: CS392

Semester: 5th Academic Session: 2018-19


49 Assignment 14 Implement DFS.

List of Additional Lab Exercises (CSE,RCCIIT):

SL.No Name of the program

1 Experiment 1 Factorial using recursion.

2 Experiment 2 GCD using recursion.

3 Experiment 3 Implement Fibonacci series using recursion.

4 Experiment 4 Tower Of Hanoi using recursion.

5 Experiment 5 Dynamically allocate memory for 3D array.

6 Experiment 6 Multiplication of two sparse matrix using shortcut representations

7 Experiment 7 Factorial using tail recursion.

8 Experiment 8 GCD using tail recursion.

9 Experiment 9 To implement the operations like create, count , reverse and display
in a doubly circular linked list .

10 Experiment 10 Evaluate an Postfix expression

11 Experiment 11 Evaluate an Prefix expression

12 Experiment 12 Implement Priority-Queue. (using link list).

13 Experiment 13 Implementations of mid square hash function.

14 Experiment 14 Implementation of modulo hash function.

Page No: 1 Compiled By: Sk. Mazharul Islam & Priya Sern Purkait
Department of Computer Science & Engineering
RCC Institute of Information Technology, Kolkata
Canal South Road, Kolkata - 700015

Paper Name: Data Structure & Algorithm Lab Paper code: CS392

Semester: 5th Academic Session: 2018-19


15 Experiment 15 Implementation of collision resolution technique (separate
chaining).
16 Experiment 16 Implementation of Efficient Bubble Sort (time complexity O(n))

17 Experiment 17 Traverse a Binary Search Tree (Inorder, Poetorder, Preeorder) (NON


RECURSIVE)
18 Experiment 18 Implement 8 queen puzzle.

Page No: 1 Compiled By: Sk. Mazharul Islam & Priya Sern Purkait

You might also like