HiveBrain v1.2.0
Get Started
← Back to all entries
patternMinor

What is the time complexity for getting the size of a heap?

Submitted by: @import:stackexchange-cs··
0
Viewed 0 times
thewhatsizegettingtimeheapforcomplexity

Problem

Assuming the regular Heap ADT.

What is the time complexity of getting its size ?

I tend to think that because insert is O(log(n)), then I always know the last index of my heap. So in order to get its size all I need is to return the last index + 1.

However I have seen in some places that refer to the size of the heap's complexity as O(n), since I need to count all the nodes in my heap.

Why am I wrong ?

Solution

Depends on how you implement your ADT heap. You can expand size as a counter of next operations. In that manner, if you are using

  • an external counter: $O(1)$



  • a stack: $O(n)$



  • a binary tree: $O(logn)$



  • a hash: $O(k)$ ($k$ is the average collisions)

Context

StackExchange Computer Science Q#69581, answer score: 4

Revisions (0)

No revisions yet.