Integer: FindMedian(Integer: array[])
For i = 0 To array.Length - 1
// Find the number of values greater than and less than array[i].
Integer: num_larger = 0
Integer: num_smaller = 0
For j = 0 To array.Length - 1
If (array[j] < array[i])
Then num_smaller = num_smaller + 1
If (array[j] > array[i])
Then num_larger = num_larger + 1 Next j
If (num_smaller = num_larger)
Then Return array[i]
End If
Next i
End FindMedian
現在有關的algoritm的複雜性,作者說:基本算法的書,澄清需要
如果數組包含N個值,外因爲我循環執行N次。對於這些迭代中的每一個,內部For For循環執行N次。這意味着內循環內部的步驟執行N×N = N次,給算法運行時間O(N)。
我認爲複雜度應該是O(N^2)。我錯了嗎?
你可以在代碼中放置一些換行符嗎?它看起來像一條線。 –
當然,我已經在上面了。我張貼使用SO安卓應用程序,它做了所有的混亂。 –
現在它應該縮進4個字符。 –