what is the time complexity of function 'reshape'

20 visualizaciones (últimos 30 días)
warnerchang
warnerchang el 10 de Abr. de 2022
Comentada: warnerchang el 11 de Abr. de 2022
anyone knows what is the time complexity of function 'reshape'?

Respuesta aceptada

Jan
Jan el 10 de Abr. de 2022
In reshape the actual data are not touched, but only the vector of dimension. This vector is changed, so Matlab has to allocate a new vector. The checks, if the number of elements are compatible is most likely mire expensive then allocating the vector of the new dimensions. In addition you will most likely use less than 20 dimensions. Therefore I conclude, that reshape runs in almost fixed time.

Más respuestas (1)

John D'Errico
John D'Errico el 10 de Abr. de 2022
Editada: John D'Errico el 10 de Abr. de 2022
Essentially, almost zero time (a small constant amount that is almost negligable.) All reshape itself does is modify a flag attached to the array, that tells MATLAB what shape the array is. NO elements are moved around by a reshape. Of course, if you will then be doing something with that reshaped array, perhaps creating a new variable, that is different. But there, the time will be spent allocating a new variable, and copying elements, etc. But the reshape itself is virtually instantaneous.

Categorías

Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.

Productos


Versión

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by