EXY-SC-1200
第 301 题
上题程序的时间复杂度为( )。
语言:
C++
GESP真题
八级
2024.12
单选题号:
15
EXY-SC-1199
第 302 题
下面的快速排序程序中,两处横线处分别应填入的是( )。
void quick_sort(int a[], int n) {
if (n <= 1)
return;
int pivot = 0, l = 0, r = n - 1;
while (________) { // 在此处填入选项
while (r > pivot && a[r] >= a[pivot])
r--;
if (r > pivot) {
int temp = a[pivot];
a[pivot] = a[r];
a[r] = temp;
pivot = r;
}
while (l < pivot && a[l] <= a[pivot])
l++;
if (l < pivot) {
int temp = a[pivot];
a[pivot] = a[l];
a[l] = temp;
pivot = l;
}
}
quick_sort(a, pivot);
quick_sort(________); // 在此处填入选项
}
语言:
C++
GESP真题
八级
2024.12
单选题号:
14
EXY-SC-1198
第 303 题
假设图 graph 中顶点数 $v$、边数 $e$,上题程序的时间复杂度为( )。
语言:
C++
GESP真题
八级
2024.12
单选题号:
13
EXY-SC-1197
第 304 题
下列 Dijkstra 算法中,横线处应该填入的是( )。
typedef struct Edge {
int in, out; // 从下标in顶点到下标out顶点的边
int len; // 边长度
struct Edge * next;
} Edge;
// v: 顶点个数, graph: 出边邻接表, start: 起点下标, dis: 输出每个顶点的最短距离
void dijkstra(int v, Edge * graph[], int start, int * dis) {
const int MAX_DIS = 0x7fffff;
for (int i = 0; i < v; i++)
dis[i] = MAX_DIS;
dis[start] = 0;
int * visited = new int[v];
for (int i = 0; i < v; i++)
visited[i] = 0;
visited[start] = 1;
for (int t = 0; ; t++) {
int min = MAX_DIS, minv = -1;
for (int i = 0; i < v; i++) {
if (visited[i] == 0 && min > dis[i]) {
min = dis[i];
minv = i;
}
}
if (minv < 0)
break;
visited[minv] = 1;
for (Edge * e = graph[minv]; e != NULL; e = e->next) {
__________________ // 在此处填入选项
}
}
delete[] visited;
}
语言:
C++
GESP真题
八级
2024.12
单选题号:
12
EXY-SC-1196
第 305 题
下面最长公共子序列程序中,横线处应该填入的是( )。
#define MAX(A, B) ((A) > (B)) ? (A) : (B)
#define MIN(A, B) ((A) < (B)) ? (A) : (B)
int dp[MAX_L + 1][MAX_L + 1];
int LCS(char str1[], char str2[]) {
int len1 = strlen(str1);
int len2 = strlen(str2);
for (int i = 0; i < len1; i++)
for(int j = 0; j < len2; j++)
if (str1[i] == str2[j])
dp[i + 1][j + 1] = dp[i][j] + 1;
else
_______; // 在此处填入选项
return dp[len1][len2];
}
语言:
C++
GESP真题
八级
2024.12
单选题号:
11
当前页显示 301 - 305
,共 1260 道单选题