牛客(9.18)-链表专项练习

第一题:设有n个元素的集合,采用带头结点有序链表来实现,设集合的元素占8个字节,链接指针占2个字节,该集合的存储密度为(C)

A、0.8
B、n/(n+1)
C、0.8n/(n+1)
D、0.8(n+1)/n

答案解析:题目要求计算集合的存储密度首先需要知道什么是存储密度:存储密度 = (结点数据本身所占的存储量)/(结点结构所占的存储总量)由题目可知:元素占8n字节,指针占2n字节,头结点不存元素,一共10字节,所以有8n/(8n+2n+10)=0.8n/(n+1)

第二题:在一个长度为 n ( n>1 )的单链表上,设有头和尾两个指针,执行 操作与链表的长度有关。(B

A、删除单链表中的第一个元素
B、删除单链表中的最后一个元素
C、在单链表第一个元素前插入一个新元素
D、在单链表最后一个元素后插入一个新元素

答案解析:因为在单链表中删除元素时需要从头进行遍历,直至找到修后一个元素的前一个元素,将此元素的指针域清空,则最后一个元素被删除,这时删除最后一个元素就与长度有关系

第三题:若串 =’software’ ,其子串数目为:(B

A、8  B、37   C、36    D、9

答案解析:自己在做题时是一个一个数的,还是做错了,选择了36。少的那个是空串,因为空串是每个字符串的字串,如果使用公式的话就是:s=(1+n)*n/2+1,计算出来是算有空串的。

第四题:下面程序的运行结果:(B)

public static void main(String args[]) {
        Thread t=new Thread(){
        public void  run(){
            dianping();
             
        }
    };
    t.run();
    System.out.print("dazhong&#

你可能感兴趣的:(刷题总结)