首页 > 试题广场 >

以下程序实现了找第二小元素的算法。输入时n个不等的数构成的数

[单选题]

以下程序实现了找第二小元素的算法。输入时n个不等的数构成的数组S,输出S中第二小的数SecondMin。在最坏的情况下,该算法需要做( )次比较。

if (S[1] < S[2]) {
     FirstMin = S[1];
     SecondMin = S[2];
} else {
   FirstMin = S[2];
   SecondMin = S[1];
}
for (i = 3; i <=n; i++)
      if (S[1] < SecondMin)
         if (S[1] < FirstMin){
           SecondMin = FirstMin;
           FirstMin = S[1];
         } else {
            SecondMin = S[1];
           }
  • 2n
  • n-1
  • 2n-3
  • 2n-2
for 外面要比较一次,里面有 n-2 个元素,最坏情况下每个要比较2次,

所以 2(n-2)+1 =2n-3
发表于 2021-08-28 11:14:56 回复(0)