loading...

re: Improve Your Algorithms with this Simple Equation VIEW POST

FULL DISCUSSION
 

But calculating the array length has a cost of O(N). At the end there is no improvement un complexity

 
 

Array length isn't "calculated" it's a property of the Array, so to get the Array.length it is just O(1).

 

This is really interesting. However the only thing I find IS that it depends on the implementation.
Could you please send a source? I'm really interested on how this property gets calculated

maybe joel is talking about javascript. Hes right its a property of an array. Thats how V8 implements it (sorry I cant find the link but Its in v8.dev). In other programming languages its still O(1) or constant time because it will do an arithmetic operation, example before c++14 (not sure) we do it in class was like totalNumberOfbytesInArray / numberOfBytesInInt. or maybe im wrong because it was 2008. lools

When an item is added to or removed from the array, the length property is updated. You can check this by running this code:

const array = [1, 2, 3];
array.length = 100;

console.log(array.length) //=> 100

length NEEDS to be a property, otherwise code like this would become exponential:

for (let i = 0; i < input.length; i++) { }

I think this Tweet is relevant to the discussion:

code of conduct - report abuse