全部来自 AI 原创生成并经逐题审校的题目,带 精品 标记的为 AI 复审通过。整卷生成请去组卷。
模式串 P="abacabab",字符从 1 开始编号,并定义 next[j] 为 P[1..j−1] 的最长相等真前后缀长度加 1。KMP 匹配时,若主串当前字符与 P[8] 失配,下一步应如何处理? A. 主串指针不变,模式串指针移至 4 B. 主串指针不变,模式串指针移至 5 C. 主串指针回退,模式串指针移至 4 D. 主串指针不变,模式串指针移至 3
登录后查看答案
设模式串 P="aabaa",按 1 起始下标,并定义 next[1]=1;对 j>1,next[j] 等于 P[1..j−1] 的最长相等真前后缀长度加 1。P 的 next 数组是哪一项? A. (1,1,2,1,2) B. (1,1,1,2,2) C. (1,2,2,1,2) D. (1,1,2,2,3)
某 7 阶对称矩阵仅存储主对角线及其下方元素,按行优先依次存入 B[0..27],其中 A₁₁ 存于 B[0]。若 B[0] 的首地址为 1200,且每个元素占 4 字节,则 A₆₃ 的地址是( ) A. 1264 B. 1268 C. 1272 D. 1280
某循环队列采用牺牲一个存储单元区分队空与队满,数组下标为 0 至 10,front 指向队头元素之前的位置,rear 指向队尾元素所在位置。现 front=8、rear=3,队列处于哪种状态? A. 队空 B. 队满 C. 既非队空也非队满 D. 仅凭这两个指针无法判断
采用牺牲一个存储单元的循环队列,约定 front 指向队头元素,rear 指向下一次入队的位置。下列哪一项正确给出了队空与队满的判定条件? A. 队空:front==rear;队满:(rear+1)%MaxSize==front B. 队空:(rear+1)%MaxSize==front;队满:front==rear C. 队空:front==0;队满:rear==MaxSize−1 D. 队空:front==rear;队满:rear==front
有如下 Python 程序: class Robot: def __init__(self, code): self.code = code def speak(self): return 'I am ' + self.code r1 = Robot('A1') r2 = r1 r2.code = 'B2' print(r1.speak()) 程序运行的输出结果是什么? A. I am A1 B. I am B2 C. I am code D. 程序报错,因为 speak 缺少参数
顺序表原有 n 个元素。在第 5 个位置插入一个新元素时,恰有 12 个原元素向后移动;随后删除插入后表的第 9 个元素。两步操作中元素移动次数之和是多少? A. 19 次 B. 20 次 C. 21 次 D. 22 次
已定义函数: ```python def describe(item, tone="plain", *tags): return item, tone, tags ``` 调用 `describe("tea", "warm", "gift", "local")` 的返回值是什么? A. ("tea", "warm", ("gift", "local")) B. ("tea", "plain", ("warm", "gift", "local")) C. ("tea", "warm", ["gift", "local"]) D. ("tea", "warm", "gift", "local")
执行以下代码后,data 与 result 的值分别是什么? data = [12, 5, 9, 5, 2] view = data[1:4] view.remove(5) view.insert(1, 7) data.append(4) data.sort() result = sorted(view) A. data=[2, 4, 5, 5, 9, 12],result=[5, 7, 9] B. data=[2, 4, 5, 5, 9, 12],result=[9, 7, 5] C. data=[12, 5, 9, 5, 2, 4],result=[5, 7, 9] D. data=[2, 4, 5, 5, 9, 12],result=None
顺序表 L 中已有 n 个元素(n≥2),元素按位序 1 至 n 存储。现依次执行两步操作:第一步,删除第 2 个元素;第二步,在第一步删除后的第 n 个位置插入一个新元素(若该位置合法)。已知两步操作总共移动了 7 个元素,则 n 的值是( ) A. 8 B. 9 C. 10 D. 11
将数据元素 3、5、7、9 依次采用头插法插入带头结点的单链表(每插入一个元素,新结点均插在头结点之后),建表完成后,再在该链表中按值查找元素 7。若查找从首元结点开始按序号计数,则元素 7 所在结点的序号是(查找时依次比较结点的数据域) A. 1 B. 2 C. 3 D. 4
有如下 Python 代码: class Timer: def __init__(self, name): self.name = name self.count = 0 def tick(self): self.count += 1 return self.count t1 = Timer('A') t2 = t1 t2.tick() t2.tick() t1.tick() print(t1.name, t1.count) 执行后输出的结果是( ) A. A 3 B. A 1 C. A 2 D. 程序报错
某抽签程序要随机生成一个整数编号,所有可能编号恰为 31 至 46(含端点)。已执行 `from random import randint`,应填入哪组参数? A. 31, 45 B. 31, 46 C. 32, 46 D. 31, 47
已有 UTF-8 文件“输入.txt”,内容为两行“春风 秋雨 ”;已有文件“输出.txt”,内容为“旧记录 ”。执行以下代码后,关于“输出.txt”的内容及文件关闭情况,哪项正确? with open('输入.txt', 'r', encoding='utf-8') as src: with open('输出.txt', 'w', encoding='utf-8') as dst: for line in src: dst.write(line) A. 内容为“旧记录 春风 秋雨 ”,两个文件均自动关闭 B. 内容为“春风 秋雨 ”,两个文件均自动关闭 C. 内容为“春风 秋雨 ”,只有“输入.txt”自动关闭 D. 内容为“旧记录 ”,两个文件均自动关闭
已有函数定义:def plan(dest, speed=60, *stops, **info): return (dest, speed, stops, info)。现有两次连续调用:第一次执行 plan("A城", 80, "B站", "C站", note="绕行"),第二次执行 plan("D城", "E站")。第二次调用的返回值中,speed 与 stops 的值分别是?A. speed=60,stops=("E站",) B. speed="E站",stops=() C. speed=60,stops=() D. speed="E站",stops=("E站",)
阅读代码,选择变量 r2 的值。 ```python def pack(tag, *items, memo=[], **opts): memo.append(tag) return items, memo, opts r1 = pack("甲", 3, 4, mode="静") r2 = pack("乙", 5, mode="急") ``` A. ((5,), ['乙'], {'mode': '急'}) B. ((5,), ['甲', '乙'], {'mode': '急'}) C. ((5,), ['甲', '乙'], {'mode': '静'}) D. ((5, '急'), ['甲', '乙'], {})
执行以下 Python 代码: d = {'x': 10, 'y': 20} d['z'] = d.get('w', d['x']) 执行结束后,表达式 list(d.keys()) 的值为( ) A. ['w', 'x', 'y', 'z'] B. ['x', 'y', 'z'] C. ['x', 'y', 'z', 'w'] D. ['z', 'y', 'x']
某程序先执行以下代码: items = [8, 3, 6, 2, 9] backup = items[:] items.insert(2, 7) items.pop(1) items.sort() backup = sorted(backup, reverse=True) 执行后,items 与 backup 的值分别是什么? A. [2, 6, 7, 8, 9];[9, 8, 6, 3, 2] B. [2, 6, 7, 8, 9];[2, 3, 6, 8, 9] C. [2, 6, 8, 9];[9, 8, 6, 3, 2] D. [2, 6, 7, 8, 9];None
阅读下列代码,最终变量 result 的值是什么? items = [] if items and items[0] == "ok": result = "甲" elif not items or items[0] == "hold": result = "乙" else: result = "丙" A. 甲 B. 乙 C. 丙 D. 程序发生 IndexError
执行以下代码后,print 语句共输出的数字依次是( )。 for i in range(2, 11, 2): print(i) A. 2 4 6 8 10 B. 2 4 6 8 C. 2 3 4 5 6 7 8 9 10 D. 4 6 8 10