PART -I
What is a Sparse Matrix? How do you determine if a matrix is a Sparse Matrix?
Write C code for Sparse Matrix representations. (Assume a 20x20 matrix with 20 non-zero elements and use the rand function to represent the sparse matrix.)
Write an Algorithm and C code for the Transpose of a Sparse Matrix.
Write an Algorithm and C code for Two Sparse Matrix Multiplication.
PART -II
Design and implement a (a) singly linked list and (b) Double Linked List with basic operations such as insertion, deletion, and display. The linked list should support the following functionalities:
I. Insertion Operations:
Insert a node at the beginning of the list.
Insert a node at the end of the list.
Insert a node after the k-th node in the list.
II. Deletion Operations:
Delete a node from the beginning of the list.
Delete a node from the end of the list.
Delete the k-th node from the list.
III. Display Operation:
Display all the elements of the linked list in a sequential manner.
The linked list should handle edge cases, such as an empty list, insertion in a single-node list and double linked list, and deletion from a single-node list and double linked list. The implementation should use appropriate error handling and memory management techniques to ensure smooth execution.
Algorithm of the Linked list Operations: https://drive.google.com/file/d/14rcRS44c1ONnQLeq5UJK-eVVTQMLuNuO/view?usp=sharing
Algorithm of the Doubly Linked list Operations: https://drive.google.com/file/d/1bp06URpABeg_CQyWGz7xdrRnQS0QJ7ce/view?usp=sharing