5.在一个具有n个结点的有序单链表中插入一个新结点并仍然保持有序的时间复杂度是()
解析:二分查找的条件有:1.顺序存储结构.
2.元素保持有序.
这里的有序链表不满足二分查找的条件,
故只能老老实实地一个一个寻找插入点,
即遍历链表,T(n) = O(n).
有序顺序表,可以用二分查找,复杂度为o(lgn)
6.下列叙述错误的是( )
解析:定义类是class,接口是interface
8.若一个具有N个结点,M条边的无向图构成一个森林,(N>M), 则该森林必有( )棵树。
解析:设该森林共有m棵树,每棵树有ni(1≤i≤m)个节点,依据树的性质有
N=n1+n2+…+nm
M=(n1-1)+(n2-1)+…+(nm-1)
上面两式相减得
N-M=1+1+…+1=m
而m就是树的个数,所以该森林共有N-M棵树。
利用类比举例法:
假设有三个(N=3)顶点,如果有两条边(M=2)的无向图构成森林的话。
一个顶点作为根节点,另外两个作为子结点,构成一棵树(N-M=1)
带入选项中,可以得出C正确。
9.最小堆[0,3,2,5,7,4,6,8],在删除堆顶元素0之后,其结果是()
解析:根据堆的删除规则,删除操作只能在堆顶进行,也就是删除0元素。
然后让最后一个节点放在堆顶,做向下调整工作,让剩下的数组依然满足最小堆。
删除0后用8填充0的位置,为[8,3,2,5,7,4,6]
然后8和其子节点3,2比较,结果2最小,将2和8交换,为:[2,3,8,5,7,4,6]
然后8的下标为2,其两个孩子节点下标分别为22+1=5,22+2=6
也就是4和6两个元素,经比较,4最小,将8与4交换,为[2,3,4,5,7,8,6]
这时候8已经没有孩子节点了,调整完成。
11.从以下哪一个选项中可以获得Servlet的初始化参数?
解析:通过ServletConfig接口的getInitParameter(java.lang.String name)方法
13.单循环链表的主要优点是()。
解析:该链表是单循环链表,我们知道(非循环的)单链表只能找到它之后的结点,而循环链表因为是循环的,即使不是双向的,也能通过绕一圈的方式找到它前面的结点。所以A对。
不断开原本的连接,那怎么进行插入、删除呢?所以C错。
17.以下java程序代码,执行后的结果是()
解析:HashMap可以插入null的key或value,插入的时候,检查是否已经存在相同的key,如果不存在,则直接插入,如果存在,则用新的value替换旧的value,在本题中,第一条put语句,会将key/value对插入HashMap,而第二条put,因为已经存在一个key为name的项,所以会用新的value替换旧的vaue,因此,两条put之后,HashMap中只有一个key/value键值对。那就是(name,jack)。所以,size为1.
22.若串 S=“software”,则其子串的数目是()
解析:字符串的子串,就是字符串中的某一个连续片段。截取一个字符串长度需要一个起始位置和结束位置。字符串“software”有8个字符,可是设置间隔的位置有9个,使用C(9,2)=36即可求得字符串“software”的所有子串。因为题目标明空串也是子串,故还需要加上1,总共37个子串。所以答案选B。
25.如何获取ServletContext设置的参数值?
解析:getParameter()是获取POST/GET传递的参数值;
getInitParameter获取Tomcat的server.xml中设置Context的初始化参数
getAttribute()是获取对象容器中的数据值;
getRequestDispatcher是请求转发。
27.在Java线程状态转换时,下列转换不可能发生的有()?
解析:
30.往OuterClass类的代码段中插入内部类声明, 哪一个是错误的:
解析:1.静态内部类才可以声明静态方法
2.静态方法不可以使用非静态变量
3.抽象方法不可以有函数体
习题整理1.22
最新推荐文章于 2024-08-18 12:51:45 发布