第一题:设有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&#