isabel has an interesting way of summing up the values in an array of integerswhere is power of two she creates an array of half the size of and sets [ia[ + [ ]for , ( / if has size then she outputs [ otherwiseshe replaces with band repeats the process what is the running time of her algorithmprojects - implement the array list adt by means of an extendable array used in circular fashionso that insertions and deletions at the beginning and end of the array list run in constant time - implement the array list adt using doubly linked list show experimentally that this implementation is worse than the array-based approach - write simple text editorwhich stores and displays string of characters using the list adttogether with cursor object that highlights position in this string your editor should support the following operationsleftmove cursor left one character (do nothing if at text endrightmove cursor right one character (do nothing if at text endcutdelete the character right of the cursor (do nothing at text endpaste cinsert the character just after the cursor - implement phased favorites list phase consists of accesses in the listfor given parameter during phasethe list should maintain itself so that elements are ordered by decreasing access counts during that phase at the end