In java, if I sort using Arrays.sort() (n log n) and then use a for loop o(n) in the code, what will be the new complexity ? is it n^2 log n or n log n
            Asked
            
        
        
            Active
            
        
            Viewed 1,744 times
        
    2
            
            
        - 
                    [How to find time complexity of an algorithm](https://stackoverflow.com/q/11032015). [Big O, how do you calculate/approximate it?](https://stackoverflow.com/q/3255) – Bernhard Barker Feb 25 '18 at 08:22
2 Answers
4
            
            
        If you perform the for loop after, you have an O(nlog(n)) operation followed by an O(n) one. Since O(n) is negligible compared to O(nlog(n)), your overall complexity would be O(nlog(n)).
 
    
    
        Mureinik
        
- 297,002
- 52
- 306
- 350
4
            Answer: O(nLog(n))
non nested complexities can be simply added. i.e. O(n) + O(nLog(n))
For large n, nLog(n) is significantly greater than n. Therefore, O(nLog(n)) is the answer.
Read this: https://en.wikipedia.org/wiki/Big_O_notation
Note:
if the complexities are nested then the complexities are multiplied, for example:
Inside a loop of order n, you are doing a sort of order nLog(n).
Then complexity will be O(n * nLog(n)). i.e. O(n²Log(n))
 
    
    
        amanmehara
        
- 134
- 1
- 8
