山大网络教育《数据结构》( C 卷)

合集下载

数据结构c期末考试题及答案

数据结构c期末考试题及答案

数据结构c期末考试题及答案一、选择题(每题2分,共20分)1. 在数据结构中,以下哪种数据结构可以有效地表示元素之间的“一对一”关系?A. 链表B. 栈C. 队列D. 哈希表答案:D2. 以下哪个算法的时间复杂度是O(n^2)?A. 冒泡排序B. 快速排序C. 二分查找D. 归并排序答案:A3. 在二叉树中,叶子节点是指?A. 没有子节点的节点B. 只有一个子节点的节点C. 有两个子节点的节点D. 包含子节点的节点答案:A4. 以下哪种排序算法是稳定的?A. 快速排序B. 冒泡排序C. 堆排序D. 选择排序答案:B5. 在图的遍历中,深度优先搜索(DFS)使用的是?A. 栈B. 队列C. 链表D. 哈希表答案:A6. 哈希表解决冲突的一种方法是?A. 链地址法B. 线性探测法C. 二次探测法D. 所有选项都是答案:D7. 以下哪种数据结构适合实现数据库索引?A. 树B. 链表C. 数组D. 队列答案:A8. 以下哪种排序算法的空间复杂度是O(1)?A. 插入排序B. 归并排序C. 快速排序D. 冒泡排序答案:A9. 在图的表示中,邻接矩阵适用于表示?A. 稠密图B. 稀疏图C. 无向图D. 有向图答案:A10. 以下哪种数据结构可以用于实现LRU缓存淘汰算法?A. 队列B. 栈C. 链表D. 哈希表答案:C二、填空题(每题2分,共20分)1. 在数据结构中,栈是一种______的数据结构,遵循后进先出的原则。

答案:线性2. 一个长度为n的数组,使用二分查找算法查找一个元素的时间复杂度是______。

答案:O(log n)3. 红黑树是一种______的二叉查找树。

答案:平衡4. 在图的遍历中,广度优先搜索(BFS)使用的是______。

答案:队列5. 哈希表的装载因子是指______与哈希表大小的比值。

答案:哈希表中已存元素数量6. 快速排序算法中,基准元素的选择会影响算法的______。

答案:性能7. 在图的表示中,邻接表适用于表示______。

《数据结构C》模拟试题

《数据结构C》模拟试题
图9.2
8.下列算法实现二叉搜索树上的查找,请在空格处填入适当的语句,完成上述功能
public Node<T> Search(Node<T> root, T value)
{
Node<T> p = root;
if (p == null)
{
return null;
}
if (!p.Data.Equals(value))
}
}
Qc.Next=Hc;
}
return Hc;
}
3.解答
public int Judge(LinkList<T> Head)
{
bool flag=false;
int i=2;
LinkList<T> P;
LinkList<T> Q;
Q=Head.Next;
while(P!=null)
{
if(P.Data==i*i-Q.Data)
{
flag=true;
}
else
{
return false;
}
Q=P;
P=P.Next;
++i;
}
return flag;
}
《数据结构C》模拟试题二
班级姓名学号
一、选择题(20分)
1.数据结构是研究数据的( )以及它们之间的相互关系。
(A)理想结构、物理结构(B)理想结构、抽象结构
(C)物理结构、逻辑结构(D)抽象结构、逻辑结构
,判满的条件是。
2.循环链表的主要优点是。
3.给定一个整数集合{3,5,6,9,12},画出其对应的一棵Huffman树。

数据结构C语言版期末考试试题(有答案)

数据结构C语言版期末考试试题(有答案)

数据结构C语言版期末考试试题(有答案)一、选择题(每题5分,共40分)1. 下列关于数据结构的叙述中,正确的是()A. 数据结构是研究数据元素的存储结构的学科B. 数据结构是研究数据元素之间逻辑关系的学科C. 数据结构是研究数据元素及其之间关系的学科D. 数据结构是研究数据元素的排序和查找的学科答案:C2. 在线性表中,第一个元素存储在()A. 随机存储单元B. 数据结构的起始位置C. 数据结构的结束位置D. 数据结构的中间位置答案:B3. 下列哪种排序算法的时间复杂度是O(nlogn)()A. 冒泡排序B. 选择排序C. 插入排序D. 快速排序答案:D4. 在下列数据结构中,哪一个不是树形结构()A. 二叉树B. 树C. 图D. 队列答案:D5. 在下列数据结构中,哪一个不是线性结构()A. 栈B. 队列C. 双向链表D. 图答案:D6. 在顺序表中,元素之间逻辑上的顺序关系是由()来体现的。

A. 数据元素的物理位置B. 指针C. 引用D. 数组下标答案:A7. 在下列排序算法中,哪一个是不稳定的排序算法()A. 冒泡排序B. 选择排序C. 插入排序D. 快速排序答案:B8. 在下列查找算法中,哪一个的平均查找长度最小()A. 顺序查找B. 二分查找C. 二叉树查找D. 哈希查找答案:B二、填空题(每题5分,共30分)9. 一个栈的顺序存储空间为S[1..m],栈顶指针为top,当栈为空时,top的值为______。

答案:010. 在链表中,每个节点至少包含两个域,即______和______。

答案:数据域;指针域11. 在二叉树中,度为0的节点数n0与度为2的节点数n2之间的关系为______。

答案:n0 = n2 + 112. 在顺序查找算法中,查找失败时,算法的时间复杂度为______。

答案:O(n)13. 在哈希表中,处理冲突的两种主要方法是______和______。

答案:开放地址法;链地址法三、判断题(每题5分,共20分)14. 线性表可以是空表。

山东大学数据结构模拟试卷

山东大学数据结构模拟试卷

山东大学数据结构(一)一、单选题(每题2 分,共20分)1.栈和队列的一路特点是( )。

A.只允许在端点处插入和删除元素B.都是先进后出C.都是先进先出D.没有一路点2.用链接方式存储的队列,在进行插入运算时( ).A. 仅修改头指针B. 头、尾指针都要修改C. 仅修改尾指针D.头、尾指针可能都要修改3.以下数据结构中哪个是非线性结构?( )A. 队列B. 栈C. 线性表D. 二叉树4.设有一个二维数组A[m][n],假设A[0][0]寄存位置在644(10),A[2][2]寄存位置在676(10),每一个元素占一个空间,问A[3][3](10)寄存在什么位置?脚注(10)表示用10进制表示。

A.688 B.678 C.692 D.6965.树最适合用来表示( )。

A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据6.二叉树的第k层的结点数最多为( ).A.2k-1 +1 C.2K-1 D. 2k-17.如有18个元素的有序表寄存在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( )A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,38.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为A. O(1)B. O(n)C. O(1og2n)D. O(n2)9.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K %9作为散列函数,则散列地址为1的元素有()个,A.1 B.2 C.3 D.410.设有6个结点的无向图,该图至少应有( )条边才能确保是一个连通图。

.6 C二、填空题(每空1分,共26分)1.通常从四个方面评价算法的质量:_________、_________、_________和_________。

2.一个算法的时刻复杂度为(n3+n2log2n+14n)/n2,其数量级表示为________。

36山东大学网络教育数据结构期末考试试题及参考答案

36山东大学网络教育数据结构期末考试试题及参考答案
我的答案:B
15
线性表是具有n个( )的有限序列(n>0)。
A、表元素
B、字符
C、数据元素
D、数据项
E、信息项
我的答案:C
16
若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( )存储方式最节省时间。
A、顺序表
B、双链表
C、带头结点的双循环链表
A、-A+B*C/DE
B、-A+B*CD/E
C、-+*ABC/DE
D、-+A*BC/DE
我的答案:D
二.判断题(共20题,50.0分)
1
数组是一种复杂的数据结构,数组元素之间的关系既不是线性的也不是树形的( )
我的答案:√
2
链式存储在插入和删除时需要保持物理存储空间的顺序分配,不需要保持数据元素之间的逻辑顺序( )
D、单循环链表
我的答案:A
17
某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( )存储方式最节省运算时间。
A、单链表
B、仅有头指针的单循环链表
C、双链表
D、仅有尾指针的单循环链表
我的答案:D
18
下面给出的四种排序法中( )排序法是不稳定性排序法。
我的答案:×
3
在用循环单链表表示的链式队列中,可以不设队头指针,仅在链尾设置队尾指针( )
我的答案:√
4
通常递归的算法简单、易懂、容易编写,而且执行的效率也高( )
我的答案:×
5
一个广义表的表尾总是一个广义表( )

山东大学-2018-2019-学年-一-学期----数据结构--课程试卷A

山东大学-2018-2019-学年-一-学期----数据结构--课程试卷A

………………………………………………密………………………………封………………………………线………………………………山东大学 2018-2019 学年 一 学期 数据结构 课程试卷A题号 一 二 三 四 五 六 七 八 九 十 总分 阅卷人得分学院 专业 级 学号 姓名一、线性结构(30分)。

1、已知线性表:(8,9,2,13,0,7,1,6,5),请完成以下题目。

⑴请描述公式化描述及链表描述的空间需求。

如果需要删除元素13,请描述各自的时间复杂度。

⑵ 请分别进行选择排序、插入排序、快速排序(以8为轴),并给出第一轮排序结束后各自的结果。

⑶ 设计散列表,散列函数为H (k)=k%7,散列表长度为11,请给出线性开型寻址的散列表。

⑷ 基于以上散列表,查找元素1,给出需要的查找次数。

⑸若使用单链表存储上述线性表,请阅读以下程序,并给出程序运行结果及其时间复杂度。

二、层次结构(35分)。

1. 二叉树的层次遍历序列为ABCDEFGHIJ ,中序遍历序列为DBGEHJACIF ,写出该二叉树的前序遍历序列。

2. 一个最大堆为(66,37,41,30,25,40,35,18),依次从中删除两个元素,写出最后得到的堆。

3. 有一份电文中共使用6个字符:A 、B 、C 、D 、E 、F ,它们的出现频率依次为10、6、5、2、15、4,试画出对应的赫夫曼树(请按左子树根节点的权小于等于右子树根节点的权的次序构造,左0右1),并求出每个字符的赫夫曼编码。

4. 对给定输入序列{ 19, 5, 7, 11, 26, 18, 16, 17 },构建AVL 树。

5. 在下列5阶B-树中首先插入关键字85,然后删除关键字70,画出插入元素和删除元素后的B-树。

三、网状结构(35分)。

1. 请给出从加权无向图中生成最小耗费生成树的两种方法,请分别描述其算法思想,并给出各自的时间复杂度。

2. 下面是某有向加权图(顶点A,B,C,D,E)的耗费邻接矩阵,先给出一个拓扑序列,然后,使用Dijkstra算法依次计算出顶点A 至其它各顶点的最短路径和最短路径长度。

《数据结构》模拟试卷C及答案

《数据结构》模拟试卷C及答案
第3趟17 7 18 32 40 60
第4趟71718 32 40 60
第5趟无元素交换,排序结束。
3.请画出与下面的二叉树相对应的森林。
答:
4.设有无向图如下图所示。请画出该图的邻接表,写出一个从顶点A出发的广
度优先搜索序列。
答:
广度优先搜索序列:abcdefg
五、算法设计题(本大题共2小题,共21分)
A.直接插入排序B.快速排序C.直接选择排序D.堆排序
8.高度为k的完全二叉树至少含有( )个结点。B
A.2kB.2k-1C.2k+1D.2k-1
9.n个顶点的强连通图至少有( )条边。A
A. nB. n+1C.n-1D. n(n-1)
10.在最坏情况下,二叉排序树的平均成功查找长度是()的。B
A.O(log2n) B.O(n) C.O(n2) D.O(1)
3.线性表有两种常用的存储结构,即顺序表和链表,这两种存储结构各有什么优缺点?
答:线性表的顺序存储结构简单,不需要使用额外的存储空间来表示元素之间的关系,逻辑顺序与物理顺序一致,可随机存取,有些运算容易实现;但在做插入和删除运算时,要移动大量的元素,表长是固定的,不易扩展。链式存储表示是动态结构,表长可任意扩充,插入和删除不需要移动大量的元素;但不能随机存取,需要增加额外的存储空间来显式地表示元素之间的关系,逻辑顺序与物理顺序可以不一致。
1.设有长度大于1的循环单链表,p为指向其中某个结点的指针,删除该结点的前驱结点的算法如下。请在此算法的空白处填上适当的内容。(10分)
ListNode *delfront(p)
ListNode *p;
{
ListNode *q, *r;
q=p;

山东大学网络教育 135#——数据结构 考试试题及参考答案

山东大学网络教育 135#——数据结构 考试试题及参考答案

年级________;层次________;专业________;姓名________复习资料,自我完善,仅供参考,考完上交! 《数据结构》试卷(A 卷)一、选择题1. 数据结构是指(A )。

A.数据元素的组织形式B.数据类型C.数据存储结构D.数据定义2. 数据在计算机存储器内表示时,物理地址与逻辑地址不相同的,称之为(C )。

A.存储结构B.逻辑结构C.链式存储结构D.顺序存储结构 3. 树形结构是数据元素之间存在一种( D )。

A.一对一关系B.多对多关系C.多对一关系D.一对多关系4. 设语句x++的时间是单位时间,则以下语句的时间复杂度为(B )。

for(i=1; i<=n; i++)for(j=i; j<=n; j++)x++;A.O(1)B.O(2n )C.O(n)D.O(3n ) 5. 算法分析的目的是(1) C ,算法分析的两个主要方面是(2) A 。

(1) A.找出数据结构的合理性 B.研究算法中的输入和输出关系C.分析算法的效率以求改进D.分析算法的易懂性和文档性(2) A.空间复杂度和时间复杂度 B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性6. 计算机算法指的是(1) C ,它具备输入,输出和(2) B 等五个特性。

(1) A.计算方法 B.排序方法C.解决问题的有限运算序列D.调度方法(2) A.可行性,可移植性和可扩充性 B.可行性,确定性和有穷性C.确定性,有穷性和稳定性D.易读性,稳定性和安全性7. 数据在计算机内有链式和顺序两种存储方式,在存储空间使用的灵活性上,链式存储比顺序存储要( B )。

A.低B.高C.相同D.不好说。

数据结构c语言版试题大全(含答案)

数据结构c语言版试题大全(含答案)

1 绪论沈阳理工大学应用技术学院信息与控制学院计算机科学与技术教研室2011-5-8数据结构复习题:绪论单选题1、在数据结构中,与所使用的计算机无关的数据叫_____结构。

A存储|B物理|C逻辑|D物理和存储2、在数据结构中,从逻辑上可以把数据结构分成______。

A动态结构和静态结构|B紧凑结构和非紧凑结构|C线性结构和非线性结构|D内部结构和外部结构图3、数据结构在计算机内存中的表示是指_______。

数据的存储结构|数据结构|数据的逻辑结构|数据元素之间的关系4、在数据结构中,与所使用的计算机无关的是数据的______结构。

逻辑|存储|逻辑和存储|物理5、在以下的叙述中,正确的是_____。

线性表的线性存储结构优于链表存储结构|二维数组是其数据元素为线性表的线性表|栈的操作方式是先进先出|队列的操作方式是先进后出6、在决定选取何种存储结构时,一般不考虑_______。

各结点的值如何|结束个数的多少|对数据有哪些运算|所用编程语言实现这种结构是否方便7、在存储数据时,通常不仅要存储各数据元素的值,而且还要存储_______。

数据的处理方法|数据元素的类型|数据元素之间的关系|数据的存储方法8、下面说法错误的是_______。

(1)算法原地工作的含义是指不需要任何额外的辅助空间(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法(3)所谓时间复杂度是指最坏情况下,估计算法执行时间的一个上界(4)同一个算法,实现语句的级别越高,执行效率越低(1)|(1)、(2)|(1)、(4)|(3)9、通常要求同一逻辑结构中的所有数据元素具有相同的特性。

这意味着______。

数据元素具有同一特点|不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致|每个数据元素都一样|数据元素所包含的数据项的个数要相等10、以下说法正确的是_______。

数据元素是数据的最小单位|数据项是数据的基本单位|数据结构是带结构的数据项的集合|一些表面上很不相同的数据可以有相同的逻辑结构11、____是数据的最小单元,_____是数据的基本单位.数据项|数据元素|信息项|表元素12、数据结构是指_____以及它们之间的_____.(1)数据元素(2)结构|(1)计算方法(2)关系|(1)逻辑存储(2)运算|(1)数据映像(2)算法13、计算机所处理的数据一般具备某种内在的关系,这是的指_____.数据和数据之间存在的某种关系|元素和元素之间存在某种关系|元素内部具有某种结构|数据项和数据项之间存在某种关系14、数据的逻辑结构可以分为_____两类.动态结构和表态结构|紧凑结构和非紧凑结构|线性结构和非线性结构|内部结构和外部结构15、数据的逻辑结构是指_____关系的整体.数据元素之间逻辑|数据项之间逻辑|数据类型之间|存储结构之间16、在存储数据时,通常不仅要存储各数据元素的值,而且还要存储_____.数据的处理方法|数据元素的类型|数据元素之间的关系|数据的存储方法17、在数据的存储结构中,一个存储结点存储一个_____.数据项|数据元素|数据结构|数据类型18、在计算机的存储器中表示时,物理地址和逻辑地址直接对应并且是连续的,称之为_____.逻辑结构|顺序存储结构|链式存储结构|以上都对19、数据采用链式存储结构时,要求_____.每个结点用占一片连续的存储区域|所有结点占用一片连续的存储区域|结点的最后一个数据域是指针类型|每个结点有多少个后继,就设多少个指针域20、数据的运算_____.效率与采用何种存储结构有关|是根据存储结构来定义的|有算术运算和关系运算两大类|必须用程序设计语言来描述21、下列说法中,不正确的是_____.数据元素是数据的基本单位|数据项是数据中不可分割的最小可标识单位|数据可由若干个数据元素构成|数据项可由若干个数据元素构成22、_____不是算法的基本特性.可行性|长度有限|在规定的时间内完成|确定性23、计算机中算法指的是解决某一问题的有限运算序列,它必须具备输入、输出、_____.可行性、可移植性和可扩充性|可行性、有穷性和确定性|确定性、有穷性和稳定性|易读性、稳定性和确定性24、以下不属于算法特性的是_____.可行性|有输入|确定性|健壮性25、下面关于算法的说法正确的是_____.算法最终必须由程序实现|算法的有穷性是对于任意的一组输入值必须在有穷步骤后结束|算法的可行性是指指令不能有二义性|以上几个都是错误的26、算法的时间复杂度与______有关问题规模|计算机硬件性能|编译程序质量|程序设计语言27、算法分析的主要任务是分析_____.算法是否具有较好的可读性|算法中是否存在语法错误|算法的功能是否符合设计要求|算法的执行时间和问题规模之间的关系28、某算法的时间复杂度为O(n2),表明该算法的_____.问题规模是n2|执行时间等于n2|执行时间与n2成正比|问题规模与n2成正比29、算法分析的目的是_____.找出数据结构的合理性|研究算法中输入和输出关系|分析算法的效率以求改进|分析算法的易读性和文档性30、线性表是具有n个______的有限序列。

数据结构试卷C.docx

数据结构试卷C.docx

《数据结构》试卷C一、单项选择题(在每小题的四个备选答案中,选岀一个正确答案,并将正确答案的序号填在题干的括号内。

每小题2分,共38分)1. 算法指的是()A. 计算机程序 B .解决问题的计算方法C.排序算法D.解决问题的有限运算序列2. 线性表采用链式存储时,结点的存储地址()A. 必须是不连续的B. 连续与否均可C. 必须是连续的D. 和头结点的存储地址相连续3. 将长度为n 的单链表链接在长度为m 的单链表Z 后的算法的时间复杂度为() A. 0 (1) B. 0 (n ) C ・ 0 (m ) D. 0 (m+n )4. 由两个栈共亨一个向量空间的好处是:()A. 减少存取时间,降低下溢发牛的机率B. 节省存储空间,降低上溢发生的机率5. 设数组data[m]作为循环队列SQ 的存储空间,front 为队头指针,rest 为队尾指针,则执行出队操作后其头指针front 值为()7.若目标申的长度为n,模式串的长度为[n/3],则执行模式匹配算法时,在最坏情况卜•的时间复杂度是( ) A. 0 ( ) B. 0 (n) C. 0 (n2) D. 0 (n3)8. —个非空广义表的表头( )A.不可能是子表B.只能是子表C.只能是原了D.可以是了表或原了10.在一棵度为3的树屮,度为3的结点个数为2,度为2的结点个数为1,则度为0的结点个 数为()A. 4B. 5C. 6D. 7 11. 在含n 个顶点和e 条边的无向图的邻接矩阵中,零元素的个数为()A. eB. 2eC. n2—eD. n2—2e12. 假设一个有n 个顶点和e 条弧的有向图用邻接表表示,则删除与某个顶点vi 相关的所有 弧的时间复杂度是()A. 0(n )B. 0(e )C. 0(n+e )D. 0(n*e )13. 用某种排序方法对关键字序列(25, 84, 21, 47, 15, 27, 68, 35, 20)进行排序时, 序列的变化情况如下:20, 15, 21, 25, 47, 27, 68, 35, 84C. 减少存取时间, 降低上溢发生的机率D.节省存储空间, 降低下溢发牛的机率A. front=front+l C. front=(front-1)%m 6. 如下陈述中正确的是()B. front=(front+l)%(m-l)D. front=(front+1)%mB. 串的长度必须大丁•零 D.空串就是空白串15, 20, 21, 25, 35, 27, 47, 68, 8415, 20, 21, 25, 27, 35, 47, 68, 84 贝IJ 所采用的排序方法是() A.选择排序 B.希尔排序 C.归并排序 D.快速排序14. 适于对动态査找表进行高效率查找的组织结构是()17.有64个结点的完全二叉树的深度为( )(根的层次为1) o A. 8 C. 6D. 518. 在平衡二义树中插入一个结点后造成了不平衡,设最低的不平衡结点为A,并已知A 的左 孩了的平衡因了为-1,右孩了的平衡因子为0,则应作()型调整以使其平衡。

山东大学网络教育期末考试试题及答案-数字电路基础(C)

山东大学网络教育期末考试试题及答案-数字电路基础(C)

共 2 页 (第 1 页)
数字电路基础C
一、
1、数制转换(其中B 表示二进制,D 表示十进制,H 表示十六进制)
1)(1011.101)B= ( )D
2)(3F)H = ( )D
3)(0.8125)D = ( )B
4)(173)D = ( )H
2、利用逻辑代数的基本公式和常用公式化简下列各式:
5)=
+)(B A B A
6)=++C B C A AB
7)=++)(B A AB
8)C AB C B BC A AC +++=
二、双互补对和反相器引出端如图所示,试连接成3输入端或非门。

三、试分析如图所示逻辑电路的功能,写出逻辑表达式和真值表。

四、试用三个3输入端与门,一个或门和数个非门实现语句“A>B ”,A 和B 均为两位
二进制数。

五、电路如图所示,写出输出方程,驱动方程,状态方程,列出状态表,画出状态图,
并确定逻辑功能。

共 2 页(第2 页)。

数据结构(C语言版)1800道题及答案[完整版]

数据结构(C语言版)1800道题及答案[完整版]

数据结构1800例题与答案第一章绪论一、选择题(每小题2分)1.算法的计算量的大小称为计算的( B )。

【北京邮电大学2000 二、3 (20/8分)】A.效率B.复杂性C.现实性D.难度2.算法的时间复杂度取决于(C)。

【中科院计算所1998 二、1 (2分)】A.问题的规模B.待处理数据的初态C.A和B D.都不是3.计算机算法指的是(①C ),它必须具备(② B )这三个特性。

①A.计算方法B.排序方法C.解决问题的步骤序列D.调度方法②A.可执行性、可移植性、可扩充性B.可执行性、确定性、有穷性C.确定性、有穷性、稳定性D.易读性、稳定性、安全性【南京理工大学1999 一、1(2分)【武汉交通科技大学1996 一、1(4分)】4.一个算法应该是(B )。

【中山大学1998 二、1(2分)】A.程序B.问题求解步骤的描述C.要满足五个基本特性D.A和C.5.下面关于算法说法错误的是( D )【南京理工大学2000 一、1(1.5分)】A.算法最终必须由计算机程序实现B.为解决某问题的算法同为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的6. 下面说法错误的是(C )【南京理工大学2000 一、2 (1.5分)】(1)算法原地工作的含义是指不需要任何额外的辅助空间(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界(4)同一个算法,实现语言的级别越高,执行效率就越低A.(1) B.(1),(2) C.(1),(4) D.(3)7.从逻辑上可以把数据结构分为( C )两大类。

【武汉交通科技大学1996 一、4(2分)】A.动态结构、静态结构B.顺序结构、链式结构C.线性结构、非线性结构D.初等结构、构造型结构8.以下与数据的存储结构无关的术语是( D )。

【北方交通大学2000 二、1(2分)】A.循环队列 B. 链表 C. 哈希表 D. 栈9.以下数据结构中,哪一个是线性结构( D )?【北方交通大学2001 一、1(2分)】A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串10.以下那一个术语与数据的存储结构无关?(A)【北方交通大学2001 一、2(2分)】A.栈 B. 哈希表 C. 线索树 D. 双向链表11.在下面的程序段中,对x的赋值语句的频度为(C)【北京工商大学2001 一、10(3分)】FOR i:=1 TO n DOFOR j:=1 TO n DOx:=x+1;A.O(2n) B.O(n) C.O(n2) D.O(log2n)12.程序段FOR i:=n-1 DOWNTO 1 DOFOR j:=1 TO i DOIF A[j]>A[j+1]THEN A[j]与A[j+1]对换;其中n为正整数,则最后一行的语句频度在最坏情况下是(D)A. O(n)B. O(nlogn)C. O(n3)D. O(n2) 【南京理工大学1998一、1(2分)】13.以下哪个数据结构不是多型数据类型(D)【中山大学1999 一、3(1分)】A.栈B.广义表C.有向图D.字符串14.以下数据结构中,(A)是非线性数据结构【中山大学1999 一、4】A.树B.字符串C.队D.栈15. 下列数据中,(C)是非线性数据结构。

山大网络《数据结构》试卷( C 卷)

山大网络《数据结构》试卷( C 卷)

《数据结构》试卷(C卷)一、单项选择题1. 空串与空格字符组成的串的区别在于( B )。

A.没有区别B.两串的长度不相等C.两串的长度相等D.两串包含的字符不相同2. 一个子串在包含它的主串中的位置是指( D )。

A.子串的最后那个字符在主串中的位置B.子串的最后那个字符在主串中首次出现的位置C.子串的第一个字符在主串中的位置D.子串的第一个字符在主串中首次出现的位置3. 下面的说法中,只有(C )是正确的。

A.字符串的长度是指串中包含的字母的个数B.字符串的长度是指串中包含的不同字符的个数C.若T包含在S中,则T一定是S的一个子串D.一个字符串不能说是其自身的一个子串4. 两个字符串相等的条件是(D )。

A.两串的长度相等B.两串包含的字符相同C.两串的长度相等,并且两串包含的字符相同D.两串的长度相等,并且对应位置上的字符相同5. 若SUBSTR(S,i,k)表示求S中从第i个字符开始的连续k个字符组成的子串的操作,则对于S=“Beijing&Nanjing”,SUBSTR(S,4,5)=( B )。

A. “ijing”B. “jing&”C. “ingNa”D. “ing&N”6. 若INDEX(S,T)表示求T在S中的位置的操作,则对于S=“Beijing&Nanjing”,T=“jing”,INDEX(S,T)=( C )。

A.2B.3C.4D.57. 若REPLACE(S,S1,S2)表示用字符串S2替换字符串S中的子串S1的操作,则对于S=“Beijing&Nanjing”,S1=“Beijing”,S2=“Shanghai”,REPLACE(S,S1,S2)=( D )。

A. “Nanjing&Shanghai”B. “Nanjing&Nanjing”C. “ShanghaiNanjing”D. “Shanghai&Nanjing”8. 在长度为n的字符串S的第i个位置插入另外一个字符串,i的合法值应该是( C )。

数据结构c语言版期末考试试题及答案

数据结构c语言版期末考试试题及答案

数据结构c语言版期末考试试题及答案一、选择题(每题2分,共20分)1. 在数据结构中,线性表的顺序存储结构通常使用()。

A. 链式存储B. 连续存储C. 非连续存储D. 散列存储答案:B2. 下列关于栈的描述,正确的是()。

A. 栈是一种后进先出(LIFO)的数据结构B. 栈是一种先进后出(FILO)的数据结构C. 栈只能进行插入操作D. 栈只能进行删除操作答案:A3. 在二叉树的遍历中,先访问左子树,再访问根节点,最后访问右子树的遍历方式称为()。

A. 前序遍历B. 中序遍历C. 后序遍历D. 层次遍历答案:B4. 散列表的冲突解决方法中,开放定址法的特点是()。

A. 冲突的元素存储在表外B. 冲突的元素存储在表内C. 冲突的元素存储在表的尾部D. 冲突的元素存储在表的头部答案:B5. 以下算法中,时间复杂度为O(nlogn)的是()。

A. 快速排序B. 冒泡排序C. 插入排序D. 选择排序答案:A6. 在图的遍历算法中,深度优先搜索(DFS)使用的辅助数据结构是()。

A. 队列B. 栈C. 链表D. 树答案:B7. 哈希表的装载因子是()。

A. 表中已填入的元素个数与表的总容量的比值B. 表中已填入的元素个数与表的总容量的乘积C. 表中已填入的元素个数与表的总容量的差值D. 表中已填入的元素个数与表的总容量的商答案:A8. 以下关于链表的描述,错误的是()。

A. 链表的每个节点包含数据和指向下一个节点的指针B. 链表的插入和删除操作的时间复杂度为O(n)C. 链表的查找操作的时间复杂度为O(n)D. 链表的存储空间利用比数组更灵活答案:B9. 在二叉搜索树中,若删除一个节点,那么其子树的调整方式是()。

A. 用其左子树的最大值替换B. 用其右子树的最小值替换C. 用其左子树的最小值替换D. 用其右子树的最大值替换答案:A10. 以下排序算法中,时间复杂度为O(n)的是()。

A. 快速排序B. 归并排序C. 堆排序D. 桶排序答案:D二、简答题(每题5分,共20分)1. 请简述什么是时间复杂度,并给出一个O(n)时间复杂度的算法例子。

山东开放大学数据结构期末考试复习题及参考答案

山东开放大学数据结构期末考试复习题及参考答案

数据结构期末考试复习题注:找到所考试题直接看该试题所有题目和答案即可。

查找按键:Ctrl+F超越高度一、单选题1、当两个元素出现逆序的时候就交换位置,这种排序方法称为()0A、插入排序B、交换排序C、选择排序D、归并排序正确答案:B2、有关线性表的正确说法是()oA、每个元素都有一个直接前驱和一个直接后继B、线性表至少要求一个元素C、表中的元素必须按由小到大或由大到下排序D、除了一个和最后一个元素外,其余元素都有一个且仅有一个直接前驱和一个直接后继正确答案:D3、在下列排序方法中,关键字比较的次数与记录的初始排列秩序无关的是()oA、希尔排序B、冒泡排序C、插入排序D、选择排序正确答案:D4、串是()。

A、不少于一个字母的序列B、任意个字母的序列C、不少于一个字符的序列D、有限个字符的序列正确答案:D5、向顺序栈中压入新元素时,应当()oA、先移动栈顶指针,再存入元素B、先存入元素,再移动栈顶指针C、先后次序无关紧要D、同时进行正确答案:A6、有一个长度为10的有序表,按折半查找对该表进行查找,在等概率情况下查找成功的平均比较次数为()oA、29/10B、31/10C、26/10D、29户正确答案:A7、已知一个有序表为{11,22,33,44,55,66,77,88,99},则顺序查找元素55需要比较()次。

A、3B、4C、5D、6正确答案:C8、从未排序序列中依次取出元素与己经排好序的序列中的元素作比较。

将其放入已排序序列的正确的位置上,此方法称为()A、插入排序B、选择排序C、交换排序D、归并排序正确答案:A9、对于一个具有n个顶点和e条边的无向图,若采用邻接表表示,则所有顶点邻接表中的结点总数为()。

A、nB、eC、2nD、2e正确答案:D10、在一个栈顶指针为top的链栈中,将一个P指针所指的结点入栈,应执行()。

A、top->ne×t=p;B、p->next=top->next;top->next=p;C^p->next=top;top=p;D^p->ne×t=top->ne×t;top=top->next;正确答案:C11、在一个链队中,假设f和r分别为队头和队尾指针,则插入S所指结点的运算为()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数据结构》模拟卷
一、单项选择题
1.数据结构是()。

A.一种数据类型
B.数据的存储结构
C.一组性质相同的数据元素的集合
D.相互之间存在一种或多种特定关系的数据元素的集合
2.算法分析的目的是( B )。

A.辨别数据结构的合理性
B.评价算法的效率
C.研究算法中输入与输出的关系
D.鉴别算法的可读性
3.在线性表的下列运算中,不.改变数据元素之间结构关系的运算是( D )。

A.插入B.删除
C.排序D.定位
4.若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为( B )。

A.3,2,6,1,4,5 B.3,4,2,1,6,5
C.1,2,5,3,4,6 D.5,6,4,2,3,1
5.设串sl=″Data Structures with Java″,s2=″it″,则子串定位函数index(s1,s2)的值为( D )。

A.15 B.16
C.17 D.18
6.二维数组A[8][9]按行优先顺序存储,若数组元素A[2][3]的存储地址为1087,A[4][7]的存储地址为1153,则数组元素A[6][7]的存储地址为( A )。

A.1207 B.1209
C.1211 D.1213
7.在按层次遍历二叉树的算法中,需要借助的辅助数据结构是( A )。

A.队列B.栈
C.线性表D.有序表
8.在任意一棵二叉树的前序序列和后序序列中,各叶子之间的相对次序关系( B )。

A.不一定相同B.都相同
C.都不相同D.互为逆序
9.若采用孩子兄弟链表作为树的存储结构,则树的后序遍历应采用二叉树的( C )。

A.层次遍历算法B.前序遍历算法
C.中序遍历算法D.后序遍历算法
10.若用邻接矩阵表示一个有向图,则其中每一列包含的″1″的个数为( A )。

A.图中每个顶点的入度B.图中每个顶点的出度
C.图中弧的条数D.图中连通分量的数目
11.图的邻接矩阵表示法适用于表示( C )。

A.无向图B.有向图
C.稠密图D.稀疏图
12.在对n个关键字进行直接选择排序的过程中,每一趟都要从无序区选出最小关键字元素,则在进行第i趟排序之前,无序区中关键字元素的个数为( D )。

A.i B.i+1
C.n-i D.n-i+1
二、填空题
1.栈是_操作受限___的线性表,其运算遵循_后进先出__的原则。

2.__栈_是限定仅在表尾进行插入或删除操作的线性表。

3. 一个栈的输入序列是:1,2,3则不可能的栈输出序列是_3 1 2 __。

4.二叉树由_(1)根节点__,__(2)左子树_,_(3)右子树__三个基本单元组成。

5.在二叉树中,指针p所指结点为叶子结点的条件是__p->lchild==null && p->rchild==null ____。

6.具有256个结点的完全二叉树的深度为__9____。

7.已知一棵度为3的树有2个度为1的结点,3个度为2的结点,4个度为3的结点,则该树有___10___个叶子结点。

8.若不考虑基数排序,则在排序过程中,主要进行的两种基本操作是关键字的__ 比较____和记录的__移动___。

9.分别采用堆排序,快速排序,冒泡排序和归并排序,对初态为有序的表,则最省时间的是__冒泡___算法,最费时间的是__快速____算法。

10.不受待排序初始序列的影响,时间复杂度为O(N2)的排序算法是_简单选择排序____,在排序算法的最后一趟开始之前,所有元素都可能不在其最终位置上的排序算法是_直接插入排序____。

三、解答题
1.某广义表的表头和表尾均为(a,(b,c)),画出该广义表的图形表示。

2.已知二叉树的先序序列和中序序列分别为HDACBGFE和ADCBHFEG。

(1)画出该二叉树;
(2)画出与(1)求得的二叉树对应的森林。

3.已知带权图的邻接表如下所示,其中边表结点的结构为:
依此邻接表从顶点C出发进行深度优先遍历。

(1)画出由此得到的深度优先生成树;
(2)写出遍历过程中得到的从顶点C到其它各顶点的带权路径及其长度。

参考答案:
1.
2.
(1)
(2)
3.
(1)
(2)
顶点C到顶点A的带权路径为(C,D,B,A),其长度为8+20+11=39
顶点C到顶点B的带权路径为(C,D,B),其长度为8+20=28
顶点C到顶点D的带权路径为(C,D),其长度为8
顶点C到顶点E的带权路径为(C,D,B,F,E),其长度为8+20+9+14=51
顶点C到顶点F的带权路径为(C,D,B,F),其长度为8+20+9=37
四、算法设计题
1.已知中序线索二叉树T右子树不空。

设计算法,将S所指的结点作为T的右子树中的一个叶子结点插入进去,并使之成为TT的右子树的(中序序列)第一个结点(同时要修改相应的线索关系)。

2.写出在中序线索二叉树里;找指定结点在后序下的前驱结点的算法。

参考答案:
1.答案:[题目分析]若使新插入的叶子结点S成T右子树中序序列的第一个结点,则应在T 的右子树中最左面的结点(设为p)处插入,使S成为结点p的左子女。

则S的前驱是T,后继是p.
void ThrTreeInsert(BiThrTree T,S)
//在中序线索二叉树T的右子树上插入结点S,使S成为T右子树中序遍历第一个结点
{p=T->rchild; //用p去指向T的右子树中最左面的结点
while(p->ltag==0) p=p->lchild;
S->ltag=1;S->rtag=1; //S是叶子,其左右标记均为1
S->lchild=T;S->rchild=p;//S的前驱是根结点T,后继是结点p
p->lchild=S;p->ltag=0; //将p的左子女指向S ,并修改左标志为0
}//结束 ThrTreeInsert
2.答案:[题目分析]在后序序列中,若结点p有右子女,则右子女是其前驱,若无右子女而有左子女,则左子女是其前驱。

若结点p左右子女均无,设其中序左线索指向某祖先结点f(p是f右子树中按中序遍历的第一个结点),若f有左子女,则其左子女是结点p在后序下的前驱;若f无左子女,则顺其前驱找双亲的双亲,一直继续到双亲有左子女(这时左子女是p的前驱)。

还有一种情况,若p是中序遍历的第一个结点,结点p在中序和后序下均无前驱。

BiThrTree InPostPre (BiThrTree t,p)
//在中序线索二叉树t中,求指定结点p在后序下的前驱结点q
{BiThrTree q;
if (p->rtag==0) q=p->rchild; //若p有右子女,则右子女是其后序前驱
else if(p->ltag==0) q=p->lchild; //若p无右子女而有左子女,左子女是其后序前驱。

else if(p->lchild==null) q=null;//p是中序序列第一结点,无后序前驱else //顺左线索向上找p的祖先,若存在,再找祖先的左子女
{while(p->ltag==1 && p->lchild!=null) p=p->lchild;
if(p->ltag==0) q=p->lchild; //p结点的祖先的左子女是其后序前驱
else q=null; //仅右单枝树(p是叶子),已上到根结点,p结点无后序前驱
}
return(q); }//结束InPostPre。

相关文档
最新文档