2021年12月/2022年3月计算机二级公共基础知识押题71-100 71.在长度为n的顺序表中查找一个素,假设需要查找的素一定在表中,并且素出现在表中每个位置上的可能性是相同的,则在平均情况下需要比较的次数为( ) A)n/4 B)n C)3n/4 D)(n+1)/2【解析】在顺序表中查找,最好情况下第一个素就是要查找的素,则比较次数为1;在最坏情况下,最后一个素才是要找的素,则比较次数为n。则平均比较次数:(1+2+┉+n)/n=(n(n+1)/2)/n=(n+1)/2。 72.在长度为n的顺序表中查找一个素,假设需要查找的素有一半的机会在表中,并且如果素在表中,则出现在表中每个位置上的可能性是相同的。则在平均情况下需要比较的次数大约为( ) A)n B)3n/4 C)n/2 D)n/4【解析】在顺序表中查找,最好情况下第一个素就是要查找的素,则比较次数为1;在最坏情况下,最后一个素才是要找的素,则比较次数为n。这是找到素的情况。如果没有找到素,则要比较n次。因此,平均需要比较:找到素的情况×1/2+未找到素的情况×1/2=(1+2+┉+n)/n×1/2+n×1/2=(3n+1)/4,大约为3n/4。 73.下列算法中均以比较作为基本运算,则平均情况与最坏情况下的时间复杂度相同的是( ) A)在顺序存储的线性表中寻找最大项 B)在顺序存储的线性表中进行顺序查找 C)在顺序存储的有序表中进行对分查找 D)在链式存储的有序表中进行查找【解析】寻找最大项,无论如何都要查看所有的数据,与数据原始排列顺序没有多大关系,无所谓最坏情况和最好情况,或者说平均情况与最坏情况下的时间复杂度是相同的。而查找无论是对分查找还是顺序查找,都与要找的数据和原始的数据排列情况有关,最好情况是第1次查看的一个数据恰好是要找的数据,只需要比较1次;如果没有找到再查看下一个数据,直到找到为止,最坏情况下是最后一次查看的数据才是要找的,顺序查找和对分查找在最坏情况下比较次数分别是n和log2n,平均情况则是1~最坏情况的平均,因而是不同的。 74.线性表的长度为n。在最坏情况下,比较次数为n-1的算法是( ) A)顺序查找 B)同时寻找最大项与最小项 C)寻找最大项 D)有序表的插入【解析】顺序查找要逐个查看所有素,会比较n次。在最坏情况下,寻找最大项无论如何需要查看表中的所有素,n个素比较次数为n-1。同时寻找最大项和最小项,需要为判断较大值和较小值分别进行比较,会有更多的比较次数。有序表的插入最坏情况下是插入到表中的最后一个素的后面位置,则会比较n次。 75.下列叙述中正确的是( ) A)二分查找法只适用于顺序存储的有序线性表 B)二分查找法适用于任何存储结构的有序线性表 C)二分查找法适用于有序循环链表 D)二分查找法适用于有序双向链表【解析】二分查找法(又称对分查找法)只适用于顺序存储的有序表。在此所说的有序表是指线性表的中素按值非递减排列(即从小到大,但允许相邻素值相等)。 76.设有序线性表的长度为n,则在有序线性表中进行二分查找,最坏情况下的比较次数为( ) A)










































2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/82091.html