唯品会3月29日中山大学“移动技术”笔试——回忆不全

一、不定向选择题:

1、考出栈顺序:进栈顺序是a,b,c,d,哪些出栈顺序不可能?

2、考排序算法复杂度:选不正确的:a.堆排序时间复杂度最差是..最优是.. b.归并排序时间复杂度最差最优 c.快速排序时间复杂度最差最优(具体数值不记得了,大概题型就这样)

3、304http状态码是什么意思?请求的文档内容没有改变(http状态码要看)

4、static说法正确的是:

     a、static成员棉量在对象构造时候生成

     b、static成员函数在对象成员函数中无法调用

     c、许成员函数不可能是static成员函数

     d、static成员函数不能方威static成员变量

    答案:c   解释,(1)类的static成员变量属于该抽象类,需要在类定义时初始化,不可以在对象的构造函数中初始化。(2) static成员函数在对象成员函数中可以调用,同属于一个类作用域 (3)正确,static成员函数不可以声明为const和virtual,详见C++ primer  (4)static成员函数只能够访问static 成员变量。

5、实例化一个类的时候,构造函数的调用顺序是?a父类构造函数 b自身构造函数 c成员对象构造函数 我觉得顺序应该是abc

6、已知一段文本有1382个字符,使用了1382个字节进行存储,这段文本全部是由a、b、c、d、e这5个字符组成,a出现了354次,b出现了483次,c出现了227次,d出现了96次,e出现了232次,对这5个字符使用哈夫曼(Huffman)算法进行编码,则以下哪些说法正确(ACD)哈夫曼编码也是一个笔试常考知识点
A、使用哈夫曼算法编码后,用编码值来存储这段文本将花费最少的存储空间
B、使用哈夫曼算法进行编码,a、b、c、d、e这5个字符对应的编码值是唯一确定的
C、使用哈夫曼算法进行编码,a、b、c、d、e这5个字符对应的编码值可以有多套,但每个字符编码的位(bit)数是确定的
D、b这个字符的哈夫曼编码值位数应该最短,d这个字符的哈夫曼编码值位数应该最长


二、简答题:(应该是要写下简要步骤的)

1、50个人,1~50编号,开始数数,每数到3的倍数的人退出,剩下的继续数,最后剩几号?11号

2、999个节点的完全二叉树,深度是多少?最深处10,最浅处9

3、国王有500瓶酒,其中有一瓶毒酒,喝了毒酒20小时才发作,24小时内找出毒酒最少要几个奴隶试酒?

      这题非常有趣,可是我没做出来。回来上网找了,一个二进制的思路好赞!(也有用维度算得,把酒看成一个多维图形,用奴隶做线面定位,具体我不懂,思考不了多维度的空间)

      把500变成一个二进制数,需要9位,最少需要9个奴隶定位,比如说1号奴隶,就把1~500里面二进制数倒数第一位是1的酒都喝掉。如果1毒发死了,说明酒的编号最后一位是1,不是0。如果1没死,说明酒的编号最后一位是0。然后2号,就把1~500里面二进制倒数第二位是1的酒都喝掉,一直到9号啊~如果9个人都死了,说明9位都是1(举例啦,9位都是1超出了500范围了)。

4、很简单一道递归函数手推题,3次递归算完。

int calr(int a,int b){
if(a>=b) return (a==b)?a:b;
else return calf(a+2,b-1);
}

计算cal(2,6)


三、编程题(英文描述,没有要求什么语言)

1、找两个字符串的最大公共substring

2、判断一个字符串是不是对称的,如did,level就是对称的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值