我想知道以下代码的时间复杂度
假设我有一个列表 unique_element[]
有一个数组包含元素 {4,5,2,4,7,8,1,5,9,8,1}
现在根据我的代码,我想从这个数组中找出唯一元素并将这个元素存储到 unique_element[] 列表中
for(int i=0;i<arr.length.i++){
loop body //[This code block to find the unique element]
}
现在,在从数组中找到唯一元素并将这些元素存储到 unique_element[]list 之后,我的下一个任务是对 unique_element[] 列表进行排序。
为此,我再次创建了一个 for 循环
for(int j=0;j<unique_element[].length;j++){
loop body to sort unique_element[]
}
现在我想计算这个程序的时间复杂度。我在 O(n^2) 和 O(n) 之间感到困惑。因为有两个循环,所以它可能是 O(n^2),但据我所知,如果有嵌套的 for 循环,那么时间复杂度将是 O(n^2)。然而,在我的程序中,two for loops它们是独立的 for 循环。因此,时间复杂度很有可能是 O(n)。
哪个是正确的 O(n^2) 或 O(n)?
先感谢您。