厦门理工学院12级数据结构期末试卷与答案
数据结构期末考试试题及答案
数据结构期末考试试题及答案
一、选择题(每题2分,共20分)
1. 在数据结构中,算法的时间复杂度是指()。
A. 编写代码的时间
B. 代码的长度
C. 执行代码所需的时间
D. 执行代码所需的指令条数
2. 下列关于队列的描述,错误的是()。
A. 队列是先进先出(FIFO)的线性表
B. 队列允许在一端进行插入操作
C. 队列的插入操作称为入队
D. 队列的删除操作称为出栈
3. 对于长度为n的有序数组,使用二分查找法查找一个元素的平均时间复杂度是()。
A. O(n)
B. O(n^2)
C. O(log n)
D. O(1)
4. 在图的遍历中,深度优先搜索(DFS)使用的数据结构是()。
A. 栈
B. 队列
C. 链表
D. 数组
5. 哈希表的冲突可以通过多种方式解决,以下哪种不是解决冲突的方
法?()
A. 开放寻址法
B. 链地址法
C. 线性探测法
D. 排序法
6. 一个完全二叉树共有700个节点,它的最大节点数是()。
A. 700
B. 701
C. 1400
D. 1401
7. 快速排序算法的最坏情况发生在()。
A. 每次选择的基准都是最大值
B. 数据已经有序
C. 数据已经完全逆序
D. 所有数据元素相等
8. 在一个具有n个节点的二叉搜索树中,最坏情况下查找一个元素的
时间复杂度是()。
A. O(n)
B. O(log n)
C. O(n^2)
D. O(1)
9. 堆排序算法中,将一个堆调整为最大堆或最小堆的过程称为()。
A. 堆调整
B. 堆构建
C. 堆分解
D. 堆维护
10. 以下哪个不是B树的特性?()
A. 所有键值都存储在内部节点和叶子节点中
数据结构期末考试试题及答案
数据结构期末考试试题及答案
一、选择题
1. 以下哪种数据结构是线性存储结构?
A. 树
B. 图
C. 栈
D. 队列
答案:C
2. 在链表中,如果一个节点既没有前驱也没有后继,那么这个节点被称作什么?
A. 首节点
B. 尾节点
C. 中间节点
D. 孤立节点
答案:B
3. 树的度是指什么?
A. 树中节点的个数
B. 树中最大的层次数
C. 树的分支数
D. 树的节点的度的最大值
答案:C
4. 在二叉搜索树中,若要查找给定值的节点,当查找失败时应返回的值是?
A. -1
B. 0
C. 1
D. 该值本身
答案:A
5. 快速排序算法的时间复杂度最坏情况下是多少?
A. O(n)
B. O(nlogn)
C. O(n^2)
D. O(n!)
答案:C
二、填空题
1. 在顺序表中,元素的物理位置相邻的特点是________,这使得顺序表在________操作上具有较高的效率。
答案:连续性;访问
2. 链表相比顺序表的优势在于它能够动态地________存储空间,并且________操作不需要移动大量元素。
答案:分配和释放;插入与删除
3. 栈是一种________的数据结构,只允许在________进行插入和删除操作。
答案:后进先出;栈顶
4. 图的遍历算法主要有两种,分别是________和________。
答案:深度优先搜索;广度优先搜索
5. 哈夫曼树是一种特殊的二叉树,它常用于数据压缩,其构建过程是
基于________原则。
答案:最小权值
三、简答题
1. 请简述数组和链表的优缺点。
答案:数组通过索引直接访问元素,访问速度快,但大小固定,插入
数据结构期末考试题及答案
2012年数据结构期末考试题及答案
一、选择题
1.在数据结构中,从逻辑上可以把数据结构分为C。
A.动态结构和静态结构B.紧凑结构和非紧凑结构
C.线性结构和非线性结构D.内部结构和外部结构
2.数据结构在计算机内存中的表示是指A。
A.数据的存储结构B.数据结构C.数据的逻辑结构D.数据元素之间的关系
3.在数据结构中,与所使用的计算机无关的是数据的A结构。
A.逻辑B.存储C.逻辑和存储D.物理
4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储C。
A.数据的处理方法B.数据元素的类型
C.数据元素之间的关系D.数据的存储方法
5.在决定选取何种存储结构时,一般不考虑A。
A.各结点的值如何B.结点个数的多少
C.对数据有哪些运算D.所用的编程语言实现这种结构是否方便。
6.以下说法正确的是D。
A.数据项是数据的基本单位
B.数据元素是数据的最小单位
C.数据结构是带结构的数据项的集合
D.一些表面上很不相同的数据可以有相同的逻辑结构
7.算法分析的目的是C,算法分析的两个主要方面是A。
(1)A.找出数据结构的合理性B.研究算法中的输入和输出的关系C.分析算法的效率以求改进C.分析算法的易读性和文档性(2)A.空间复杂度和时间复杂度B.正确性和简明性
C.可读性和文档性D.数据复杂性和程序复杂性8.下面程序段的时间复杂度是O(n2)。
s =0;
for(I =0;i<n;i++)
for(j=0;j<n;j++)
s +=B[i][j];
sum =s ;
9.下面程序段的时间复杂度是O(n*m)。
for(i =0;i<n;i++)
《数据结构》期末考试试题及答案
11.O(log2n) O(nlog2n)
12. 归并
三、
运算题(每题 6 分,共 24 分)
1. 线性表为:( 78,50,40, 60,34, 90)
01110
10101
11011
10101
2. 邻接矩阵: 0 1 1 1 0 邻接表如图 11 所示:
图 11 3. 用克鲁斯卡尔算法得到的最小生成树为:
存放在什么位置?脚注 (10)表示用 10 进制表示。
A . 688
B .678
C. 692
D.696
5. 树最适合用来表示 (
)。
A. 有序数据元素
B.无序数据元素
C.元素之间具有分支层次关系的数据
D. 元素之间无联系
的数据
6. 二叉树的第 k 层的结点数最多为 ( ).
A .2k-1
B.2K+1
和 ________四种。
2、一种抽象数据类型包括 ______________和 _____________两个
部分。
3、在下面的数组 a 中链接存储着一个线性表,表头指针为
a[o].next
,
则
该
线
性
表
为
________________________________________________。_
3. (1)查询链表的尾结点
数据结构期末考试题及答案
数据结构期末考试题及答案
一、选择题(每题2分,共10题)
1. 数据结构是指()
A. 存储和组织数据的方式
B. 对数据进行计算和处理的方法
C. 数据的物理表示形式
D. 数据的逻辑结构
答案:A. 存储和组织数据的方式
2. 在数据结构中,栈是一种()
A. 先进先出的数据结构
B. 后进先出的数据结构
C. 随机存取的数据结构
D. 按键值查找的数据结构
答案:B. 后进先出的数据结构
3. 下列哪种数据结构不支持随机访问?()
A. 队列
B. 栈
C. 数组
D. 链表
答案:D. 链表
4. 在二叉树中,每个节点最多可以有几个子节点?()
A. 0
B. 1
C. 2
D. 无限多
答案:C. 2
5. 在图的表示方法中,邻接矩阵适用于()
A. 稠密图
B. 稀疏图
C. 有向图
D. 无向图
答案:A. 稠密图
6. 下列排序算法中,最坏情况时间复杂度为O(nlogn)的是()
A. 冒泡排序
B. 插入排序
C. 快速排序
D. 选择排序
答案:C. 快速排序
7. 广度优先搜索算法用于()
A. 求最短路径
B. 求全排列
C. 求最小生成树
D. 求图的连通分量
答案:A. 求最短路径
8. 哈希表的查找时间复杂度为()
A. O(1)
B. O(n)
C. O(logn)
D. O(n^2)
答案:A. O(1)
9. AVL树是一种()
A. 无序树
B. 有序树
C. 平衡树
D. 非平衡树
答案:C. 平衡树
10. 以下哪个不属于基本的查找算法?()
A. 二分查找
B. 插值查找
C. 散列查找
D. 顺序查找
答案:C. 散列查找
二、填空题(每题4分,共4题)
11. 下列不是线性表的是()
数据结构期末考试试题及答案
数据结构期末考试试题及答案
一、选择题
1. 评价一个算法时间性能的主要标准是( ).
A、算法易于调试
B、算法易于理解
C、算法的稳定性和正确性
D、算法的时间复杂度
2. 计算机算法具备有输入、输出、()等五个特性.
A、可行性、可移植性和可扩充性
B、可行性、确定性和有穷性
C、确定性、有穷性和稳定性
D、易读性、稳定性和安全性
3。带头结点的单链表head为空的判定条件是().
A、head==NULL
B、head-〉next==NULL
C、head-〉next==head
D、head!=NULL
4。以下关于线性表的说法不正确的是()。
A、线性表中的数据元素可以是数字、字符、记录等不同类型。
B、线性表中包含的数据元素个数不是任意的。
C、线性表中的每个结点都有且只有一个直接前趋和直接后继。
D、存在这样的线性表:表中各结点都没有直接前趋和直接后继。
5。在顺序表中,只要知道( ),就可在相同时间内求出任一结点的存储地址。
A、基地址
B、结点大小
C、向量大小
D、基地址和结点大小
6。( )运算中,使用顺序表比链表好。
A、插入
B、删除
C、根据序号查找
D、根据元素值查找
7. 一个长度为n的顺序表中,向第i个元素之前插入一个新元素时,需要向后移动()个元素
A、n—i
B、n-i+1
C、n-i—1
8。 ( )适合作为经常在首尾两端操作线性表的存储结构。
A、顺序表
B、单链表
C、循环链表
D、双向链表
9. 栈和队列的共同点是()
A、都是先进后出
B、都是先进先出
C、只允许在端点处插入和删除元素
D、没有共同点
10。一个队列的入列序列是1 2 3 4,则队列的输出序列是( ).
厦门理工学院 c语言数据结构 级数据结构期末试卷_A
图2
),
②深度序列:③广度序列:三、程序填空题共10分)
①p->next (2分)②malloc (2分) ③data (2分)
④⑤p->next = s (2分,共14分)
1. 如果通讯字符a 5,2,4
②请画出赫夫曼的建树过程);
用if-else 语句修改①中的程序,
(2分)
(2分)
(3分)
c
③ WPL = 2*3 + 4*3 + 5*2 + 7*1 = 35 (3分)④
if(input==’a’)
printf("%c",’a’);(1分)
else if(input==’b’)
printf("%c",’b’);(1分)
else if(input==’c’)
printf("%c",’c’);(1分)
else
printf("%c",’d’);(1分)
大学数据结构期末考试试题(有答案)
“数据结构”期末考试试题
一、单选题(每小题2分,共12分)
1.在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行( )。
A. HL=ps p一〉next=HL
B. p一>next=HL;HL=p3
C. p一>next=Hl;p=HL;
D. p一〉next=HL一>next;HL一〉next=p;
2.n个顶点的强连通图中至少含有( )。
A。n—l条有向边 B.n条有向边
C.n(n-1)/2条有向边 D。n(n一1)条有向边
3.从一棵二叉搜索树中查找一个元素时,其时间复杂度大致为( )。
A。O(1) B.O(n)
C.O(1Ogzn)
D.O(n2)
4.由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为( )。
A.24 B.48
C. 72 D. 53
5.当一个作为实际传递的对象占用的存储空间较大并可能需要修改时,应最好把它说明为( )参数,以节省参数值的传输时间和存储参数的空间。
A。整形 B。引用型
C。指针型 D。常值引用型·
6.向一个长度为n的顺序表中插人一个新元素的平均时间复杂度为()。
A.O(n) B.O(1)
C.O(n2) D.O(10g2n)
二、填空题(每空1分,共28分)
1.数据的存储结构被分为——、——、——和-—四种.
2.在广义表的存储结构中,单元素结点与表元素结点有一个域对应不同,各自分别为——域和——域。
3.—-中缀表达式 3十x*(2.4/5—6)所对应的后缀表达式为—-——。
4.在一棵高度为h的3叉树中,最多含有—-结点。
厦门理工数据结构期末复习题(3)
单元练习3
一.判断题(下列各题,正确的请在前面的括号内打√;错误的打╳)
(√)(1)栈是运算受限制的线性表。
(√)(2)在栈空的情况下,不能作出栈操作,否则产生下溢出。
(ㄨ)(3)栈一定是顺序存储的线性结构。
(√)(4)栈的特点是“后进先出”。
(ㄨ)(5)空栈就是所有元素都为0的栈。
(ㄨ)(6)在C或C++语言中设顺序栈的长度为MAXLEN,则top=MAXLEN时表示队满。
(√)(7)链栈与顺序栈相比,其特点之一是通常不会出现栈满的情况。
(ㄨ)(8)一个栈的输入序列为:A,B,C,D,可以得到输出序列:C,A,B,D。
(ㄨ)(9)递归定义就是循环定义。
(√)(10)将十进制数转换为二进制数是栈的典型应用之一。
二.填空题
(1)在栈结构中,允许插入、删除的一端称为栈顶。
(2)在顺序栈中,当栈顶指针top=-1时,表示栈空。
(3)在有n个元素的栈中,进栈操作的时间复杂度为 O(1)。
(4)在栈中,出栈操作的时间复杂度为:O(1) 。
(5)已知表达式,求它的后缀表达式是栈的典型应用。
(6)在一个链栈中,若栈顶指针等于NULL,则表示栈空。
(7)向一个栈顶指针为top的链栈插入一个新结点*p时,应执行p->next=top;和top=p;操作。
(8)顺序栈S存储在数组 S->data[0..MAXLEN-1]中,进栈操作时要执行的语句有:S->top ++ 。(或= S->top+1)
(9)链栈LS,指向栈顶元素的指针是LS->next 。
(10)从一个栈删除元素时,首先取出栈顶元素,然后再移动栈顶指针。
大学数据结构期末考试试题(有答案)
“数据结构"期末考试试题
一、单选题(每小题2分,共12分)
1.在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行( )。
A. HL=ps p一〉next=HL
B. p一>next=HL;HL=p3
C. p一〉next=Hl;p=HL;
D. p一〉next=HL一>next;HL一>next=p;
2.n个顶点的强连通图中至少含有( )。
A.n—l条有向边 B。n条有向边
C。n(n-1)/2条有向边 D.n(n一1)条有向边
3.从一棵二叉搜索树中查找一个元素时,其时间复杂度大致为( )。
A。O(1) B。O(n)
C。O(1Ogzn) D.O(n2)
4.由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为()。
A.24 B.48
C. 72 D. 53
5.当一个作为实际传递的对象占用的存储空间较大并可能需要修改时,应最好把它说明为()参数,以节省参数值的传输时间和存储参数的空间。
A。整形 B.引用型
C.指针型 D。常值引用型·
6.向一个长度为n的顺序表中插人一个新元素的平均时间复杂度为( ).
A.O(n) B.O(1)
C.O(n2) D.O(10g2n)
二、填空题(每空1分,共28分)
1.数据的存储结构被分为-—、-—、——和——四种。
2.在广义表的存储结构中,单元素结点与表元素结点有一个域对应不同,各自分别为——域和--域。
3.——中缀表达式 3十x*(2.4/5—6)所对应的后缀表达式为——-—。
4.在一棵高度为h的3叉树中,最多含有——结点。
厦门理工学院12级数据结构期末试卷与答案
线 订 装
数据结构与算法A卷答案
12-13学年第一学期
一、选择题:(本题共20小题,每题2分,共40分)
1-5:AABDC 6-10:DDDBC 11-15:CBCDD 16-20:ABCAB
二、分析运算题(本题共6小题,每题5分,共30 分)
(1) 如果输入序列为1 2 3,先进入栈结构后进入队列结构,试写出所有的出队列序列。
输出序列1 2 3(1分)
输出序列1 3 2(1分)
输出序列2 1 3(1分)
输出序列2 3 1(1分)
输出序列3 2 1(1分)
输出序列3 1 2(扣3分)
(2) 假设一棵二叉树的前序(先序)遍历序列为ABDECF和中序序列为DBEAFC,画出二叉树并写出后序遍历序列。
①(3分)
②后序遍历:DEBFCA (2分)
(3) 用二叉树表示算术表达式如图1所示。
①按图画出对应的算术表达式②写出后序(后缀)表达式
算术表达式:(a+b+c*(d+e)+f)*(g+h) (2分)
后序表达式:ab+cde+*+f+gh+*(3分)
(4) 请写出有向图2中顶点1-6的入度和出度
1: 入度:3出度:0
2: 入度:2出度:2
3: 入度:1出度:2
4: 入度:1出度:3
5: 入度:2出度:1
6: 入度:2出度:3
(入度2.5分,出度2.5分)
(5) 给定一组项及其权值,假定项都存放于二叉树的树叶结点,则具有最小带权外部路径长度的树称为huffman(赫夫曼) 树。给定项及相应的权如下表:画出相应的huffman树。(5分)
(6)已经邻接矩阵如图3所示,判断该图是有向图还是无向图,用顶点1-6画出该图。
《数据结构》期末考试题及答案
2011-2012学年第一学期期末考查
《数据结构》试卷
(答案一律写在答题纸上,在本试卷上做答无效)
一、选择(每题1分,共10分)
1.长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法时间复
杂度为()
A.O(0)
B.O(1)
C.O(n)
D.O(n2)
2.六个元素按照6,5,4,3,2,1的顺序入栈,下列哪一个是合法的出栈序列?()
A.543612
B.453126
C.346512
D.234156
3.设树的度为4,其中度为1、2、3、4的结点个数分别是4、2、1、2,则树中叶子个数为()
A.8
B.9
C.10
D.11
4.设森林F对应的二叉树B有m个结点,B的右子树结点个数为n,森林F中第一棵树的结点个数是()
A. m-n
B.m-n-1
C.n+1
D.m+n
5.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是()
A.9
B.11
C.15
D.不确定
6.下列哪一个方法可以判断出一个有向图是否有环。()
A.深度优先遍历
B.拓扑排序
C.求最短路径
D.求关键路径
7.第7层有10个叶子结点的完全二叉树不可能有()个结点。
A.73
B.234
C.235
D.236
8.分别用以下序列构造二叉排序树,与用其他三个序列构造的结果不同的是()
A.(100,80,90,60,120,110,130)
B.(100, 120, 110,130,80, 60,90)
C.(100,60,80,90,120,110,130)
D.(100,80, 60,90, 120, 130,110)
9.对一组数据(84,47,25,15,21)排序,数据的排列次序在排序过程中变化如下:(1)84 47 25 15 21 (2)15 47 25 84 21 (3)15 21 25 84 47(4)15 21 25 47 84则采用的排序方法是()
数据结构期末考试试题A答案
《数据结构》试题答案A卷
姓名班级
一、回答下列问题 (每题5分,共40分)
1.给定序列(67,45,87,19,55,32,70,60,90,23),写出它的初始堆序列。
答:调整后的初始堆序列(小根堆)为:19,23,32,45,55,87,70,60,90,67
或者是大根堆:90, 67, 87, 60, 55, 32, 70, 45, 19, 23
2.设一个序列奇数项和偶数项分别由小到大有序,用什么方法可以最快得到一个有序序列,分析它的时间复杂度。
答:把奇数项和偶数项分为2个有序序列,然后进行合并,时间复杂度为O(n)。实际上就是把2个有序表合并为一个有序表。见教科书算法2.7。
3.二叉排序树中的最大值在二叉排序树的何处?
答:最大值应该位于二叉排序树中根的右子树的最右叶子上。
19
23 32
45 55 70
60 90
4.在2048个互不相同的关键码中选择最小的5个关键码,用堆排序是否比用锦标赛排序更快?为什么?
答:此题用锦标赛排序比堆排序要快。理由是;
①在首次求最小值时,锦标赛排序对2048个结点建树得到最小码只需比较n-1(即2047)次,而此时堆排序建初始堆得到最小码却可能需要比较4072次(因为每个结点的调整都要与左右两边的孩子相比。从第1024个结点往前调整,有512个结点可能调整1次,但要与左右孩子都比较,有256个结点可能调整2次,每次都要与左右孩子比较,有128个结点可能调整3次,……有32个结点调整5次,……根结点可能要调整10次,每次都会与左右孩子比较,所以可能会比较2036×2=4072次)。
数据结构期末考试试题及答案
数据结构期末考试试题及答案
一、选择题(每题2分,共20分)
1. 在数据结构中,线性结构的特点是什么?
A. 元素之间存在一对一的关系
B. 元素之间存在一对多的关系
C. 元素之间存在多对多的关系
D. 元素之间存在一对一或多对多的关系
2. 栈(Stack)是一种特殊的线性表,其特点是:
A. 允许在表的任一位置进行插入和删除操作
B. 只能在表的首端进行插入和删除操作
C. 只能在表的末端进行插入和删除操作
D. 插入和删除操作没有特定的限制
3. 以下哪个算法是排序算法?
A. 快速排序
B. 深度优先搜索
C. 广度优先搜索
D. 二分查找
4. 哈希表解决冲突的常用方法不包括:
A. 开放寻址法
B. 链地址法
C. 二分查找法
D. 再散列法
5. 在图的遍历算法中,深度优先搜索(DFS)使用的是:
A. 栈
B. 队列
C. 链表
D. 树
...(此处省略其他选择题)
二、简答题(每题10分,共30分)
1. 请简述二叉树的三种遍历方法及其特点。
2. 什么是平衡二叉树?请说明它与普通二叉树的区别。
3. 解释什么是图的邻接矩阵表示法和邻接表表示法,并比较它们的优缺点。
三、计算题(每题15分,共30分)
1. 给定一个数组A[1...n],请写出一个时间复杂度为O(n)的算法,找出数组中的最大值和最小值。
2. 假设有一个链表,链表中的节点按照值递增的顺序排列,请设计一个算法删除链表中所有重复的节点。
四、编程题(每题20分,共20分)
1. 编写一个函数,实现二叉搜索树的插入操作,并保证树的平衡。
数据结构期末考试答案
一、选择题
1. C
厦门理工数据结构期末复习题9(I)
单元练习9
一.判断题(下列各题,正确的请在前面的括号内打√;错误的打╳)
(√)(1)二分查找法要求待查表的关键字值必须有序。
(ㄨ)(2)对有序表而言采用二分查找总比采用顺序查找法速度快。
(ㄨ)(3)在二叉排序树中,根结点的值都小于孩子结点的值。
(√)(4)散列存储法的基本思想是由关键字的值决定数据的存储位置。
(√)(5)哈希表是一种将关键字转换为存储位置的存储方法。
(ㄨ)(6)选择好的哈希函数就可以避免冲突的发生。
(ㄨ)(7)在有序的顺序表和有序的链表上,均可以采用二分查找来提高查找速度。
(√)(8)采用分块查找,既能实现线性表所希望的查找速度,又能适应动态变化的需要。
(√)(9)哈希法的查找效率主要取决于哈希表构造时选取的哈希函数和处理冲突的方法。
(ㄨ)(10)在二叉排序树上删除一个结点时,不必移动其它结点,只要将该结点的父结点的相应的指针域置空即可。
二.填空题
(1)顺序查找法,表中元素可以任意存放。
(2)在分块查找方法中,首先查找索引,然后再查找相应的块。
(3)顺序查找、二分查找、分块查找都属于静态查找。
(4)静态查找表所含元素个数在查找阶段是固定不变的。
(5)对于长度为n的线性表,若进行顺序查找,则时间复杂度为 O(n)。
(6)对于长度为n的线性表,若采用二分查找,则时间复杂度为: O(log2n)。
(7)理想情况下,在散列表中查找一个元素的时间复杂度为: O(1)。
(8)在关键字序列(7,10,12,18,28,36,45,92)中,用二分查找法查找关键字92,要比较 4 次才找到。
数据结构复习题及答案(12级)
一、选择题。(每小题2分,共40分)
(1) 计算机识别.存储和加工处理的对象被统称为____A____。
A.数据
B.数据元素
C.数据结构
D.数据类型
(2) 数据结构通常是研究数据的____ A _____及它们之间的联系。
A.存储和逻辑结构
B.存储和抽象
C.理想和抽象
D.理想与逻辑
(3) 不是数据的逻辑结构是____ A ______。
A.散列结构
B.线性结构
C.树结构
D.图结构
(4) 数据结构被形式地定义为,其中D是____ B _____的有限集,R是____ C _____的有限集。
A.算法
B.数据元素
C.数据操作
D.逻辑结构
(5) 组成数据的基本单位是____ A ______。
A.数据项
B.数据类型
C.数据元素
D.数据变量
(6) 设数据结构A=(D,R),其中D={1,2,3,4},R={r},r={<1,2>,<2,3>,<3,4>,<4,1>},则数据结构A是____ A ______。
A.线性结构
B.树型结构
C.图型结构
D.集合
(7) 数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为___ C ____。
A.存储结构
B.逻辑结构
C.顺序存储结构
D.链式存储结构
(8) 在数据结构的讨论中把数据结构从逻辑上分为___ A ____。
A.内部结构与外部结构
B.静态结构与动态结构
C.线性结构与非线性结构
D.紧凑结构与非紧凑结构
(9) 对一个算法的评价,不包括如下____ B _____方面的内容。
A.健壮性和可读性
B.并行性
C.正确性
D.时空复杂度
(10) 算法分析的两个方面是__ A ____。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
线 订 装
数据结构与算法A卷答案
12-13学年第一学期
一、选择题:(本题共20小题,每题2分,共40分)
1-5:AABDC 6-10:DDDBC 11-15:CBCDD 16-20:ABCAB
二、分析运算题(本题共6小题,每题5分,共30 分)
(1) 如果输入序列为1 2 3,先进入栈结构后进入队列结构,试写出所有的出队列序列。
输出序列1 2 3(1分)
输出序列1 3 2(1分)
输出序列2 1 3(1分)
输出序列2 3 1(1分)
输出序列3 2 1(1分)
输出序列3 1 2(扣3分)
(2) 假设一棵二叉树的前序(先序)遍历序列为ABDECF和中序序列为DBEAFC,画出二叉树并写出后序遍历序列。
①(3分)
②后序遍历:DEBFCA (2分)
(3) 用二叉树表示算术表达式如图1所示。
①按图画出对应的算术表达式②写出后序(后缀)表达式
算术表达式:(a+b+c*(d+e)+f)*(g+h) (2分)
后序表达式:ab+cde+*+f+gh+*(3分)
(4) 请写出有向图2中顶点1-6的入度和出度
1: 入度:3出度:0
2: 入度:2出度:2
3: 入度:1出度:2
4: 入度:1出度:3
5: 入度:2出度:1
6: 入度:2出度:3
(入度2.5分,出度2.5分)
(5) 给定一组项及其权值,假定项都存放于二叉树的树叶结点,则具有最小带权外部路径长度的树称为huffman(赫夫曼) 树。给定项及相应的权如下表:画出相应的huffman树。(5分)
(6)已经邻接矩阵如图3所示,判断该图是有向图还是无向图,用顶点1-6画出该图。
有向图(2分)
三、程序填空题(本题共5空,每空2分,共10分)
(1):p!=NULL
(2):p = p->next;
(3): Q.front= =Q.rear
(4): Q.front->next=p->next;
(5): Q.rear=Qfront;
四、算法设计题(本题共2小题,共20分)
1、(10分)算法如下:
void move(sqlist L)
{
int i=0,j=L.lenght-1,k; 1分
int temp;
while(i { while(L.elem[i]<=0) i++; 2分 while(L.elem[j]>=0) j--; 2分 if(i { temp=L.elem[i]; L.elem[i]=L.elem[j]; L.elem[j]=temp; 3分 } } } 注:算法执行次数(时间)比给定算法更多,不得超过6分。 2、算法如下: int leaf(BiTree T) 1分{ if(T==NULL) 1分 return 0; 2分 else if(T->lchild==NULL && T->rchild==NULL) 2分 return 1; 2分 else return(leaf(T->lchild)+leaf(T->rchild)); 2分}