考研数据结构及程序设计在线题库每日一练(二十)
以下是希赛网给大家分享考研数据结构及程序设计在线题库每日一练,希望通过刷题可以帮助大家巩固重要知识点,对知识点查漏补缺,祝愿大家能顺利通过考试!
本文提供考研数据结构及程序设计在线题库每日一练,以下为具体内容
1、设某链表中最常用操作是在链表尾部插入或删除元素,则选用下列( )存储方式最节省运算时间。
A、单向链表
B、单向循环链表
C、双向链表
D、双向循环链表
2、在一个单链表中,若p所指的结点不是最后一个结点,在p之后插入s所指的结点,则执行( )。
A、s→next=p; p→next=s;
B、p→next=s; s→next=p;
C、p=s; s→next=p→next;
D、s→next=p→next; p→next=s;
3、查找哈希Hash表,不会发生冲突的哈希函数( )。
A、除留余数法
B、伪随机探测再散列法
C、直接地址法
D、线性探测再散列法
4、下面关于B树和B+树的叙述中,不正确的结论是( )。
A、B树和B+树都能有效地支持顺序查找
B、B树和B+树都能有效地支持随机查找
C、B树和B+树都是平衡的多分树t
D、B树和B+树都可用于文件的索引结构
5、若变量c为char类型,能争取判断出c为小写字母的表达式是( )。
A、'a'<= c<='z'
B、(c>='a')||(c<='z')
C、('a'<= c)and('z'>=c)
D、(c>='a')&&(c<='z')
1、试题答案:D
试题解析:
【考点】本题考查双向循环链表。
【解析】在单向链表、单向循环链表以及双向链表中,均需要从头到尾遍历整个链表才能找到尾元素的位置,花费时间长。而在双向循环链表中,通过头结点指针可以直接在O(1)的时间复杂度内找到尾元素的位置。在链表尾部插入或删除元素时,双向循环链表这一存储方式相较于其他三种而言,最能节省运算时间。故本题选D。
2、试题答案:D
试题解析:
【考点】本题考查单链表的删除操作。
【解析】在一个单链表中,若p所指的结点不是最后一个结点,在p之后插入s所指的结点的示意图如下所示。故本题选D。
3、试题答案:C
试题解析:
【考点】本题考查哈希函数。
【解析】直接地址法散列函数的优点是简单、均匀,也不会产生冲突,但是这需要事先知道关键字的分布情况,它适合查找表较小且关键字分布连续的情况。由于这样的限制,在现实应用中,直接定址法虽然简单,但却并不常用。故本题选C。
4、试题答案:A
试题解析:
【考点】本题考查B树和B+树的特点。
【解析】B树只能支持随机查找,而B+树是有序的树,既能支持随机查找,又能支持顺序查找,所以选项A说法错误。故本题选A。
5、试题答案:D
试题解析:
【考点】本题考查判断一个字符是小写字母的表达式。
【解析】在C语言程序设计中,用符号“&&”表示与,即要满足符号两边的条件。表达式(c>='a')&&(c<='z')的意思就是既要满足条件c>='a',也要满足条件c<='z'。这样写表达式才能正确判断出c为小写字母。故本题选D。