@surender: say the hash table of freq,linked_lis is as follows...
1,2-3-4
2,5-6
3,7-8
pop(7) would decrease the frequency of element 7 means that element has to
be added to 2nd key i.e 2,5-6-7 here
how do u get the element 7 from hash table as freq is the key element in u'r
table?
And after
@bharat
take two hashmaps of
hash1data, freq and
hash2freq,linked_list
take frequency of a data from hash1, and find its list in hash2.
if ur poping, reduce frequency in hash1 and in corresponding hash2 remove
its entry in that list and put it in freq-1 entry
and keep track of max and second max
maintain a hash of freq,linked_list
linked_list consists of values of that frequency.
values with same frequency comes under same list
if pop of a particular value is done, then frequency is changed of that
number, a new record would be created if required.
maintain two values tracking max and
The frequency is also stored in the heap right? So to do heapify based on
frequency, first you have to spot the element on the heap. That itself will
take O(n). [ Heapfying after that takes only O(log n) ] If you use a hashmap
and store frequencies, and each time mostFrequent is called, do a
HI,
Need logic to implement a stack which should support push , pop , top as
well as mostFrequent. mostFrequent should return the most frequently pushed
element.
I have provided the following logic
have one general stack implementation and one Heap .. (Heapify based on
frequeny not based on