Week 1: Array and string
1. Implement a program for array operations: insertion, deletion, and traversal.
2. Write a program to reverse a string using arrays.
3. Write a program to merge two sorted arrays.
Week 2: Stack
1. Implement stack operations (push, pop, peek) using arrays.
2. Write a program to evaluate a postfix expression using a stack.
Week 3: Recursion
1. Implement recursive and iterative solutions for calculating factorial and Fibonacci numbers.
2. Solve the Tower of Hanoi problem for n disks.
Week 4: Queue
1. Implement a queue using arrays with enqueue and dequeue operations.
2. Design a program to implement a circular queue.
Week 5: Searching & sorting
1. Implement linear search and binary search algorithms.
2. Write a program for bubble sort.
Week 6: Sorting
1. Write a program for selection sort and insertion sort.
Week 7: Linked list
1. Write a program that uses functions to perform the following operations on singly linked list
i) Creation ii) Insertion iii) Deletion iv) Traversal.
Week 8: Stack & queue using LL
1. Write a program that implement stack (its operations) using linked list.
2. Write a program that implement queue (its operations) using linked list.
Week 9: Graphs
1. Implement a program to represent a graph using adjacency matrix and adjacency list.
2. Write a program for breadth-first and depth-first traversal of a graph.
Week 10: Trees
1. Write a program to create a binary search tree with operations: insert, delete, and searching.
2. Write a program to implement the tree traversal methods.