通讯卫星在通信⽹络系统中主要起到( )的作⽤。
信息过滤
信号中继
避免攻击
数据加密
⼩杨想编写⼀个判断任意输⼊的整数N是否为素数的程序,下⾯哪个⽅法不合适?()
埃⽒筛法
线性筛法
⼆分答案
枚举法
内排序有不同的类别,下⾯哪种排序算法和冒泡排序是同⼀类?()
希尔排序
快速排序
堆排序
插⼊排序
在Python中,⼀切皆对象,即便是字⾯量如整数5等也是对象
在Python中,可以⾃定义新的类,并实例化为新的对象
在Python中,内置函数和⾃定义函数,都是类或者对象
在Python中,不可以在⾃定义函数中嵌套定义新的函数
有关下⾯Python代码的说法,正确的是( )
第17⾏代码执⾏后将报错,因为Rect类没有定义in运算符
第16⾏代码将Point对象作为参数,将导致错误
in是成员运算符,不适⽤于Rect类
由于Rect类定义了__contains__魔术⽅法,因此第17⾏代码能正确执⾏
有关下⾯Python代码的说法,正确的是( )。
第8⾏代码错误,第9⾏正确
第9⾏代码错误,第8⾏代码正确
第8、9两⾏代码都正确
第4⾏代码可修改为objCounter += 1
有关下⾯Python代码的说法,错误的是( )。
上列Python代码适⽤于构造各种⼆叉树
代码Root = biTree(biTreeNode(5))构造⼆叉树的根节点
代码Root = biTree( )可以构造空⼆叉树,此时Root对象的root属性值为None
代码Root = biTree(biTreeNode( ))可以构造空⼆叉树,此时Root对象的root属性为Node
基于上题类的定义,有关下⾯Python代码的说法错误的是( )。
代码中Search( )函数如果查找到查找值的节点,则返回该节点的对象
代码中Search( )函数先搜索左⼦树,如果搜索不到指定值,则搜索右⼦树
代码中Search( )函数采⽤递归⽅式实现⼆叉树节点的搜索
代码中Search( )函数采⽤动态规划⽅法实现⼆叉树节点的搜索
有关下⾯Python代码的说法正确的是( )。
上述代码构成单向链表
上述代码构成双向链表
上述代码构成循环链表
上述代码构成指针链表
对hello world 使⽤霍夫曼编码(Huffman Coding),最少bit(⽐特)为( )。
4
32
64
88
下⾯的fiboA( )和fiboB( )两个函数分别实现斐波那契数列,该数列第1、第2项值为1,其余各项分别 为前两项之和。下⾯有关说法错误的是()。
fiboA( )采⽤递归⽅式实现斐波那契数列
fiboB( )采⽤动态规划算法实现斐波那契数列
当N值较⼤时,fiboA( )存在⼤量重复计算
由于fiboA( )代码较短,其执⾏效率较⾼
有关下⾯Python代码不正确的说法是( )。
该代码可⽤于求解⼆叉树的深度
代码中函数getDepth( )的参数root表⽰根节点,⾮根节点不可以作为参数
代码中函数getDepth( )采⽤了递归⽅法
代码中函数getDepth( )可⽤于求解各种形式的⼆叉树深度,要求该⼆叉树节点⾄少有left和right属 性
下⾯有关树的存储,错误的是( )
完全⼆叉树可以⽤list存储
⼀般⼆叉树都可以⽤list存储,空⼦树位置可以⽤None表⽰
满⼆叉树可以⽤list存储
树数据结构,都可以⽤list存储
下⾯有关Python中in运算符的时间复杂度的说法,错误的是()。
当in运算符作⽤于dict时,其时间复杂度为O(1)
当in运算符作⽤于set时,其时间复杂度为O(1)
当in运算符作⽤于list时,其时间复杂度为O(N)
当in运算符作⽤于str时,其时间复杂度为O(1)
下⾯有关bool()函数的说法,正确的是()。
如果⾃定义类中没有定义魔术⽅法__bool__( ),将不能对该类的对象使⽤bool( )函数
如果⾃定义类中没有定义魔术⽅法__bool__( ),将查找有⽆魔术⽅法__len__( )函数,如果有 __len__( )则按__len__()的值进⾏处理,如果该值为0则返回False,否则True,如果没有__len__(),则返回值为True
bool( )函数如果没有参数,返回值为False
表达式bool(int)的值为False
小杨想写一个程序来算出正整数N有多少个因数,经过思考他写出了一个重复没有超过N/2次的循环就能够算 出来了。( )
同样的整数序列分别保存在单链表和双向链中,这两种链表上的简单冒泡排序的复杂度相同。( )
在面向对象中,方法(Event)在Python的class中表现为class内定义的函数。( )
在下面的Python代码被执行将报错,因为newClass没有 __init__( ) 魔术方法。( )
如果某个Python对象(object)支持下标运算符(方括号运算符),则该对象在所对应class中定义了名为 __getitem__ 的魔术方法。( )
深度优先搜索(DFS,Depth First Search的简写)属于图算法,其过程是对每一个可能的分支路径深入到不 能再深入为止,而且每个节点只能访问一次。( )
哈夫曼编码(Huffman Coding)具有唯一性,因此有确定的压缩率。 ( )
Python虽然不支持指针和引用语法,但变量的本质是数据的引用(reference),因此可以实现各种C/C++数 据结构。在下面Python代码中,由于删除了变量a,因此a所对应的数据也随之删除,故第4行代码被执行时,将报 错。( )
二叉搜索树查找的平均时间复杂度为 O log(N) 。( )
二叉搜索树可以是空树(没有任何节点)或者单节点树(只有一个节点),或者多节点。如果是多节点, 则左节点的值小于父节点的值,右节点的值大于父节点的值,由此推理,右节点树的值都大于根节点的值,左节点 树的值都小于根节点的值。( )
试题名称:闯关游戏
你来到了⼀个闯关游戏。
这个游戏总共有 N 关,每关都有 M 个通道,你需要选择⼀个通道并通往后续关卡。其中,第 i个通道可以让你前 进 ai 关,也就是说,如果你现在在第 x 关,那么选择第 i 个通道后,你将直接来到第 x+ ai 关(特别地,如果x+ ai >=N,那么你就通关了)。此外,当你顺利离开第 s 关时,你还将获得 bs 分。
游戏开始时,你在第 0 关。请问,你通关时最多能获得多少总分?
输入描述
第⼀⾏两个整数 N,M ,分别表⽰关卡数量和每关的通道数量。
接下来⼀⾏ M 个⽤单个空格隔开的整数 。保证 。
接下来⼀⾏ N 个⽤单个空格隔开的整数 。保证 。
输出描述
⼀⾏⼀个整数,表⽰你通关时最多能够获得的分数。
特别提醒
在常规程序中,输⼊、输出时提供提⽰是好习惯。但在本场考试中,由于系统限定,请不要在输⼊、输出中附带任 何提⽰信息。
样例输入1
6 2 2 3 1 0 30 100 30 30
样例输出1
131
3.1.7 样例解释1
你可以在第 0 关选择第 1 个通道,获得 1 分并来到第 3 关;随后再选择第 0 个通道,获得 100 分并来到第 5 关;最 后任选⼀个通道,都可以获得 30 分并通关。如此,总得分为 1+100+30=131 。
样例输入2
6 2 2 3 1 0 30 100 30 -1
样例输出2
101
样例解释2
请注意,⼀些关卡的得分可能是负数。
试题名称:⼯作沟通
某公司有 N 名员⼯,编号从 0 ⾄ N-1 。其中,除了 0 号员⼯是⽼板,其余每名员⼯都有⼀个直接领导。我们假设 编号为 i 的员⼯的直接领导是 fi 。
该公司有严格的管理制度,每位员⼯只能受到本⼈或本⼈直接领导或间接领导的管理。具体来说,规定员⼯ x 可以 管理员⼯y,当且仅当 x=y,或 x=fy ,或 x 可以管理 fy 。特别地,0号员⼯⽼板只能⾃我管理,⽆法由其他任何 员⼯管理。
现在,有⼀些同事要开展合作,他们希望找到⼀位同事来主持这场合作,这位同事必须能够管理参与合作的所有同 事。如果有多名满⾜这⼀条件的员⼯,他们希望找到编号最⼤的员⼯。你能帮帮他们吗?
3.2.2 输入描述
第⼀⾏⼀个整数 N ,表⽰员⼯的数量。
第⼆⾏ N-1 个⽤空格隔开的正整数,依次为 。
第三⾏⼀个整数 Q ,表⽰共有 Q 场合作需要安排。
接下来 Q ⾏,每⾏描述⼀场合作:开头是⼀个整数 ,表⽰参与本次合作的员⼯数量;接着是 m 个整数,依次表⽰参与本次合作的员⼯编号(保证编号合法且不重复)。
保证公司结构合法,即不存在任意⼀名员⼯,其本⼈是⾃⼰的直接或间接领导。
输出描述
输出 Q ⾏,每⾏⼀个整数,依次为每场合作的主持⼈选。
特别提醒
在常规程序中,输⼊、输出时提供提⽰是好习惯。但在本场考试中,由于系统限定,请不要在输⼊、输出中附带任 何提⽰信息。
样例输入1
5 0 0 2 2 3 2 3 4 3 2 3 4 2 1 4
样例输出1
2 2 0
样例解释1
对于第⼀场合作,员⼯ 3,4 有共同领导2,可以主持合作。
对于第⼆场合作,员⼯2本人即可以管理所有参与者。
对于第三场合作,只有0号老板才能管理所有员工。