2026/5/21 12:36:48
网站建设
项目流程
贵州省水利建设项目公示网站,梦璇帮我wordpress,wordpress新建模板,马可波罗网介绍答案和更多内容请查看网站#xff1a;【试卷中心 ----- CCF GESP ---- Python ---- 五级】
网站链接
青少年软件编程历年真题模拟题实时更新 2025年12月 GESP CCF编程能力等级认证Python五级真题 一、单选题#xff08;每题 2 分#xff0c;共 30 分…答案和更多内容请查看网站【试卷中心 ----- CCF GESP ---- Python ---- 五级】网站链接青少年软件编程历年真题模拟题实时更新2025年12月 GESP CCF编程能力等级认证Python五级真题一、单选题每题 2 分共 30 分第 1 题 对如下定义的循环单链表横线处填写 。class Node: def __init__(self, data): self.data data self.next None def create_list(value): head Node(value) head.next head return head def insert_tail(head, value): p head while p.next ! head: p p.next node Node(value) node.next head p.next node def print_list(head): _______________________________ while True: print(p.data, end ) p p.next if p head: break print()A.if head is None:returnp.next headB.if head is None:returnp head.nextC.if head is None:returnp headD.if head.next is None:returnp head第 2 题 区块链技术是比特币的基础。在区块链中每个区块指向前一个区块构成链式列表新区块只能接在链尾不允许在中间插入或删除。下面代码实现插入区块添加函数则横线处填写 。class Block: def __init__(self, idx, data, prev_block): self.index idx self.data data self.prev prev_block class Blockchain: def __init__(self): self.tail None def init(self): genesis_block Block(0, Genesis Block, None) self.tail genesis_block def add_block(self, data): ____________________________________ def clear(self): cur self.tail while cur is not None: prev_block cur.prev cur.prev None cur prev_block self.tail None def print_chain(self): cur self.tail chain [] while cur is not None: chain.append(fBlock {cur.index}: {cur.data}) cur cur.prev for block_info in reversed(chain): print(block_info)A.new_block Block(self.tail.index, data, self.data)B.new_block Block(self.tail.index 1, data, self.tail)self.tail new_blockC.new_block Block(self.tail.index, data1, self.data)self.tail new_blockD.new_block Block(self.tail.index, data, self.tail)self.tail.data new_block第 3 题 下面关于单链表和双链表的描述中正确的是 。class DNode: def __init__(self, data): self.data data self.prev None self.next None def delete_dnode(node): if node.prev: node.prev.next node.next if node.next: node.next.prev node.prev node.prev None node.next None class SNode: def __init__(self, data): self.data data self.next None def delete_snode(head, node): if head is None or node is None: return prev head while prev.next ! node: prev prev.next prev.next node.next node.next NoneA. 双链表删除指定节点是 单链表是B. 双链表删除指定节点是 单链表是C. 双链表删除指定节点是 单链表是D. 双链表删除指定节点是 单链表是第 4 题 假设我们有两个数 和 它们对模 同余即 。以下哪个值不可能是 A. 3B. 4C. 6D. 9第 5 题 下面代码实现了欧几里得算法下面有关说法错误的是 。def gcd1(a: int, b: int) - int: return a if b 0 else gcd1(b, a % b) def gcd2(a: int, b: int) - int: while b ! 0: temp b b a % b a temp return aA. gcd1() 实现为递归方式。B. gcd2() 实现为迭代方式。C. 当 较大时 gcd1() 实现会多次调用自身需要较多额外的辅助空间。D. 当 较大时 gcd1() 的实现比 gcd2() 执行效率更高。第 6 题 唯一分解定理描述的内容是 。A. 任何正整数都可以表示为两个素数的和。B. 任何大于1的合数都可以唯一分解为有限个质数的乘积。C. 两个正整数的最大公约数总是等于它们的最小公倍数除以它们的乘积。D. 所有素数都是奇数。第 7 题 下述代码实现素数表的线性筛法筛选出所有小于等于 的素数则横线上应填的代码是( )。def linear_sieve(n): if n 2: return [] is_prime [True] * (n 1) is_prime[0] is_prime[1] False primes [] for i in range(2, n 1): if is_prime[i]: primes.append(i) for j in range(len(primes)): p primes[j] if i * p n: break—————————————————————————— if i % p 0: break return primesA. is_prime[i * p] FalseB. is_prime[i] FalseC. is_prime[i * p] TrueD. is_prime[i p] False第 8 题 下列关于排序的说法正确的是( )。A. 快速排序是稳定排序B. 归并排序通常是稳定的C. 插入排序是不稳定排序D. 冒泡排序不是原地排序第 9 题 下面代码实现了归并排序。下述关于归并排序的说法中不正确的是 。A. 归并排序的的平均复杂度是 。B. 归并排序需要 的额外空间。C. 归并排序在最坏情况的时间复杂度是 。D. 归并排序适合大规模数据。答案和更多内容请查看网站【试卷中心 ----- CCF GESP ---- Python ---- 五级】网站链接青少年软件编程历年真题模拟题实时更新