数据结构复习题集耿国华第二版版C语.docx
- 文档编号:25885661
- 上传时间:2023-06-16
- 格式:DOCX
- 页数:61
- 大小:47.08KB
数据结构复习题集耿国华第二版版C语.docx
《数据结构复习题集耿国华第二版版C语.docx》由会员分享,可在线阅读,更多相关《数据结构复习题集耿国华第二版版C语.docx(61页珍藏版)》请在冰豆网上搜索。
数据结构复习题集耿国华第二版版C语
数据结构复习题集【耿国华(第语言描述】C版)二版.
复习题第一章1.简述顺序存储结构与链式存储结构在表示数据元素之间关系上的主要区别。
答:
在顺序结构中,逻辑关系上相邻的两个元素在物理位置上也相邻。
而链式存储结构中,数据元素之间关系是由结点中指针指示的。
2.数据结构是一门……的学科。
3.在数据结构中,从逻辑上可以把数据结构分成(C)。
A、动态结构与静态结构
B、紧凑结构和非紧凑结构
C、线性结构和非线性结构
D、内部结构和外部结构
4.编写一个函数,用不多于3n/2的平均比较次数,在一个数组中找出最大和最小值元素。
voidmaxmin(inta[],intn)
{
max=min=a[0];
for(i=1;i { if(a[i]>max)max=a[i]; elseif(a[i] } printf(“max=%d,min=%d”,max,min); } 第二章复习题 1.下述哪一条是顺序存储结构的优点? (A) A.存储密度大B.插入运算方便 C.删除运算方便D.可方便地用于各种逻辑结构的存储表示 2.下面关于线性表的叙述中,错误的是哪一个? (B) A.线性表采用顺序存储,必须占用一片连续的存储单元。 B.线性表采用顺序存储,便于进行插入和删除操作。 C.线性表采用链接存储,不必占用一片连续的存储单元。 D.线性表采用链接存储,便于插入和删除操作。 )的有限序列C个(n.线性表是具有3. (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.所需空间与线性长度成正比 8.下面的叙述不正确的是(BC) A.线性表在链式存储时,查找第i个元素的时间同i的值成正比 B.线性表在链式存储时,查找第i个元素的时间同i的值无关 C.线性表在顺序存储时,查找第i个元素的时间同i的值成正比 D.线性表在顺序存储时,查找第i个元素的时间同i的值无关 9.若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂。 (1<=i<=n+1))C度为(. 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) 12.非空的循环单链表head的尾结点p满足(A)。 A.p->next==head B.p->next==NULL C.p==NULLD.p== head 13.循环链表H的尾结点P的特点是(A)。 A.P->NEXT==HB.P->NEXT== H->NEXT C.P==H P==H->NEXTD. 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; p->prior->next=q;p->next=q;q->next=p;C. q->next=p; D. p->prior->next=q; q->next=p; q->prior=p->prior;p->prior=q; 16.在单链表指针为p的结点之后插入指针为s的结点,正确的操作是: (B)。 A.p->next=s;s->next=p->next; B.s->next=p->next;p->next=s; C.p->next=s;p->next=s->next; p->next=s->next;p->next=s; .D 的带头结点的单链head17.对于一个头指针为B)表,判定该表为空表的条件是(..Ahead==NULLBHead->next==NULL head! =NULLHead->next==headC.D. 所指的结点时须修改p在双向链表中,删除18 。 )指针(A Ap->prior->next=p->next;.p->next->prior=p->prior; .Bp->prior=p->prior->prior; p->prior->next=p; p->next->prior=p;.C. p->next=p->next->next p->next=p->prior->prior ..Dp->prior=p->next->next; 且很少进行当线性表的元素总数基本稳定,19.但要求以最快的速度存取线性插入和删除操作,表中的元素时,应采用顺序存储结构。 )用数组表示,假.线性表L=(a1,a2,…,an20则删除一个元定删除表中任一元素的概率相同n-1)/2素平均需要移动元素的个数是( 为.设单链表的结点结构为(data,next),next21的为xdata指针域,已知指针px指向单链表中若将结,data指向为y的新结点结点,指针py之后,则需要执行以下语y点插入结点: py->next=px->next;px->next=py句 个元素n的顺序表中第i22.在一个长度为)之前插入一个元素时,需向后移动(1<=i<=nn-i+1个元素。 在已知的n个结点的单链表,对于一个具有23.O (1),后插入一个新结点的时间复杂度为p结点. 的结点后插入一个新结点的时间在给定值为x复杂度为O(n) 根据线性表的链式存储结构中每一个结点包24.和多重含的指针个数,将线性链表分成单链表,链表又可分成链表;而又根据指针的连接方式,(动态)链表和静态链表 循环单链表的最大优点是: 从任一结点出发25.都可访问到链表中每一个元素则删中的某结点,指向单链表26.已知指针pL是结后继点的语句除其q=p->next;p->next=q->next;free(q); 中只有一个元素结27.带头结点的双循环链表L->next->next==L点的条件是: 所指结点有后继结点L中,指针p28.在单链的条件是p->next! =null 为空表的条件是: 带头结点的双循环链表L29.L->next==L&&L->prior==L 结点的操作是: p结点之后插入s在单链表30. s->next=p->next;p->next=s; 复习题第三章. 1.一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1<=i<=n)个元素是(B)。 iC.n-i+1B.不确定A. D.n-I 则下列序列中,一个栈的输入序列为2.12345B)。 不可能是栈的输出序列的是( A.23415B.54132 D.15432 C.23145 时,经过3.,可以变为CBA输入序列为ABCB)的栈操作为( A.push,pop,push,pop,push,pop B.push,push,push,pop,pop,pop C.push,push,pop,pop,push,pop D.push,pop,push,push,pop,pop 存储,初始栈顶指针V[1..n]4.若一个栈以向量C。 )(x,top为n+1则下面进栈的正确操作是 .Atop=top+1;V[top]=x V[top]: =x;top: =top+1B. V[top]: =xC.top: =top-1; D.V[top]: =x;top: =top-1 5.设计一个判别表达式中左,右括号是否配对出现的算法,采用(D)数据结构最佳。 A.线性表的顺序存储结构B.队列 C.线性表的链式存储结构D. 栈 6.用链接方式存储的队列,在进行删除运算时(D)。 A.仅修改头指针B.仅修改尾指针 C.头、尾指针都要修改D.头、尾指针可能都要修改 7.假设以数组A[m]存放循环队列的元素,其头尾指针分别为front和rear,则当前队列中的元素个数为(A)。 A.(rear-front+m)%m B.rear-front+1 C.(front-rear+m)%m D.(rear-front)%m 8.循环队列存储在数组A[0..m]中,则入队时的。 )D操作为(. A.rear=rear+1B. rear=(rear+1)mod(m-1) C.rear=(rear+1)modmD. rear=(rear+1)mod(m+1) 9.若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为多少? (B) A.1和5B.2和4 C.4和2D.5和1 10.栈和队列的共同点是(C)。 都是先进先出A. B.都是先进后出 只允许在端点处插入和删除元素C. 没有共同点D. 栈和队都是(11.) 链式存储的非线.顺序存储的线性结构AB. 性结构限制存取点的非限制存取点的线性结构C.D. 线性结构. ,的初始状态为空,元素e112.设栈S和队列Q,一个元素出依次通过栈Se3,e4,e5和e6e2, ,个元素出队的序列是e2栈后即进队列Q,若6。 的容量至少应该是(C)e4,e3,e6,e5,e1则栈SC.3.6B.4AD.2 十六进13.设有一个空栈,栈顶指针为1000H(PUSH,,经过,3,4,5现有输入序列为制),1,2输PUSH,POP,PUSH,POP,PUSH,PUSH之后,(设,而栈顶指针值是出序列100C_23_个字节。 )为顺序栈,每个元素占4若栈采用顺序存储方式存储,现两栈共享空14. 栈顶,栈个栈(i=1,2),top[i]代表第i间V[1..m]则栈满的条件,V[m]栈2的底在1的底在v[1],。 )是(B B.top[1]+1=top[2]A.|top[2]-top[1]|=0 D.top[1]=top[2]C.top[1]+top[2]=m 循环队列的引入,目的是为了克服_假上溢_。 15. 复习题第五章. ,采用压缩存储阶的对称矩阵A1.设有一个10为第一元素,以行序为主存储下三角,a11方式,,每个元素占一个地址空间,则其存储地址为1 。 B)a85的地址为( B.33A.13 D.40C.18 将其的每个元素占五个字节,数组A[0..5,0..6]2. 的内存单1000按列优先次序存储在起始地址为)。 A(元中,则元素A[5,5]的地址是C.1205A.1175B.1180 D.1210 的三对角矩阵,按行1..100]将一个A[1..100,3. 中元素A‥298]中,优先存入一维数组B[1195。 A66,65,在B数组中的位置K4.设二维数组A[1..m,1..n](即m行n列)按行存储在数组B[1..m*n]中,则二维数组元素A[i,j]在一维数组B中的下标为(A)。 A.(i-1)*n+jB.(i-1)*n+j-1 C.i*(j-1)D.j*m+i-1 5.有一个100*90的稀疏矩阵,非0元素有10个,设每个整型数占2字节,则用三元组表示该矩阵时,所需的字节数是(B)。 A.60B.66C. 18000D.33 6.已知广义表LS=((a,b,c),(d,e,f)),运用head和tail函数取出LS中原子e的运算是(C)。 A.head(tail(LS)) B.tail(head(LS)) C.head(tail(head(tail(LS))) D.head(tail(tail(head(LS)))) 7.广义表A=(a,b,(c,d),(e,(f,g))),则下面式子Head(Tail(Head(Tail(Tail(A)))))的值为(D)。 A.(g)B.(d)C.c D.d 8.广义表((a,b,c,d))的表头是(C),表尾是(B)。 A.aB.()C.(a,b,c,d)D.(b,c,d) 。 )A)的表头为(a,(b,c),d,e广义表(9. A.aB.a,(b,c)C.(a,(b,c)) D.(a) 10.设广义表L=((a,b,c)),则L的长度和深度分别为(C)。 A.1和1B.1和3C. 1和2D.2和3 11.已知广义表LS=((a,b,c),(d,e,f)),运用head和tail函数取出LS中原子e的运算是(C)。 A.head(tail(LS)) B.tail(head(LS)) C.head(tail(head(tail(LS))) D.head(tail(tail(head(LS)))) 12.广义表A=(a,b,(c,d),(e,(f,g))),则下面式子的值为(D)。 Head(Tail(Head(Tail(Tail(A))))) C.cB.(d)A.(g) D.d )中,元A线性表中元素存放在向量(1,…,n13.中的最大素是整型数。 试写出递归算法求出A和最小元素。 intMinMaxValue(intA[],intn,int*max,int *min) {if(n>0)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 复习题 国华 第二