全部来自 AI 原创生成并经逐题审校的题目,带 精品 标记的为 AI 复审通过。整卷生成请去组卷。
设 n 为正整数且远大于 1,分析下列 C 语言程序段中语句 count++; 的执行次数的渐近时间复杂度: void h(int n) { int count = 0; for (int i = 1; i <= n; i *= 2) for (int j = 1; j <= i; j++) count++; return; } 则 count++; 的执行次数的渐近时间复杂度为 ____。
登录后查看答案
设 n 为正整数且为 2 的幂。分析以下 C 语言程序段中语句 count++; 的执行总次数的渐近时间复杂度(用大 O 记号填空): for (int i = 1; i <= n; i *= 2) for (int j = 1; j <= i; j++) count++; 则该程序段的时间复杂度为 ____。
设 n 为正整数且远大于 1,有如下 C 语言程序段: void f(int n) { int k = 0; for (int i = 1; i <= n; i++) for (int j = 1; j <= 2*i; j++) k++; } 则语句 k++; 的执行频度为 ____,该算法的时间复杂度为 ____。
某软件需管理两类数据:数据甲的逻辑关系是一棵树形结构,采用顺序存储(数组)实现;数据乙的逻辑关系是一个线性结构,采用链式存储(指针)实现。现有四条判断:①数据甲的逻辑结构由元素间的树形关系决定,与其用数组存储无关;②用顺序存储实现树形结构说明存储结构可以改变数据的逻辑结构;③数据乙的链式存储利用指针表示元素间的线性前后关系;④若将数据乙改为顺序存储,其逻辑结构将由线性变为非线性。其中正确的判断是( ) A. ①③ B. ①④ C. ②③ D. ②④
设 n 为正整数且远大于 1,分析以下 C 语言程序段中语句 count++; 的执行次数的渐近时间复杂度: for (int i = 1; i <= n; i++) for (int j = 1; j <= 2*i; j++) count++; 则该程序段的时间复杂度为( )。 A. O(n) B. O(n log n) C. O(n²) D. O(2ⁿ)
设 n 为正整数且远大于 1,有如下 C 语言程序段: void g(int n) { int s = 0; for (int i = n; i >= 1; i = i / 2) for (int j = 1; j <= n; j++) s = s + 1; } 该程序段中语句 s = s + 1; 的总执行次数 T(n) 的渐近时间复杂度为( )。 A. O(n) B. O(n log₂n) C. O(n²) D. O(log₂n)
设有如下 C 语言代码段,n 为正整数且远大于 1: void g(int n) { int s = 0; for (int i = 1; i <= n; i = i * 2) for (int j = 1; j <= n; j++) s += i + j; } 则语句 s += i + j; 的执行频度关于 n 的渐近阶(大 O 记号)为____。
下列关于数据逻辑结构与存储结构的叙述中,错误的是( ) A. 逻辑结构是数据元素之间逻辑关系的描述,与数据在计算机中的存储方式无关 B. 同一种逻辑结构可以采用顺序存储或链式存储等不同存储结构实现 C. 树形逻辑结构只能采用链式存储结构实现,不能采用顺序存储结构实现 D. 顺序存储结构通常用地址连续的存储单元存放数据元素,链式存储结构则通过指针表示元素间的关系
下列关于逻辑结构与存储结构的叙述中,正确的是( ) A. 逻辑结构相同的数据,只能采用一种存储结构实现 B. 顺序存储结构只能用来实现线性逻辑结构的数据 C. 数据的逻辑结构独立于其存储结构,同一逻辑结构可用顺序或链式等不同方式存储 D. 链式存储结构只能用来实现树形逻辑结构的数据
设 n 为正整数且远大于 1,有如下 C 语言代码段: void f(int n) { int t = 0; for (int i = 1; i <= n; i++) for (int j = 1; j <= i; j++) t = t + 1; } 请分析语句 t = t + 1 的总执行次数的渐近时间复杂度,正确的是( ) A. O(n) B. O(nlogn) C. O(n²) D. O(2ⁿ)
设 n 为正整数且远大于 1。考虑如下 C 语言代码段: int T(int n) { int count = 0; for (int i = 1; i <= n; i++) { for (int j = i; j <= n; j += i) { count++; } } return count; } 请计算该算法中语句 `count++` 的总执行次数 T(n) 的精确数学表达式(使用求和符号表示),并据此判断其渐近时间复杂度 Big-O。
考虑如下 C 语言代码段,假设 n 为正整数且远大于 1。请分析该算法中内层语句 `count++;` 的总执行次数 T(n) 的渐近阶(Big-O),并选出正确的选项。 void calc(int n) { int i, j; for (i = 1; i <= n; i++) { for (j = 1; j <= n / i; j++) { count++; } } } A. O(n) B. O(n log n) C. O(n^(3/2)) D. O(n^2)
考虑如下 C 语言代码段,假设 n 为正整数且远大于 1。请分析该算法中内层语句 `x = x + 1;` 的总执行次数 T(n) 的渐近阶(Big-O),并选出正确选项。 void calc(int n) { int i, j; for (i = 1; i <= n; i++) { for (j = 1; j < i; j = j * 2) { x = x + 1; } } } A. O(n) B. O(n log n) C. O(n^2) D. O(log n)
考虑如下 C 语言代码段,假设 n 为正整数且远大于 1。请分析该算法中内层语句 `count++` 的总执行次数 T(n) 的渐近阶(Big-O),并填空。 void func(int n) { int i, j, count = 0; for (i = 1; i <= n; i = i * 2) { for (j = 1; j <= i; j++) { count++; } } } 该算法的时间复杂度为 O(____)。
考虑如下 C 语言代码段,假设 n 为正整数且远大于 1。请分析该算法中内层语句 `count++` 的总执行次数 T(n) 的渐近阶(Big-O),并选出正确选项。 void func(int n) { int i, j; int count = 0; for (i = 1; i <= n; i++) { for (j = 1; j <= i; j = j * 2) { count++; } } } A. O(n) B. O(n log n) C. O(n^2) D. O(log n)
考虑如下 C 语言代码段,假设 n 为正整数且远大于 1。请分析该算法的时间复杂度,并选出正确的选项。 void func(int n) { int i, j; for (i = 1; i <= n; i++) { for (j = 1; j <= n / i; j++) { printf("*"); } } } A. O(n) B. O(n log n) C. O(n^2) D. O(log n)
某数据结构课程中,老师展示了两种不同的存储方案。方案一采用顺序存储结构,将数据元素依次存放在地址连续的内存单元中;方案二采用链式存储结构,通过指针链接离散分布的节点。已知该数据结构的逻辑结构为树形结构(如二叉树)。关于这两种方案与逻辑结构的关系,下列叙述正确的是: A. 只有方案一能正确表示树形逻辑结构,因为顺序存储天然具备层次性 B. 只有方案二能正确表示树形逻辑结构,因为链式存储可以灵活指向任意子节点 C. 两种方案均可实现树形逻辑结构,且逻辑结构的定义不依赖于具体的存储方式 D. 方案一无法实现非线性逻辑结构,必须转换为线性序列后才能存储
设关系模式 R(P,Q,R,S),函数依赖集 F={P→Q,Q→R,P→S},且 R 满足 1NF。下列关于 R 的最高范式及分解 ρ={R₁(P,Q,S),R₂(Q,R)} 的无损连接性判定,正确的是哪项? A. R 最高属于 2NF,且 ρ 是无损连接分解 B. R 最高属于 2NF,且 ρ 是有损连接分解 C. R 最高属于 3NF,且 ρ 是无损连接分解 D. R 最高属于 1NF,且 ρ 是无损连接分解
某设备配置了易失性随机存取存储器(RAM)作为主存、断电后仍保留内容的只读存储器(ROM)存放固件,并以字节(B)标注容量。下列哪项同时正确描述了这两类存储器的分类及存储单位关系? A. RAM 属于易失性存储器,ROM 属于非易失性存储器;1 KiB=1024 B,1 B=8 bit B. RAM 属于非易失性存储器,ROM 属于易失性存储器;1 KiB=1024 B,1 B=8 bit C. RAM 属于易失性存储器,ROM 属于非易失性存储器;1 KiB=1000 B,1 B=8 bit D. RAM 属于易失性存储器,ROM 属于非易失性存储器;1 KiB=1024 B,1 B=4 bit
阅读程序,填写其运行后屏幕上输出的完整内容: #include <stdio.h> int main(void) { int mode = 8; switch (mode) { case 3: printf("N"); break; case 8: printf("E"); case 11: printf("T"); break; default: printf("?"); } printf("!"); return 0; } 输出:____