counting the number of ' in - describe an efficient dictionary structure for storing entries that have an associated set of keys that comes from total order that isthe set of keys is smaller than the number of entries your structure should perform operation find all in (logr sexpected timewhere is the number of entries returnedoperation entries(in (ntimeand the remaining operations of the dictionary adt in (logrexpected time - describe an efficient dictionary structure for storing entries whose keys have distinct hash codes your structure should perform operation findall in ( sexpected timewhere is the number of entries returnedoperation entries(in (ntimeand the remaining operations of the dictionary adt in ( expected time - describe an efficient data structure for implementing the bag adtwhich supports method add( )for adding an element to the bagand method remove()which removes an arbitrary element in the bag show that both of these methods can be done in ( time - describe how to modify the skip list data structure to support the method atindex( )which returns the position of the element in the "bottomlist at index ifor [ show that your implementation of this method runs in (lognexpected time projects - implement class that implements the dictionary adt by adapting the java util hashmap class - implement the map adt with hash table with separate chaining collision handling (do not adapt any java util classesp-