数据结构复习题集【耿国华(第二版)版C语言描述】
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章复习题
1. 简述顺序存储结构与链式存储结构在表示数据元素之间关系上的主要区别。答:在顺序结构中,逻辑关系上相邻的两个元素在物理位置上也相邻。而链式存储结构中,数据元素之间关系是由结点中指针指示的。
2•数据结构是一门……的学科。
3. 在数据结构中,从逻辑上可以把数据结构分成( C )。
A、动态结构与静态结构
B、紧凑结构和非紧凑结构
C、线性结构和非线性结构
D 、内部结构和外部结构
4•编写一个函数,用不多于3n/2的平均比较次数,在一个数组中找出最大和最小值元素。
void maxmin(int a[],int n)
{
max=min=a[0];
for(i=1;i { if(a[i]>max) max=a[i]; else if(a[i] } printf(“ max=%d, min=%d ” ,max, min); } 第二章复习题 1.下述哪一条是顺序存储结构的优点?( A ) A •存储密度大 B •插入运算方便 C.删除运算方便 D •可方便地用于各种逻辑结构的存储表示 2.下面关于线性表的叙述中,错误的是哪一个?( B ) A •线性表采用顺序存储,必须占用一片连续的存储单元。 B •线性表采用顺序存储,便于进行插入和删除操作。 C.线性表采用链接存储,不必占用一片连续的存储单元。 D •线性表采用链接存储,便于插入和删除操作。 3.线性表是具有门个(C )的有限序列(n>=0)。 A .表元素 B .字符C.数据元素 D .数据项 4 •若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用 ( A )存储方式最节省时间。 A .顺序表 B .单循环链表 C. 带头结点的双循环链表D .双链表 5.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采 用( D )存储方式最节省运算时间。 A .单链表 B .仅有头指针的单循环链表 C .双链表 D .仅有尾指针的单循环链表 6.若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点。则采用 ( D )存储方式最节省运算时间。 A . 单链表 B .双向链表 C . 单循环链表 D .带头结点的双向循环链表 7. 链 表不 具 有 的 特 点 是 ( B ) A . 插 入 、 删除不需要移动元素 B . 可 随 机 访 问 任 一 元 素 C . 不必事先估计存储空间 D . 所需空间与线性长度成正比 9. 若长度为 n 的线性表采用顺序存储结构,在其第 i 个位置插入一个新元素的算法的时间 复 杂 度 为 ( C ) (1<=i<=n+1) A. O(0) B. O(1) C. O(n) D. O(n2) 10. 对于顺序存储的线性表,访问结点和增加、删除结点的时间复杂度为( C )。 A. O(n) O(n) B. O(n) O(1) C. O(1) O(n) D. O(1) O(1) 11. 线性表(a1,a2,…,an 以链接方式存储时,访问第 i 位置元素的时间复杂性为( C ) A. O (i ) B . O (1) C . O (n ) D . O (i-1) head 的尾结点p 满足(A )。 B . p->next==NULL D . p== head 13•循环链表H 的尾结点P 的特点是(A )。 A. P->NEXT==H B . P->NEXT== H->NEXT C . P==H D . P==H->NEXT 14 .完成在双循环链表结点 p 之后插入s 的操作是(D ); A . p->next=s ; s->prior=p; p->next->prior=s ; s->next=p->next; B. p->next->prior=s; p->next=s; s->prior=p; s->next=p->next; C. s->prior=p; s->next=p->next; p->next=s; p->next->prior=s ; D. s->prior=p; s->next=p->next; p->next->prior=s ; p->next=s; 15. 在双向循环链表中,在p 指针所指向的结点前插入一个指针 q 所指向的新结点,其修改指 针的操作是 ( D )。 A. p->prior=q; q->next=p; p->prior->next=q; q->prior=p->prior; B. q_>prior=p_>prior; p_>prior->next=q; q_>next=p; p_>prior=q_>next; 8. 下 面 的 叙 述 不 线性表在链式存储 时, 线性表在链式存储时, 线性表在顺序存储时, 线性表在顺序存储时, A. B. C. D. 正确 查找第 查找第 查找第 查找第 是 ( BC 元素的 时 间同 i i 个元 素的 时 间同 个元素的 时 间同 i i 个元 素的 时 间同 的 i 的 i 值成 的值 值成 的值 正 无 正 无 ) 比 关 比 关 12.非空的循环单链表 A . p->next==head C . p==NULL