linked structures the following questions are related to the sparse matrix adt (aimplement the remaining methods of the sparsematrix class presented in the using the array of sorted linked listsgetitem transpose()sub and mul (bdetermine the time-complexity for each of the sparsematrix methods implemented in part ( (cprove or show that the matrix addition operation of the sparsematrix classas implemented in the using an array of sorted linked listshas worst case run time of (kn(das you proved in part ( )the implementation of the sparsematrix add method presented in the is (kna more efficient implementation is possible without the use of the getitem and setitem methods design and implement new version of the add method that has run time of no more than ( (eshow that your implementation of the worst case run time of (kadd method from part(chas (fwhat advantages are there to using sorted linked lists with the sparse matrix adt instead of unsorted linked lists in programming project you implemented the sparse life grid adt that creates game grid of unlimited size for use with the game of life that implementation used single python list to store the individual live cellswhich was similar to the technique we used with the sparse matrix adt explain why the array of linked lists structure used to implement the sparse matrix adt in this cannot be used to implement the sparse life grid adt prove or show that the worst case time for the mul method of the polynomial class implemented in this is ( programming projects we have provided two implementations of the set adt in and (aimplement new version of the set adt using an unsorted linked list (bimplement new version of the set adt using sorted linked list (cevaluate your new implementations to determine the worst case run time of each operation (dcompare the run times of your new versions of the set adt to those from and