数据结构与算法——2022每日一练(1月)

文章目录

  • 每日一练
    • 1.1
    • 1.2
    • 1.4
    • 1.5
    • 1.6
    • 1.7
    • 1.8
    • 1.9
    • 1.10
    • 1.11
    • 1.12
    • 1.13
    • 1.14
    • 1.15
    • 1.16
    • 1.17
    • 1.18
    • 1.19
    • 1.20
    • 1.21
    • 1.22
    • 1.23
    • 1.24
    • 1.25
    • 1.26
    • 1.27
    • 1.28
    • 1.29
    • 1.30

每日一练

1.1

  • 以下Dubbo服务负载均衡策略中,哪一个策略的功能是相同参数的请求总是发到同一个提供者()

A. Random LoadBalance

B. RoundRobin LoadBalance

C. LeastActive LoadBalance

D. ConsistentHash LoadBalance

【答案】D

1.2

  • 分别以下列序列构造二叉排序树,层次遍历序列与用其它三个结果不同的是()

A. (100,80,90,140,50,120,160)

B. (100,140,160,120,80,50,90)

C. (100,80,50,90,140,160,120)

D. (100,50,90,80,120,140,160)

【答案】D

1.4

  • 已知RSA算法的加密钥e=7,n=15,明文m=4,则对应的密文c=( )。

A. 4

B. 7

C. 11

D. 13

【答案】A

【解析】根据RSA加密算法 c = E(m) = me mod n 得:c = 4。

1.5

  • 已知RSA算法的加密钥e=11,n=35,明文m=28,则对应的密文c=( )。

A. 2

B. 5

C. 7

D. 10

【答案】C

【解析】根据RSA加密算法 c = E(m) = me mod n 得:c = 7。

1.6

  • 已知RSA算法的加密钥e=7,n=15,密文c=1,则对应的明文m=( )。

A. 1

B. 3

C. 6

D. 7

【答案】A

【解析】根据RSA解密算法 m = D© = ce mod n 的:m = 1。

1.7

  • 已知RSA算法的加密钥e=7,n=15,密文c=2,则对应的明文m=( )。

A. 1

B. 3

C. 5

D. 8

【答案】D

【解析】根据RSA解密算法 m = D© = ce mod n 的:m = 8。

1.8

  • public static final int n=1,经过jvm类的加载过程准备阶段初始化后,n的结果是?

A. 0

B. null

C. 1

D. -1

【答案】C

1.9

  • 小明到某国参加一个叫做《章鱼游戏》的真人秀节目。其中第一个挑战是要求快速算出1000!(阶乘)的末尾有多少个0,如果不能在10分钟之内算出来,那么就会被残忍淘汰,你可以帮小明算一下吗?

A. 244

B. 249

C. 252

D. 245

【答案】B

1.10

  • 下列关于RSA加密法的叙述中,正确的是( )。

    I. RSA加密算法是一种对称加密算法

    II. 对于任意RSA钥匙破解的难度都非常大

    III. 对RSA加密算法进行的攻击方式有大数因数分解及时间攻击等

A. 只有I

B. 只有II

C. 只有III

D. II 和 III

【答案】C

【解析】RSA加密算法是一种非对称加密算法;较短的RSA钥匙是可以被强力破解的,但是只要RSA钥匙的长度足够长,用RSA加密的信息实际上是很难被破解的;大数因数分解时间攻击都是RSA加密算法的攻击方式。

1.11

  • NIST(美国国家标准技术研究所)建议的RSA密钥长度为至少( )位。

A. 256

B. 512

C. 1024

D. 2048

【答案】D

【解析】1999年,RSA-155 (512位)被成功分解,花了五个月时间(约8000 MIPS年)和224 CPU hours在一台有3.2G中央内存的Cray C916计算机上完成;2009年12月12日,编号为RSA-768(768位)数也被成功分解。这一事件威胁了现通行的1024位密钥的安全性,普遍认为用户应尽快升级到2048位或以上。

1.12

  • 在量子计算机领域,RSA算法的最佳破解算法是( )。

A. 普通数域筛选法

B. 秀尔算法

C. 莫比乌斯演算法

D. 数据归纳法

【答案】B

【解析】秀儿算法是目前量子计算机领域针对RSA算法的最佳公开破解算法。

1.13

  • 在传统计算机领域,RSA算法的最佳破解算法是( )。

A. 因数枚举法

B. 椭圆曲线分解法

C. 优先自动机筛选

D. 普通数域筛选法

【答案】D

【解析】RSA算法的破解依赖于大数因数分解。在数论中,普通数域筛选法(GNFS)是已知效率最高的分解整数的算法。

1.14

  • 1949年,( )发表题为《保密系统与通信理论》的文章,为密码系统建立了理论基础,从此密码学成了一门科学。

A. Shannon

B. Diffie

C. Hellman

D. Kaikeba

【答案】A

【解析】1949 年香农(Shannon)发表了《保密系统的通信理论》,将信息论引入密码学,不仅为密码学的发展奠定了坚实的理论基础,而且把发展了数千年的密码术推向了科学的轨道,正式开启了密码学的大门,形成密码学这一学科。因此,在此之后出现的密码技术才能真正称为密码学。1976 年,Diffie 和 Hellman 发表的《密码学的新方向》更是密码发展的里程碑,开启了现代密码算法研究的新征程。

1.15

  • 存在若干个字符串,若要查找具有相同前缀的字符串,以下哪种数据结构比较适合

A. 红黑树

B. 哈希表

C. Trie 树

D. 栈

【答案】C

1.16

  • String s = new String("xyz"); 创建了几个StringObject

A. 两个或一个都有可能

B. 两个

C. 一个

D. 三个

【答案】A

1.17

  • 下列关于互质关系的叙述中正确的有( )个。
    1. 任意两个质数构成互质关系,比如13和61。
    2. 一个数是质数,另一个数只要不是前者的倍数,两者就构成互质关系,比如3和10。
    3. 如果两个数之中,较大的那个数是质数,则两者构成互质关系,比如97和57。
    4. 1和任意一个自然数是都是互质关系,比如1和99。
    5. p是大于1的整数,则p和p-1构成互质关系,比如57和56。
    6. p是大于1的奇数,则p和p-2构成互质关系,比如17和15。

A. 1

B. 3

C. 4

D. 6

【答案】D

【解析】上面的叙述均正确。

1.18

  • 欧拉函数φ(50)的结果为( )。

A. 10

B. 15

C. 20

D. 30

【答案】C

【解析】欧拉函数φ(50)对应的是小于等于50的正整数中与50互质的数的个数,小于等于50且与50互质的数共有20个,它们分别为1,3,7,9,11,13,17,19,21,23,27,29,31,33,37,39,41,43,47,49,所以φ(50)=20。

1.19

  • 已知RSA算法的加密钥e=3,n=15,明文m=12,则对应的密文c=( )。

A. 1

B. 3

C. 5

D. 7

【答案】B

【解析】根据RSA加密算法 c = E(m) = me mod n 得:c = 3。

1.20

  • 已知RSA算法的加密钥e=3,n=15,明文m=6,则对应的密文c=( )。

A. 2

B. 4

C. 6

D. 8

【答案】C

【解析】根据RSA加密算法 c = E(m) = me mod n 得:c = 6。

1.21

  • 已知某RSA加密算法的公钥(e,N)=(23,55),字母数字映射表如下图所示,则密文“kaikeba”对应的明文是( )。

数据结构与算法——2022每日一练(1月)_第1张图片

A. pacpqea

B. kcekxfc

C. kadkyra

D. zgazuog

【答案】C

【解析】因为N = p x q = 55,且 p、q 均为素数,得 N = 5 x 11,所以 φ(N) = (p-1) x (q-1) = 40。

因为 e × d ≡ 1 mod φ(N),可得 d = 7。对于密文c,我们可以通过如下等式获得其对应的明文m:cd ≡ m (mod N)

对于密文“kaikeba”,其中的字符对应关系如下表所示:

数据结构与算法——2022每日一练(1月)_第2张图片

1.22

  • 在下列4条语句的前提下:

    Integer i01 = -128;
    int i02 = -128;
    Integer i03 =Integer.valueOf(-128);
    Integer i04 = new Integer(-128);
    

    以下输出结果为false的是:

A. System.out.println(i01 == i02);

B. System.out.println(i01 == i03);

C. System.out.println(i02 == i04);

D. System.out.println(i03 == i04);

【答案】D

1.23

  • 下面对于cookie的描述中错误的是?

A. Cookie通过HTTP Headers从浏览器端发送到服务器端并存储在服务器端

B. Cookie的大小限制在4kb左右,对于复杂的存储需求来说是不够用的

C. 如果在一台计算机中安装多个浏览器,每个浏览器都会以独立的空间存放cookie

D. 由于在HTTP请求中的Cookie是明文传递的,所以安全性成问题

【答案】A

1.24

  • RSA算法中,素数p=7,q=11,加密密钥e=7,计算解密密钥d=( )。

A. 11

B. 23

C. 35

D. 43

【答案】D

【解析】N = 7 x 11 = 77,φ(N) = (7-1) x (11-1) = 60,根据 e x d ≡ 1 mod φ(N),又 7 x d mod 60 = 1,得 d = 43。

1.25

  • 对于RSA算法,设截获e=5,n=35的用户密文C=10,请问明文M是( )。

A. 3

B. 5

C. 13

D. 17

【答案】B

【解析】N = 5 x 7 = 35,φ(N) = 4 x 6 = 24。根据 e x d ≡ 1 mod φ(n) = 1,又 5 x d mod 24 = 1,d = 5

。M = cd mod 35 = 105 mod 35 = 5,明文 M = 5。

1.26

  • 在密码学中,对RSA算法的描述是正确的是( )。
    I. RSA加密算法是一种对称加密算法
    II. RSA加密算法是一种非对称加密算法
    III. RSA算法既能用于加密,也能用于做数字签名
    IV. RSA 算法仅能用于加密,不能用于做数字签名

A. I和III

B. I和IV

C. II和III

D. II和IV

【答案】C

【解析】RSA加密算法是一种非对称加密算法;RSA算法既能用于加密,也能用于做数字签名。

1.27

  • 以下选项中不属于RSA算法的应用场景的是( )。

    ① 信息加密 ② 登录认证 ③ 数字签名 ④ 数字证书

A. 仅②

B. 仅④

C. ③和④

D. 无

【答案】D

【解析】以上选项都属于RSA算法的应用场景。

  • 信息加密:收信者是唯一能够解开加密信息的人,因此收信者手里的必须是私钥。发信者手里的是公钥,其它人知道公钥没有关系,因为其它人发来的信息对收信者没有意义。
  • 登录认证:客户端需要将认证标识传送给服务器,此认证标识 (可能是一个随机数) 其它客户端可以知道,因此需要用私钥加密,客户端保存的是私钥。服务器端保存的是公钥,其它服务器知道公钥没有关系,因为客户端不需要登录其它服务器。
  • 数字签名:数字签名是为了表明信息没有受到伪造,确实是信息拥有者发出来的,附在信息原文的后面。就像手写的签名一样,具有不可抵赖性和简洁性。
    • 简洁性:对信息原文做哈希运算,得到消息摘要,信息越短加密的耗时越少。
    • 不可抵赖性:信息拥有者要保证签名的唯一性,必须是唯一能够加密消息摘要的人,因此必须用私钥加密 (就像字迹他人无法学会一样),得到签名。如果用公钥,那每个人都可以伪造签名了。
  • 数字证书:问题起源:对1和3,发信者怎么知道从网上获取的公钥就是真的?没有遭受中间人攻击
    • 这样就需要第三方机构来保证公钥的合法性,这个第三方机构就是 CA (Certificate Authority),证书中心。
    • CA 用自己的私钥对信息原文所有者发布的公钥和相关信息进行加密,得出的内容就是数字证书。
    • 信息原文的所有者以后发布信息时,除了带上自己的签名,还带上数字证书,就可以保证信息不被篡改了。信息的接收者先用 CA给的公钥解出信息所有者的公钥,这样可以保证信息所有者的公钥是真正的公钥,然后就能通过该公钥证明数字签名是否真实了。

1.28

  • 下列描述中最贴近RSA算法的描述的是( )。

    ① 可靠性依赖于对极大整数做因数分解的难度

    ② 基于整数有限域离散对数难题

    ③ 利用椭圆曲线上的有理点构成 Abel 加法群上椭圆离散对数的计算困难性

    ④ 是一种确保共享 KEY 安全穿越不安全网络的方法,也就是常说的密钥一致协议

A. ①

B. ②

C. ③

D. ④

【答案】A

【解析】选项A描述的是RSA算法; 选项B描述的是DSA算法; 选项C描述的是ECC算法; 选项D描述的是DH算法。

1.29

  • 给定n个权值作为n个叶子节点,构造一棵二叉树,若该树的带权路径长度达到最小,这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree),哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近,若一个哈夫曼树有N个叶子节点,则其节点总数为( )

A. 不确定

B. 2N - 1

C. 2N + 1

D. 2N

【答案】B

1.30

  • AVL树是平衡二叉查找树,在AVL树中任何节点的两个子树的高度最大差别为1,现有一结点序列(100,70,50,80,90,60),逐个插入一颗空的AVL树,插入过程中,树不断调整,则在上述情境下,分析正确的是( )

A. 树中插入90时,破坏平衡了,需要进行RL调整

B. 树中插入90时,破坏平衡了,需要将90变为100和80的父节点

C. 树中插入50时,破坏平衡了,需要将50变为70的父节点

D. 树中插入80时,破坏平衡了,需要将80变为100的父节点

【答案】B

你可能感兴趣的:(数据结构与算法,面试题,数据结构,算法)