学习IT技术最多的是习题。 理论和实践相结合,这样学习是有效的。 接下来是华清的美女学霸。 在一次测试中,总结了常见的数据结构问题,比较常见哦。 可以收藏学习。
1 .选择题(共20题,1~10题每题2分,11~20题每题3分) )。
1 .数据结构(通常是数据的) )以及运算。
a .物理结构和逻辑结构b .存储和抽象c .理想和抽象d .理想和逻辑
2 .在数据结构中,逻辑上可以将数据结构分为()。
a .动态和静态结构b .紧凑结构和非紧凑结构
d .内部和外部结构
c .线性和非线性结构
3.f(n )=3n2 2n 1时,f ) n )=)。
B.O(N ) C.O ) 2N ) D.O ) 3N2) )。
a.o(N2 ) )。
4 .使用单链表保存的线性表,每个保存的节点需要两个域。 一个是数据域,另一个是(
请参阅。
a .当前节点的所在地址b .后续节点的所在地址
c .空指针域d .空闲域
5 .假设线性链表的节点结构为( data,next ),则已知指针q指向的节点是指针节点p的直接前驱体,如果要在*q和*p之间插入节点*s,则需要执行) )操作
A. s-next=p-next; p-next=s;
B. q-next=s; s-next=p;
C. p-next=s-next; s-next=p;
6 .将线性链表节点结构作为( data,next ),已知指针p指向的节点不是末尾节点,在*p后插入节点) s时)应执行操作。
A. s-next=p; p-next=s;
B. s-next=p-next; p-next=s;
C. s-next=p-next; p=s;
7 .将线性链表节点的构造作为( data,next ),想删除节点p的直接后继时) )应该执行操作。
A. p-next=p-next-next;
B. p=p-next; p-next=p-next-next; C. p-next=p-next;
D. p=p-next-next;
8 .当p指向具有线性链表的节点时,在线性链表末尾插入节点s的语句顺序为()。
a.while(p-next!=null(p=p-next; p-next=s; s-next=NULL;
b.while(p!=null(p=p-next; p-next=s; s-next=NULL;
c.while(p-next!=null(p=p-next; s-next=p; p-next=NULL;
d.while(p!=null(p=p-next-next; p-next=s; s-next=p-next;
9 .如果一个栈的输入序列是a、b、c、d、e,则不能输出序列的是()。
10 .如果将链表作为堆栈的存储结构,则堆栈操作时()。
11 .如果将链表作为堆栈的存储结构,则堆栈操作时()。
12 .访问队列中数据的原则是()。
a .先进先出b .后进先出c .先进后出d .随意出入
13 .堆栈和队列的共同点是()。
14 .确定一个队列sp为空的条件是()。
a.sp-front==sp-rearb.sp-front==sp-rear 1c.sp-front==sp-rear-1d.sp-front==null
15 .将包含100个节点的完全二叉树从根的层次开始,按每层从左到右的顺序对节点编号,根节点的编号为1。 对于编号49的节点x右边的孩子() )。
16 .首先访问节点的左部分树,然后访问其节点,最后访问节点的右部分树,这样的扫描(
请参阅。
a .中序遍历b .后序遍历c .前序遍历d .分层遍历
17.767个节点的完全二叉树,其叶节点数为()。
18 .在深度为k的完全二叉树中,最少有几个节点(
A 2k-1-1B 2k-1C 2k-1 1D 2k-1
19 .关于二叉树的遍历算法,以下描述正确的是() )。
avoidpre_order(bitree*root )/printf )、root-data );
pre_order(root-lchild;
pre_order(root-rchild; () ) ) ) )。
bvoidin_order(bitree*root ) /中顺序in_order ) root-lchild );
in_order(root-rchild );
printf(\’%d \’,root-data ); () ) ) ) )。
cvoidpost_order(bitree*root ) /之后的post_order ) root-lchild );
printf(\’%d \’,root-data );
post_order(root-rchild ); () ) ) ) )。
dvoidin_order(bitree*root ) /中顺序printf )、root-data );
in_order(root-lchild;
in_order(root-rchild ); () ) ) ) )。
20 .假设指针变量p指向单链接列表中的节点a,并且要删除单链接列表中的节点a,则必须将指针的操作顺序更改为() )
A q=p-next; p-data=q-data; p-next=q -next; free(q;
B q=p-next; q-data=p-data; p-next=q-next; free(q;
C q=p-next; p-next=q-next; free(q;
D q=p-next; p-data=q-data; free(q;
2 .简答题(共3题,21题10分,22~23题各20分,编程问题可以忽略头文件) ) ) ) ) ) ) )。
21 .代码实现单链表的创建、头部插入、头部删除。
22 .代码实现12个节点的完全二叉树
(1)递归实现节点的创建初始化。
(2)递归方法实现树后遍历。
)3)采用顺序队列方式实现分层遍历。
23 .代码实现顺序循环队列创建、入队、出队、测长、空判、满判、打印功能。 查看更多私信【IT】嵌入式、C语言、Java、前端等学习视频!
自考资料网:建议开通永久VIP超级会员更划算,除特殊资源外,全站所有资源永久免费下载
1. 本站所有网课课程资料来源于用户上传和网络收集,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,助力考生上岸!
3. 如果你想分享自己的经验或案例,可在后台编辑,经审核后发布在“自考资料网”,有下载币奖励哦!
4. 本站提供的课程资源,可能含有水印,介意者请勿下载!
5. 如有链接无法下载、失效或广告,请联系管理员处理(在线客服)!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 星光不问赶路人,岁月不负有心人,不忘初心,方得始终!