欢迎来到天天文库
浏览记录
ID:51767615
大小:508.50 KB
页数:16页
时间:2020-03-15
《数据结构复习答案.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数据结构复习答案一、选择填空1.下面关于线性表的叙述中,错误的是哪一个?( ) A)线性表采用顺序存储,必须占用一片连续的存储单元。 √B)线性表采用顺序存储,便于进行插入和删除操作。 C)线性表采用链接存储,不必占用一片连续的存储单元。 D)线性表采用链接存储,便于插入和删除操作。2.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( )存储方式最节省时间。√A)顺序表 B)双链表 C)带头结点的双循环链表 D)单循环链表3.链表不具有的特点是( )。A)
2、插入、删除不需要移动元素 √B)可随机访问任一元素 C)不必事先估计存储空间 D)所需空间与线性长度成正比4.若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为( )(1<=i<=n+1)。 A)O(0) B)O(1) √C)O(n) D)O(n2)5.线性表(a1,a2,…,an)以链接方式存储时,访问第i位置元素的时间复杂度为( )。A)O(i) B)O(1) √C)O(n) D)O(i-1)6.对于一个头指针为head的
3、带头结点的单链表,判定该表为空表的条件是( )A)head==NULL B)head→next==NULL √C)head→next==head D)head!=NULL7.在单链表指针为p的结点之后插入指针为s的结点,正确的操作是:( )。 A)p->next=s;s->next=p->next; √B)s->next=p->next;p->next=s; C)p->next=s;p->next=s->next; D)p->next=s->next;p->next=s;8.设指针变量p指向单链表结点A,则删除结点A
4、的后继结点B需要的操作为( )。√A)p->next=p->next->nextB)p=p->nextC)p=p->next->nextD)p->next=p9.在双向链表指针p的结点前插入一个指针q的结点操作是( )。A) p->prior=q;q->next=p;p->prior->next=q;q->prior=q; B) p->prior=q;p->prior->next=q;q->next=p;q->prior=p->prior; √C) q->next=p;q->prior=p->prior;p->prior-
5、>next=q;p->prior=q;D) q->prior=p->prior;q->next=q;p->prior=q;p->prior=q;10.在双向链表存储结构中,删除p所指的结点时须修改指针( )。 √A)(p->prior)->next=p->next (p->next)->prior=p->prior; B)p->prior=(p->prior)->prior (p->prior)->next=p; C)(p->next)->prior=p p->next=(p->next)->nex
6、tD)p->next=(p->prior)->prior p->prior=(p->next)->next;11.( )又称为FIFO表;( )又称为FILO表。√A)队列B)散列表√C)栈D)哈希表12.对于栈操作数据的原则是( )。A)先进先出 √B)后进先出 C)后进后出 D)不分顺序13.用不带头结点的单链表存储队列时,其队头指针指向队头结点,其队尾指针指向队尾结点,则在进行删除操作时( )。√A)仅修改队头指针 B)仅修改队尾指针 C)队头、队尾指针都要修改 D)队头、队
7、尾指针都可能要修改1.假设以数组A[m]存放循环队列的元素,其头尾指针分别为front和rear,则当前队列中的元素个数为( )。 √A)(rear-front+m)%m B)rear-front+1 C)(front-rear+m)%m D)(rear-front)%m2.栈和队列的共同点是( )。A)都是先进先出 B)都是先进后出 √C)只允许在端点处插入和删除元素 D)没有共同点3.设栈S和队列Q的初始状态为空,元素e1,e2,e3,e4,e5和e6依次通过栈S,一个元素出栈后即
8、进队列Q,若6个元素出队的序列是e2,e4,e3,e6,e5,e1则栈S的容量至少应该是( )。 A)6 B)4 √C)3 D)24.设有一个10阶的对称矩阵A,采用
此文档下载收益归作者所有