Hi all,

I have raised the following PR, could someone please help me to get it
merged?

https://github.com/openjdk/jdk/pull/17045


*More details:*











*This commit addresses the current limitation in the `PriorityQueue`
implementation, which lacks a constructor to efficiently create a priority
queue with a custom comparator and an existing collection. In order to
create such a queue, we currently need to initialize a new queue with
custom comparator, and after that populate the queue using `addAll()`
method, which in the background calls `add()` method (which takes `O(logn)`
time) for each element of the collection (`n` times).  This is resulting in
an overall time complexity of `O(nlogn)`. ```PriorityQueue<String> pq = new
PriorityQueue<>(customComparator);pq.addAll(existingCollection);```The pull
request introduces a new constructor to streamline this process and reduce
the time complexity to `O(n)`.  If you create the queue above using the new
constructor, the contents of the collection will be copied (which takes
`O(n)` time) and then later  `heapify()` operation (Floyd's algorithm) will
be called once (another `O(n)` time). Overall the operation will be reduced
from `O(nlogn)` to `O(2n)` -> `O(n)` time.```PriorityQueue<String> pq = new
PriorityQueue<>(existingCollection, customComparator);```*

Best regards,
Valeh Hajiyev

Reply via email to