线性链表
1[单选题]对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是( )
A.冒泡排序为n/2
B.冒泡排序为n
C.快速排序为n
D.快速排序为n(n-1)/2
参考答案:D
参考解析:对于长度为n的线性表,在最坏情况下,冒泡排序需要进行的比较次数是n(n—1)/2,快速排序需要进行的比较次数是n(n-1)/2,简单插入排序需要进行的比较次数是n(n—1)/2,希尔排序需要进行的比较次数是0(n1 5),简单选择排序需要进行的比较次数是n(n-1)/2,堆排序需要进行的比较次数是0(nl092n)。因此选项D正确。
2[单选题]在长度为n的有序线性表中进行二分查找,最坏情况下需要较的次数是( )。
参考答案:C
参考解析:对于长度为n的线性表进行顺序查找,平均要进行n/2次比较,在最坏情况下要进行n次比较;对于长度为n的线性表进行二分查找,在最坏情况下要进行l092n次比较(但二分查找要求线性表是顺序存储的有序表)。因此本题的正确答案是C。
3[单选题]已知线性表的首元素的地址是1025,每个数据元素的长度为2,则第10个兀素的地址为( )
A.1035B.1045C.1027D.1043
参考答案:D
4[单选题]在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为( )。
参考答案:B
参考解析:
5[填空题]线性表的存储结构主要分为顺序存储结构和链式存储结构。队列是一种特殊的线性表,循环队列是队列的( )存储结构。
参考解析:顺序
【分析】在实际应用中,队列的顺序存储结构一般采用循环队列的形式。
6[填空题]数据结构分为线性结构和非线性结构,带链的队列属于________。
参考解析:线性【分析】带链的队列如下图l.16所示。从图中可以看出带链的队是线性结构。总结:常用的数据结构比如:线性表、栈、队列是线性结构(不管是采用顺序存储结构还是链式存储结构);树、二叉树、图都是非线性结构(不管是采用顺序存储结构还是链式存储结构)。
7[填空题]对长度为l0的线性表进行冒泡排序,最坏情况下需要比较的次数为________。
参考解析:45
【分析】假设线性表的长度为n,则在最坏情况下,冒泡排序需要经过n/2遍的从前往后的扫描和n/2遍的从后往前的扫描,需要比较的次数为n(n-1)/2。因此本题的正确答案是10x(10—1)÷2=45。
8[单选题]在线性链表的插入算法中,若要把结点q插在结点P后面,下列操作正确的是:( )
A.使结点P指向结点q,再使结点q指向结点P的后件结点
B.使结点q指向P的后件结点,再使结点P指向结点q
C.使结点q指向结点P,再使结点P指向结点q的后件结点
D.使结点P指向q的后件结点,再使结点q指向结点P
参考答案:B
参考解析:在修改结点指针域的操作中,有一个操作顺序的问题。比较选项A和B只是操作顺序颠倒了-下。A中先使结点p指向q后,q就成为P新的后件结点了,原先通过结点P指向的后件结点与结点P脱节了那么后面的-步操作没有任何意义的:使结点q指向P的后件结点即使结点q成为自己的后件结点。按照B指定的顺序操作就不会出现在引用结点p的指针域之前已经把它的值修改了的情形。至于C和D项是命题者设计的干扰项想让考生把P和(1的顺序搞混。
总结,做这种类型的试题,最好画图。插入结点:若结点p的后面是结点s,要在p和s之间插入结点q,-般先将结点q指向结点s,再将结点p指向q,顺序不能颠倒。删除结点:若结点p的后面是结点q.结点q的后面是结点s,若要删除结点q,只需将结点p指向结点s即可。
9[单选题]在一个n×m的二维线性表中顺序查找一个数据元素的算法时间复杂度是( )
A.O(n+m)B.O(n×m)C.O(n2)D.O(m2)
参考答案:B
参考解析:在-维线性表中顺序查找一个数据元素的算法时间复杂度是O(n),其中n是线性表的长度二维线性表的顺序查找方法和-维线性表相似,只不过是多了-维罢了。在二维表中进行顺序查找有两个方法:-是把二维线性表看成是n个长度为m的-维线性表,顺序查找就是对这n个-维线性表依次实施顺序查找,因此它的算法时间复杂度是O(n)×o(m)=o(n×m);二是直接把n×m的二维线性表看成一个n×m的-维线性表,那么在它当中用顺序查找法查捧一个元素的算法时间复杂度是O(n×m)。
10[单选题]下列对于线性链表的描述中正确的是( )。
参考答案:A
参考解析:线性链表是通过增加一个指针域来把相邻的数据元素链接成一个线性序列。线性链表的这种结构使得它存储数据的空间可以是离散的,并不像顺序表那样一定要求物理上的连续空间。因此选项A正确n
11[单选题]在线性链表的插入算法中,若要把结点q插在结点P后面,下列操作正确的是( )。
参考答案:B
参考解析:
12[单选题]在一个n×m的二维线性表中顺序查找一个数据元素的算法时间复杂度是( )。
参考答案:B
参考解析:
13[填空题]已知线性表的每个元素占2个字节,它的第5个元素在内存中的存储地址是1005,那么它的第2个元素在内存中的存储地址是________。
答案:999
14[填空题]线性表的存储结构主要分为顺序存储结构和链式存储结构。队列是-种特殊的线性表,循环队列是队列的________存储结构。
参考解析:顺序【分析】在实际应用中,队列的顺序存储结构-般采用循环队列的形式。
15[单选题]已知线性表的首元素的地址是1025,每个数据元素的长度为2,则第10个兀素的地址为( )。
参考答案:D
16[单选题]下列关于链表结构的叙述正确的是( )。
参考答案:A
17[单选题]下列叙述中正确的是( )。【考点5链表】
A.栈是“先进先出”的线性表
B.队列是“先进后出”的线性表
C.循环队列是非线性结构
D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构
参考答案:D
参考解析:本题主要考查了栈、队列、循环队列的概念,栈是先进后出的线性表,队列是先进先出的线性表。根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。有序线性表既可以采用顺序存储结构,又可以采用链式存储结构。
18[单选题]在表示树的多重链表中,除了要存储结点的值和多个指针之外,还必须需要存储( )。
参考答案:A
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |