What is the time complexity of this in-place array reversal?

后端 未结 1 533
野性不改
野性不改 2021-01-20 10:54

Is this function O(n) or O(log(n)) time complexity.

function reverse(array) {
  for (var i = 0, j = array.length - 1; i < j; i++, j--) {
    var temp = ar         


        
相关标签:
1条回答
  • 2021-01-20 11:27

    So assume you have a string of length n Then you have indicators i=0, and j = n-1 The loop continues until i>=j with j decrements by 1 and i increments by 1 This will give you a total of n/2 iterations. Inside the loop you have a total 3 statements meaning the loop will complete a total of 3(n/2). Along with that you have 1 operation outside the loop leaving us with

    f(n) = 3(n/2)+1 which is O(n)
    

    EDIT: This assumes that the loop maintaining operations(i++,j--) are trivial which is common practice when dealing with Big Oh notation

    0 讨论(0)
提交回复
热议问题