A.int find (int [] a, int n) { int left = 1; int right = n ; int mid = ⌊(left + right)/2⌋; while (left <= right) { if (a[mid]="=" mid) return mid;> mid) right = mid – 1; else left = mid + 1; } return 0; }
B.int find (int [] a, int n) { int left = 1; int right = n ; while (left < right) { int mid = ⌊(left + right)/2⌋; if (a[mid] == mid) return mid; if (a[mid] > mid) right = mid – 1; else left = mid + 1; } return 0; }
C.int find (int [] a, int n) { int left = 1; int right = n ; while (left <= right) { if (a[mid]="=" mid) return mid;> mid) right = mid – 1; else left = mid + 1; int mid = ⌊(left + right)/2⌋; } return 0; }
D.int find (int [] a, int n) { int left = 1; int right = n ; while (left <= right) { int mid="⌊(left" + 2⌋; if (a[mid]="=" mid) return mid;> mid) right = mid – 1; else left = mid + 1; } return 0; }
第1题
第2题
Option Base 1
Private Sub Command1_Click()
Dim a()
a=Array(678,45,324,528,439,387,87,875,273,823)
Fori=【 】
Forj= 【 】
If a(j)【 】a(j+1)Then
a1=a(j)
a(j)=a(j+1)
a(j+1)=al
End lf
Nextj
Next i
For i=1 To 10
Print a(i)
Next i
End Sub
第3题
第4题
第5题
第6题
Private Sub Form. Click()
Dim a(10)As Integer,i AS Integer
Randomize
i=0
Do
num=Int(Rnd*90)+10
For j=1 To i 检查新产生的随机数是否与以前的相同,相同的无效
If num=a(j)Then
Exit For
End If
Nextj
Ifj>i Then
i=i+1
a(i)=
End If
Loop Whilei<10
For i=1 To 9
For j= To 10
If a(i)>a(j)Then temp=a(i):a(i)一a(j):
Nextj
Next i
For i=1 To 10
Print a(i)
Next i
End Sub
第7题
给定n个不同数的数组S和正整数i,,求S中最大的i个数,并且按照从大到小的次序输出,现有如下算法, 算法:对S排序,并输出S中最大的i个数。该算法在最坏情况下的时间复杂度是:
A、n
B、nlogn
C、logn
D、loglogn
E、
第8题
给定n个不同数的数组S和正整数i,,求S中最大的i个数,并且按照从大到小的次序输出,现有如下算法, 算法:调用i次找最大算法Findmax,每次从S中删除一个最大的数。该算法在最坏情况下的时间复杂度是:
A、
B、
C、n
D、logn
E、loglogn
第9题
给定n个不同数的数组S和正整数i,,求S中最大的i个数,并且按照从大到小的次序输出,现有如下算法, 算法:对S排序,并输出S中最大的i个数。该算法在最坏情况下的时间复杂度是:
A、
B、
C、
D、
E、
F、
第10题
给定n个不同数的数组S和正整数i,,求S中最大的i个数,并且按照从大到小的次序输出,现有如下算法, 算法:对S排序,并输出S中最大的i个数。该算法在最坏情况下的时间复杂度是:
A、
B、
C、
D、
E、
F、
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!