given in the previous - describe an efficient way of putting an array list representing deck of cards into random order you may use functionrandominteger( )which returns random number between and inclusive your method should guarantee that every possible ordering is equally likely what is the running time of your methodc- describe method for maintaining favorites list such that every element in has been accessed at least once in the last accesseswhere is the size of your scheme should add only ( additional amortized time to each operation - suppose we have an -element list maintained according to the move-to-front heuristic describe sequence of accesses that is guaranteed to take ohm( time to perform on - design circular node list adt that abstracts circularly linked list in the same way that the node list adt abstracts doubly linked list - describe how to implement an iterator for circularly linked list since hasnext(will always return true in this casedescribe how to perform hasnewnext()which returns true if and only if the next node in the list has not previously had its element returned by this iterator - describe scheme for creating list iterators that fail fastthat isthey all become invalid as soon as the underlying list changes - an array is sparse if most of its entries are null list can be used to implement such an arrayaefficiently in particularfor each nonnull cell [ ]we can store an entry (iein lwhere is the element stored at [ithis approach allows us to represent using (mstoragewhere is the number of nonnull entries in describe and analyze efficient ways of performing the