Thread overview | ||||||
---|---|---|---|---|---|---|
|
September 13, 2016 Binary heap: obtain a _reference_ to the front of the heap | ||||
---|---|---|---|---|
| ||||
In the binary heap documentation, I read that `BinaryHeap.front()` "Returns a copy of the front of the heap". [1] Is there no function to access the front of the heap without a copy? (micro-optimization) Thanks, Johan [1] https://dlang.org/phobos/std_container_binaryheap.html#.BinaryHeap.front |
September 13, 2016 Re: Binary heap: obtain a _reference_ to the front of the heap | ||||
---|---|---|---|---|
| ||||
Posted in reply to Johan Engelen | On Tuesday, 13 September 2016 at 08:19:04 UTC, Johan Engelen wrote:
> In the binary heap documentation, I read that `BinaryHeap.front()` "Returns a copy of the front of the heap". [1]
> Is there no function to access the front of the heap without a copy? (micro-optimization)
>
> Thanks,
> Johan
>
> [1] https://dlang.org/phobos/std_container_binaryheap.html#.BinaryHeap.front
What does
foreach(ref e; bh)
{
//...
}
do?
|
September 14, 2016 Re: Binary heap: obtain a _reference_ to the front of the heap | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nicholas Wilson | On Tuesday, 13 September 2016 at 08:55:15 UTC, Nicholas Wilson wrote:
> On Tuesday, 13 September 2016 at 08:19:04 UTC, Johan Engelen wrote:
>> In the binary heap documentation, I read that `BinaryHeap.front()` "Returns a copy of the front of the heap". [1]
>> Is there no function to access the front of the heap without a copy? (micro-optimization)
>>
>> Thanks,
>> Johan
>>
>> [1] https://dlang.org/phobos/std_container_binaryheap.html#.BinaryHeap.front
>
> What does
> foreach(ref e; bh)
> {
> //...
> }
> do?
It copies the front of the heap on every iteration.
|
September 15, 2016 Re: Binary heap: obtain a _reference_ to the front of the heap | ||||
---|---|---|---|---|
| ||||
Posted in reply to Johan Engelen | On Tuesday, 13 September 2016 at 08:19:04 UTC, Johan Engelen wrote:
> In the binary heap documentation, I read that `BinaryHeap.front()` "Returns a copy of the front of the heap". [1]
> Is there no function to access the front of the heap without a copy? (micro-optimization)
Answering myself here: the binary heap element type should be cheap to copy, because it is going to be copied around a lot (for the common implementation on top of an array).
|
Copyright © 1999-2021 by the D Language Foundation