文档介绍:《计算机软件基础》考试题库及答案
《计算机软件基础》复习题库带答案
CD。
A. 所有的操作算法实现简单B. 便于随机存取
C. 便于插入和删除D. 便于利用零散的存储器空间
C的有限序列。
A. 表元素B. 字符 C. 数据元素
D. 数据项E. 信息项
,在其第I个位置插入一个新元素的算法的时间复杂度为C 。(1≤I≤n+1)
A. O0 B. O1
C. On D. On2
,a2,…,an,采用顺序存储结构,则在等概率的前提下,平均每插入一个元素需要移动的元素个数为 B,平均每删除一个元素需要移动的元素个数为 A;若元素插在ai与ai+1之间0≤I≤n-1的概率为,则平均每插入一个元素所要移动的元素个数为 C;
,按它们在时的无穷大阶数,最大的是 D。
A. lognB. nlogn
C. 2n/2D. n!
,其语句应为: D 。
A. s-nextp+1; p-nexts;
C. s-nextp-next; p-nexts-next;
D. s-nextp-next; p-nexts;
,其最少的比较次数是 A 。
A. n B. 2n-1
C. n-1 D. 2n
hb为一个无头结点链表ha的过程,作为参数的两个链表都是按结点的data域由大到小链接的。合并后新链表的结点仍按此方式链接。请填写下述空框,使程序能正确运行。
#define NULL 0
typedef struct node
int data;
struct node *next;
node, linklisttype;
void combinelinklisttype *ha, linklisttype *hb
linklisttype *h, *p;
h linklisttype *mallocsizeoflinklisttype;
h-next NULL;
p h;
whileha ! NULL && hb ! NULL
ifha-datahb-data /*较大的元素先插入*/
p-next 1 ;
p 2 ;
3 ;
else
p-next 4 ;
p 5 ;
6 ;
ifhaNULL7 ;
ifhbNULL8 ;
ha h-next;
freeh;
参考答案: 1 ha2 p-next 3 haha-next
4 hb5 p-next 6 hbhb-next
7 p-nexthb 8 p-nextha
,a2,…,an与表B的一个顺序子表bk,bk+1,…bk+n-1完全相同(即a1bk,a2bk+1,…anbk+n-1),则称表A包含在表B中。设ha,hb为带头结点的单链表,分别表示有序表A和B,下面的函数用于判别表A是否包含在表B中,若是,则返回true,否则返回false。(提示:用递归实现)
#define true 1
#define false 0
#define NULL 0
typedef struct node
int data;
struct node *next;
node, linklisttype;
int inclusionlinklisttype *ha, linklisttype *hb
linklisttype *pa, *pb;
pa ha-next;
pb hb-next; 1 ;
while2
ifpa-datapb-data 3 ;
else 4 ; 5 ;
参考答案:
1 ifpaNULL returntrue
2 pb!NULL && pa-datapb-data
3 returninclusionpa, pb
4 pb pb-next;
5 returnfalse
,函数create_link_listn建立一个具有n个结点的循环链表;函数josephusn,I,m对由create_link_listn所建立的具有n个结点的循环链表按一定的次序逐个输出,并删除链表中的所有结点。参数nn0指明循环链表的结点个数,参数I1≤I≤n指明起始结点,参数m(m0是