精品文档
精品文档
PAGE
PAGE38
精品文档
PAGE
实用标准文档
《计算机软件基础》复习题库(带答案)
1.性表的式存构与序存构相比点是
CD
。
A.所有的操作算法
B.便于随机存取
C.便于插入和除
D.便于利用零散的存器空
2.性表是具有
n个C
的有限序列。
A.表元素
B.字符
C.数据元素
D.数据
E.信息
若度n的性表采用序存构,在其第I个位置插入一个新元素的算法的复度C。(1≤I≤n+1)A.O(0)B.O(1)C.O(n)D.O(n2)A是一个性表(a1,a2,?,an),采用序存构,在等概率的前提下,平均每插入
一个元素需要移的元素个数B
(n/2)
,平均每除一个元素需要移的元素个
数
A
n
1
;若元素插在ai与ai+1
之(0≤I≤n-1)的概率2(n
i),平均每插入一
2
n(n
1)
个元素所要移的元素个数C2n
1
;
n
1
3
n
A.
B.
2
2
C.
2n
1
D.
3n1
3
4
5.下列函数中,按它在nA.logn
的无大数,最大的是D。B.nlogn
n/2
D.n!
C.2
6.将下所示的
s所指点加到
p所指的点之后,其句:D
。
next
next
psnextA.s->next=p+1;p->next=s;B.(*p).next=s;(*s).next=(*p).next;C.s->next=p->next;p->next=s->next;D.s->next=p->next;p->next=s;7.将两个各有n个元素的有序表并一个有序表,其最少的比次数是A。A.nB.2n-1C.n-1D.2n8.下面的程序段是归并两个无点表(ha和hb)一个无点表ha的程,作
文案大全
实用标准文档
参数的两个表都是按点的data域由大到小接的。归并后新表的点仍按此方式接。填写下述空框,使程序能正确运行。
#defineNULL0typedefstructnode{intdata;structnode*next;}node,linklisttype;voidcombine(linklisttype*ha,linklisttype*hb){linklisttype*h,*p;h=(linklisttype*)malloc(sizeof(linklisttype));h->next=NULL;p=h;while(ha!=NULL&&hb!=NULL)if(ha->data>=hb->data){/*大的元素先插入*/p->next=(1);p=(2);(3);}else{p->next=(4);p=(5);(6);}if(ha==NULL)(7);if(hb==NULL)(8);ha=h->next;free(h);}参照答案:(1)ha(2)p->next(3)ha=ha->next(4)hb(5)p->next(6)hb=hb->next(7)p->next=hb(8)p->next=ha9.如果表A中所有元素(a1,a2,?,an)与表B的一个序子表(bk,bk+1,?bk+n-1)完全相同(即a1=bk,a2=bk+1,?an=bk+n-1),称表A包含在表B中。ha,hb点的表,分表示有序表A和B,下面的函数用于判表A是否包含在表B中,若是,返回true,否返回false。(提示:用)#definetrue1#definefalse0#defineNULL0typedefstructnode{intdata;structnode*next;}node,linklisttype;
文案大全
实用标准文档
intinclusion(linklisttype*ha,linklisttype*hb){linklisttype*pa,*pb;pa=ha->next;pb=hb->next;
(1)
;
while(
(2))
if(pa->data=pb->data)
(3)
;
else
(4)
;
(5)
;
}参照答案:if(pa==NULL)return(true)pb!=NULL&&pa->data>=pb->datareturn(inclusion(pa,pb))pb=pb->next;return(false)10.在此题的程序中,函数create_link_list(n)成立一个具有n个结点的循环链表;函数josephus(n,I,m)对由create_link_list(n)所成立的具有n个结点的循环链表按一定的次序逐个输出,并删除链表中的所有结