1.Implement singly and doubly linked lists.
2.Represent a polynomial as a linked list and write functions for polynomial addition.
3.Implement stack and use it to convert infix to postfix expression.
4.Implement array-based circular queue and use it to simulate a producer-consumer problem.
5.Implement an expression tree. Produce its pre-order, in-order, and post-order traversals.
6.Implement binary search tree.
7.Implement insertion in AVL trees.
8.Implement priority queue using heaps.
9.Implement hashing techniques.
10.Perform topological sort on a directed graph to decide if it is acyclic.
11.Implement Dijkstra's algorithm using priority queues.
12.Implement Prim's and Kruskal's algorithms.
13.Implement a backtracking algorithm for Knapsack problem.
14.Implement a branch and bound algorithm for traveling salesperson problem.
15.Implement any randomized algorithm. |