1、数据结构习题及答案第一章 1在数据结构中,从逻辑上可以把数据结构分为( C )B.紧凑结构和非紧凑结构 A 动态结构和静态结构内部结构和 外部结构线性结构和非线性结构 D. C 2.在数据结构中 ( A ),与所使用的计算机无关的是逻辑和存储结构 B. A.逻辑结构存储结构 D. 物理结构 C.3.下面程序的时间复杂度为 O (mn) o for (int i=1;i=m; i+)for (int j=1; jnext=null C head-next=head D head!=null) D3. 在线性表的下列存储结构中,读取元素花费时间最少的是(顺序表 D循环链表 A 单链表 B 双链表
2、C 4 .对于只在表的首、尾两端进行手稿操作的线性表,宜采用的存 储结构为 (C) 用头指针表示的单循环链表用尾指针表示的单循环链表单链表C 顺序表 A BD5. 在一个具有 n 个结点的有序单链表中插入一个新的结点, 并保 持链表元素仍然有序,则操作的时间复杂度为 ( D ) 2n) C O(n) D O(n)A 0(1) B O(log 2(B)操作与链表的长 n (n1)6.在一个长度为 的单链表上, 设有头和尾两个指针, 执行度有关删除单链表中最 后一个元素 BA 删除单链表中第一个元素 C 在第一个元素之前插入一个新 元素 D 在最后一个元素之后插入一个新元素 (D)7 .与单链表相
3、比,双向链表的优点之一是可以进行随机访问 A 插入删除操作更简单 BC 可以省略表头指针或表尾指针 D 顺序访问相邻结点更容易 是某带头结点的循环链表的头结点指针, 则该链表最后那个链结 点的指针域list8.若(头结点的地址)中存放的是(B )的地址 B list 指的链结点的值的内容 A list C listD链表第一个链结点的地址分别为一个单链表与一个双向链表的第一个结点的指针,则若 9.list1list2( B )和 B listlA list2与list2占用相同的存储单元占用更多的存储单元比 list1 应该是相同类型的指针变量 list2 D 双向链 表比单链表占用更多的存储
4、单元 C list1 和 10. (不正确 )链表中的每个链结点占用的存储空间不必连续, 这句话正确吗? 11. 某线性表采用顺序存储结构, 元素长度为 4,首地址为 100 , 则下标为 12 的(第 13 个) 100+4*12=148148 。元素的存储地 址为 V)插入一个新的数据元素不必移动任何元素。 11.在顺序表的 (最后一个结点之后 12. )存储结构,若顺序若对线性表进行的操作 主要不是插入删除, 则该线性表宜采用 (频繁地对线性表进行插 入和删除操作,则该线性表宜采用存储结构。 )链 (13、一个顺序表所占用存储空间的大小与( B)无关。元素的类 型 C.D.元素中各的类型
5、A .表的长度 B.元素的存放顺序4个存储单元,则某元素若每个元素占用 14、设存储分配是从低地 址到高地址进行的。的地址是指它所占用的单元的( A)。 A. 第1 个单元的地址 B. 第 2 个单元的地址第 4 第 3 个单元的地址 D.个单元的地址 C.15、若线性表采用顺序存储结构,每个元素占用 4 个存储单元, 第 1 个元素的存储地址为。 ,则第 12 个元素的存储地址是 ( B) 100A. 112 B. 144 C.148 D. 412 16、若长度为 n 的线性表采用顺序存储结构,在表的第 i 个位置 插入一个数据元素,io ( D )的合法值应该是A. i0 B.iv=nC.
6、1=i=n D. 1=i0 B.yv=n C.1v=iv=n D. dv=iv=i+1 删除表的第 i 个数据元素,、若长度为 n 的非空线性表米用顺序 存储结构,首先需要18)个数据元素。移动表中( BA.n-i B.n+i C. n-i+1 D. n-i-1在表的第i19、若长度为n的非空线性表采用顺序存储结构,个 位置插入一个数据元素,首)个数据元素。先需要移动表中(CA.i B. n+i C.n-i+1 D.n-i-1C 、若频繁地对线性表进行插入和删除操作,该线性表应该采 用()存储结构。20索引散列 B.链式 D.顺序 C.A.、链表中的每一个链结点所占用的存储单元(21 B )o
7、连续与 否无所谓部分连续 D.B.A.不必连续一定连续 C.若查找成功,需要平均比22、在一个具有 n 个链结点的线性链表中查找某一个链结点, 较( C) 个链结点。A. n B. n/2 C.( n+1)/2 D. (n-1)/223、给定具有 n 个元素的顺序表, 建立一个有序线性链表的时间 复杂度为( C )o 2) D. O(logn)A. O(1) B.O(n) C.O(n 2q 所指的链结点的过程是依次执行p 所指的链结点后面插入一个由、 24 在非空线性链表中由。 )( BA.q -next=p; p -next=q; B. q -next=p -next; p-next=q;C
8、.q -next=p -next; p =q; D. p -next=q; q -next=p;p 所指的链结点的直接后继链结点的过程过程是依次执行 25 、若 删除非空线性链表中由。 )( BA. r=p -next; p-next=r; free(r);B.r=p -next; p-next=r -next; free(r);C.r=p -next; p-next=r -next; free(p);D.p-next=p -next -next; free(p);pq 在非空双向循环链表中由、所指的链结点后面插入一个由所 指的链结点的操作依次为 26p-prior=q;p-next=q -n
9、ext;q -next=p; () C。A. q-prior=p B. q-next-prior=pC. p-next-prior=p; D. p-prior-next=p;27 、在非空双向循环链表中由 q 所指的链结点前面插入一个由 p 所指的链结点的操作依次为 p-next=q;p-prior=q -prior;q -prior=p; 。( D ) A.q-next=p;B.q-prior-next=p;C.p-next-prior=p; D. p-prior -next=p;28 、顺序存储的线性表 (a1,a2,an), 在任一结点前插入一个新结 点时所需移动结点的平。 )均次数为(
10、 DA. n B. n/2 C. n+1 D. (n+1)/2(1 W i W n+1i) 29、在长度为n的顺序表的第个位置上插入一个元素,元素的移动次数是(A )。A. n-i+1 B. n-i C. iD.i-130、在线性表的下列存储结构中,读取元素花费时间最少的是( D )。顺序表 D.单链表 B.双链表 C.循环链表 A.、在以单链表为存储结构的线性表中, 数据元素之间的逻辑关系 用(31 C )。数据元素在表中的序号表示 B. 数据元素的相邻地址表示 A.数据元素的值表示 D.C. 指向后继元素的指针表示 25 、假设指针 p 指向单链表中的某 一结点, 若把 p 指针后面的结点
11、删除,只需修改下列哪个。 指针 值即可() Bp-next=p -next-next Ap=p-next;Dp-next=p;Cp=p-next -next;q 所指结点的后面插入一个由指针 P 中,若要在指针 26 、在一个单链表HL所指向的结。点,贝V执行(D )A. q-next =p-next; p-next = qB.p-next = q-next ; q = p; C . q-next = p-next; p-next=q ; D . p-next = q-next ; q-next = p; 27、构造一个空的线 性表 L 用( A)A.InitList(&L)B.Destroy
12、List (&L)C.ListEmpty(L)D.ClearList(&L) 第三章)、栈和队列的共同点是( C 1 都是先进先出在 A. 都是先进后出只允许在端点处插入和删除元素 B. C. 没有共同点 D.),则栈的出栈顺序不可能是( a,b,c,d,e2 、一个栈的进栈顺序是CD.adcbe A. edcba B.decbaC.dceab3、设 n 个元素的进栈序列为,则,若 ,,出栈序列为1,2,3,np1,p2,p3,pnp仁n 的值为(C )pi(1=inext=top D.top -next=p19 、若非空堆栈采用链式存储结构, 栈顶指针为, 删除堆栈一个 元素的过程是依次执行
13、 topfree(p)B ;p= top () ;A.top=p B. top=p -next C. p=top -next D. p=p -next 20 、若队列采用链式存储结构, 队头元素指针与队尾元素指针分 别为 front 和 rear ,向队列 ;rear=p;C )中插入一个由 p 所指的新结点的过程是依次执行: ( A. rear=p B. front=p C. rear -next=p D. front -next=p21 、若非空队列采用链式存储结构, ,队头元素指针与队尾元素 指针分别为 front 和 rear ,删 free(p) ( D ); 除队列的一个元素的 过
14、程是依次执行: p=front;A.rear=p B. rear=p -next C. p -next=rear D. front=p -nextfront 与 22 、在循环队列中,若 rear 分别表示队头元素和队尾元 素的位置,则判断循环队列队空的条件是 (C )A. front=rear+1B. rear=front+1 C. front=rear D. front=rear=023 、若描述某循环队列的数组为为 CircleM ,当循环队列满时, 队列中有( B )个元素。 A. M B. M-1 C. M+1 D. M+2主机 24 、在解决计算机主机与打印机之间速度不匹配问题时通
15、 常设置一个打印数据缓冲区, 该缓冲区而打印机则依次从该缓冲 区中取出数据打印, 将要输出的数据依次写入该缓冲区, )结构。 应该是一个( D队列D. C.堆栈A.线性表 B.数组)结构。、设计一个递归问 题的非递归算法通常需要设置( C 25 队列 D. 数组 A. 线性表B. C.堆栈。) 26、栈和队列都是( AD 顺序存储的线性结构 A. 限制存取位置的线性结构 B. 限制存取位置的线性结构 C.链式存储的线性结构 D.X 顺序栈是一种规定了元素进栈顺序的栈。 27、) A,队满的条件是( 28、在循环队列中(少用一个存储空间) raer=front ) %maxsize=front Brear+1 A( rear=0 D%maxsize=rear) front+1 ( C
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1