Data Structure and Algorithm
0%
Course Title: Data Structure and Algorithm
Course No: CMP 176
Nature of the Course: Theory + Lab
Semester: 2
Full Marks: 50 + 50
Pass Marks: 23 + 23
Credit Hours: 3
Course Description
Course Objectives
Course Contents
1.8. Design algorithm
- Incremental approach
- Divide and conquer
1.9. Performance analysis and measurement
- Space complexity
- Time complexity
2. Recursion
4 hrs
2.3. Types of Recursions
- Direct
- Indirect
- Linear
- Tail recursion
2.4. Recursion Examples
- TOH
- Fibonacci Series
3. Stacks
4 hrs
3.5. Stack Applications
- Stack frame
- Reverse string
- Calculation of postfix expression
- A notation conversion
4. Queue
4 hrs
5. Linked List
5 hrs
5.2. Linked List
- Advantage and disadvantage
5.3. Key term
- Data field
- Linked field
5.5. Operation of linked list
- Creation
- Insertion
- Deletion
- Traversing
- Searching
- Concatenation
- Display
5.6. Types of linked list
- Single linked list
- Double linked list
- Circular linked list
- Circular double linked list
6. Trees
7 hrs
6.3. Binary tree
- Strictly binary tree
- Complete binary tree
- Extended binary tree
6.4. Binary tree representation
- Array representation of binary tree
- Linked list representation of binary tree
6.6. A traversal of a binary tree
- Preorder traversal
- Inorder traversal
- Post order traversal
6.7. Binary search tree
- Insertion
- Search
- Deletion
7. Sorting
7 hrs
7.3. Common sorting algorithm
- Bubble sort
- Insertion
- Selection Sort
- Quick Sort
- Merge Sort
- Shell Sort
- Binary Sort
8. Searching
5 hrs
8.2. Searching Technique
- Sequential Search
- Binary Search
- Tree Search
8.3. Hashing
- Hash functions
- Hash tables and application
8.5. Hashing with open addressing
- Linear probing
- Quadratic probing
- Double hashing
9. Graph
7 hrs
9.3. Types of Graphs
- Undirected graph
- Directed graph
9.5. Graph Traversal
- Breath first search
- Depth first search
9.6. Spanning tree and Minimum spanning tree
- Kruskal's algorithm
- Prime algorithm
9.7. Shortest Path problem
- Dijkstrs's Algorithm
Laboratory Works
- 1.Stack Operations
- 2.Queue Operations
- 3.Recursion
- 4.Singly Linked List Operations
- 5.Trees
- 6.Merge Sort
- 7.Searching Techniques
- 8.Graph Traversal
- 9.Hashing
Text Books
- 1.Langsam, Y., Augenstein, M. J., & Tanenbaum, A. M. (2019). Data Structures using C and C++. PHI
Reference Books
- 1.Rowe, G. W. (1997). Introduction to Data Structures and Algorithms with C and C++. PHI
- 2.Lafore, R. (2002). Data Structures and Algorithms in Java. Sams Publishing
- 3.Baluja, G. S. (2016). Data Structures through C. Dhanpat Rai & Co