2024 模拟初赛

假设有一组字符{g,h,i,j,k,l},它们对应的频率分别为88%,1414%,1717%,2020%,2323%,1818%。以下()是字符g,h,i,j,k,l分别对应的一组哈夫曼编码。

A.g:11001100,h:11011101,i:111111,l:1010,k:0000,j:0101

B.g:00000000,h:001001,i:010010,l:011011,k:1010,j:1111

C.g:111111,h:110110,i:101101,l:100100,k:0101,j:0000

D.g:110110,h:111111,i:101101,l:100100,k:00,j:0101

解析:

一道记忆题,哈夫曼编码的值有可能会变,但长度不会变,哈夫曼树如下:

         100
       0/   \1
      42     58
    0/ \1   0/ \1
   20  22   23  35
     0/  \1   0/  \1
     8   14   17   18

长度分别为:3333332222,所以选C。

错误原因:

没有想到,哈夫曼编码的值有可能会变,但长度不会变的规律,导致看哪一个都不是正确答案,就蒙了一个。


228877个整数中随机取22个不同的数,这两个数互质的概率为()。

A.1/61/6

B.1/31/3

C.1/21/2

D.2/32/3

解析:

一道枚举题,枚举内容如下:

  • 22开头:23252723,25,27

  • 33开头:3435373834,35,37,38

  • 44开头:454745,47

  • 55开头:56575856,57,58

  • 66开头:6767

  • 77开头:7878

而一共有2121种(自己枚举)选法,满足条件的有3+4+2+3+1+1=143+4+2+3+1+1=14个,约分后为2/32/3,所以选D。

错误原因:

直接算成不互质的概率了。


以下()的算法典型地使用了分治法的思想来解决问题。

A.线性搜索

B.快速排序

C.冒泡排序

D.插入排序

解析:

一道记忆题,线性搜索属于线性查找,不可能使用了分治法的思想来解决问题。

冒泡排序与插入排序都是O(n2)O(n^2)的,也不可能使用了分治法的思想来解决问题。

而快速排序是O(nlog(n))O(nlog(n)),原理是选择一个枢纽元素,将小于枢纽元素的放在左边,大于枢纽元素的放在右边,再递归对左右两个部分进行快速排序,直到排序完成。从上面加粗的话来说,快速排序就是使用了分治法的思想来解决问题。所以选B。

错误原因:

粗心大意,想的是B,写的是D。

谢谢