《数据结构试卷一及答案.pdf》由会员分享,可在线阅读,更多相关《数据结构试卷一及答案.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 数据结构试卷一 一、选择题 20 分 1组成数据的基本单位是 ;A 数据项 B 数据类型 C 数据元素 D 数据变量 2设数据结构 A=D,R,其中 D=1,2,3,4,R=r,r=,则数据结构 A是 ;A 线性结构 B 树型结构 C 图型结构 D 集合 3数组的逻辑结构不同于下列 的逻辑结构;A 线性表 B 栈 C 队列 D 树 4二叉树中第 ii1 层上的结点数最多有 个;A 2i B 2i C 2i-1 D 2i-1 5设指针变量 p 指向单链表结点 A,则删除结点 A 的后继结点 B 需要的操作为 ;A p-next=p-next-next B p=p-next C p=p-next
2、-next D p-next=p 6设栈 S 和队列 Q 的初始状态为空,元素 E1、E2、E3、E4、E5 和 E6 依次通过栈 S,一个元素出栈后即进入队列 Q,若 6 个元素出列的顺序为 E2、E4、E3、E6、E5 和 E1,则栈 S 的容量至少应该是 ;A 6 B 4 C 3 D 2 7将 10 阶对称矩阵压缩存储到一维数组 A 中,则数组 A 的长度最少为 ;A 100 B 40 C 55 D 80 8设结点 A 有 3 个兄弟结点且结点 B 为结点 A 的双亲结点,则结点 B 的度数数为 ;A 3 B 4 C 5 D 1 9根据二叉树的定义可知二叉树共有 种不同的形态;A 4 B
3、 5 C 6 D 7 10.设有以下四种排序方法,则 的空间复杂度最大;A 冒泡排序 B 快速排序 C 堆排序 D 希尔排序 二、填空题 30 分 1.设顺序循环队列 Q0:m-1 的队头指针和队尾指针分别为 F 和 R,其中队头指针 F 指向当前队头元素的前一个位置,队尾指针 R 指向当前队尾元素所在的位置,则出队列的语句为 F=_;2.设线性表中有 n 个数据元素,则在顺序存储结构上实现顺序查找的平均时间复杂度为_,在链式存储结构上实现顺序查找的平均时间复杂度为_;3.设一棵二叉树中有 n 个结点,则当用二叉链表作为其存储结构时,该二叉链表中共有_个指针域,_个空指针域;4.设指针变量 p
4、 指向单链表中结点 A,指针变量 s 指向被插入的结点 B,则在结点 A 的后面插入结点 B 的操作序列为_;5.设无向图 G 中有 n 个顶点和 e 条边,则其对应的邻接表中有_个表头结点和_个表结点;6.设无向图 G 中有 n 个顶点 e 条边,所有顶点的度数之和为 m,则 e 和 m 有_关系;7.设一棵二叉树的前序遍历序列和中序遍历序列均为 ABC,则该二叉树的后序遍历序列为_;8.设一棵完全二叉树中有 21 个结点,如果按照从上到下、从左到右的顺序从 1 开始顺序编号,则编号为 8 的双亲结点的编号是_,编号为 8 的左孩子结点的编号是_;9.下列程序段的功能实现子串 t 在主串 s
5、 中位置的算法,要求在下划线处填上正确语句;int indexchar s,char t i=j=0;whileistrlens&jnext=p-next;s-next=s 5.n,2e 6.m=2e 7.CBA 8.4,16 9.i-j+1,0 10.n-1 三、应用题 1.链式存储结构略,前序 ABDEC,中序 DBEAC,后序 DEBCA;2.哈夫曼树略,WPL=78 3.18,5,16,19,21,23,5,16,21,19,18,23 4.线性探测:6827322510876543210 链地址法:276832251086543210hhhhhhh 5.深度:125364,广度:12
6、3456,最小生成树 T 的边集为 E=1,4,1,3,3,5,5,6,5,6 四、算法设计题 1.设计判断单链表中结点是否关于中心对称算法;typedef struct int s100;int top;sqstack;int lklistsymmetrylklist head sqstack stack;=-1;lklist p;forp=head;p=0;p=p-next+;=p-data;forp=head;p=0;p=p-next if p-data=;else return0;return1;2.设计在链式存储结构上建立一棵二叉树的算法;typedef char datatype;
7、typedef struct node datatype data;struct node lchild,rchild;bitree;void createbitreebitree&bt char ch;scanf%c,&ch;ifch=bt=0;return;bt=bitreemallocsizeofbitree;bt-data=ch;createbitreebt-lchild;createbitreebt-rchild;3.设计判断一棵二叉树是否是二叉排序树的算法;int minnum=-32768,flag=1;typedef struct nodeint key;struct node lchild,rchild;bitree;void inorderbitree bt if bt=0 inorderbt-lchild;ifminnumbt-keyflag=0;minnum=bt-key;inorderbt-rchild;
限制150内