全国2012年10月自考数据结构(02331)试题及答案
2012年10月--2007年1月自考2331数据结构历年试题和答案
全国2012年10月高等教育一、单项选择题(本大题共l5小题,每小题2分,共30分)1.一个算法的时间耗费的数量级称为该算法的( D ) D.时间复杂度2.顺序表便于( D ) D.按序号查找结点3.设带头结点的单循环链表的头指针为head,指针变量P指向尾结点的条件是( B ) B.p->next==head4.设以数组A[0..m-1]存放循环队列,front指向队头元素,rear指向队尾元素的下一个位置,则当前队列中的元素个数为( A ) A.(rear-front+m)%m5.下列关于顺序栈的叙述中,正确的是( A )A.入栈操作需要判断栈满,出栈操作需要判断栈空6.A是一个10×10的对称矩阵,若采用行优先的下三角压缩存储,第一个元素a0,0的存储地址为1,每个元素占一个存储单元,则a7,5的地址为( D ) D.347.树的后序遍历等价于该树对应二叉树的( C ) C.中序遍历8.使用二叉线索树的目的是便于( D ) D.查找一个结点的前趋和后继9.设无向图的顶点个数为n,则该图边的数目最多为( B) B.n(n-1)/2 10.可进行拓扑排序的图只能是(C)C.有向无环图11.下列排序方法中稳定的是(A)A.直接插入排序12.下列序列不为..堆的是(C)C.75,65,30,l5,25,4513.对线性表进行二分查找时,要求线性表必须是(C)C.顺序存储且按关键字有序14.分别用以下序列生成二叉排序树,其中三个序列生成的二叉排序树是相同的,不同..的序列是(A)A.(4,1,2,3,5)15.下列关于m阶B树的叙述中,错误..的是(A)A.每个结点至多有m个关键字二、填空题(本大题共10小题,每小题2分,共20分)16.数据元素之间的逻辑关系称为数据的__逻辑____结构。
17.在线性表中,表的长度定义为__数据元素的个数____。
18.用S表示入栈操作,X表示出栈操作,若元素入栈的顺序为1、2、3、4,为了得到1、3、4、2的出栈顺序,相应的S和X的操作序列为__SXSSXSXX____。
数据结构真题2012年10月
数据结构真题2012年10月(总分:100.00,做题时间:90分钟)一、单项选择题(总题数:15,分数:30.00)1.一个算法的时间耗费的数量级称为该算法的______(分数:2.00)A.效率B.难度C.可实现性D.时间复杂度√解析:[考点] 算法的时间复杂度的概念[解析] 一个算法的时间耗费的数量级称为该算法的时间复杂度。
2.顺序表便于______(分数:2.00)A.插入结点B.删除结点C.按值查找结点D.按序号查找结点√解析:[考点] 顺序表的特征[解析] 顺序表便于按序号查找结点。
3.设带头结点的单循环链表的头指针为head,指针变量P指向尾结点的条件是______(分数:2.00)A.p->next->next==headB.p->next==head √C.p->next->next==NULLD.p->next==NULL解析:[考点] 指针变量p指向尾结点的判定条件[解析] 单循环链表的指针变量p指向尾结点的判定条件是p->next==head。
4.设以数组A[0..m-1]存放循环队列,front指向队头元素,rear指向队尾元素的下一个位置,则当前队列中的元素个数为______(分数:2.00)A.(rear-front+m)%m √B.rear-front+1C.(front-rear+m)%mD.(rear-front)%m解析:[考点] 队列中元素个数的计算[解析] 队列中元素的个数为(rear-front+m)%m5.下列关于顺序栈的叙述中,正确的是______(分数:2.00)A.入栈操作需要判断栈满,出栈操作需要判断栈空√B.入栈操作不需要判断栈满,出栈操作需要判断栈空C.入栈操作需要判断栈满,出栈操作不需要判断栈空D.入栈操作不需要判断栈满,出栈操作不需要判断栈空解析:[考点] 顺序栈的性质的判断[解析] 入栈操作需要判断栈满,出栈操作需要判断栈空。
6.A是一个10×10的对称矩阵,若采用行优先的下三角压缩存储,第一个元素a 0,0的存储地址为1,每个元素占一个存储单元,则a 7,5的地址为______(分数:2.00)A.25B.26C.33D.34 √解析:[考点] 对称矩阵的元素的地址的计算[解析] 若对称矩阵采用下三角压缩存储,根据其地址的计算公式,可得到所求元素的地址。
02331自考数据结构 第二章 线性表
return ;
}
if ( L -> length >= ListSize ){
printf (" overflow ");
return ;
}
for ( j - L -> length -1; j >= i -1; j --)
L ->data [ j +1]= L -> data [ j ]; //从最后一个元素开始逐一后移
线性表的基本运算
上述运算仅仅是线性表的基本运算,不是其全部运 算。因为对不同问题的线性表,所需要的运算可能不同。 因此,对于实际问题中涉及其他更为复杂的运算,可用 基本运算的组合来实现。
线性表的基本运算
【例2.1】假设有两个线性表 LA 和 LB 分别表示两个 集合 A 和 B ,现要求一个新集合 A = A∪B 。
线性表的逻辑定义
数据元素“一个接一个的排列”的关系叫做 线性关系,线性关系的特点是“一对一”,在计 算机领域用“线性表”来描述这种关系。另外, 在一个线性表中数据元素的类型是相同的,或者 说线性表是由同一类型的数据元素构成的,如学 生情况信息表是一个线性表,表中数据元素的类 型为学生类型;一个字符串也是一个线性表:表 中数据元素的类型为字符型等等。
,
a2
i
,…,
ai-1
,
a.aii++1.1 , .…,
an
)
an
线性表n的-1逻辑结an构和存储结构都发…生了相应的变化, 与插入运算相反,插…入是向后移动元素,而删除运算则
是向前移M动AX元-1 素,除非i=n 时直接删除终端元素,不需移
动元素。
删除前
删除后
2010年至2013年数据结构答案02331.jpg资料
全国2010年1月高等教育自学考试数据结构试题及参考答案课程代码:02331一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.若一个算法的时间复杂度用T(n)表示,其中n的含义是( A )A.问题规模B.语句条数C.循环层数D.函数数量2.具有线性结构的数据结构是( C )A.树B.图C.栈和队列D.广义表3.将长度为n的单链表连接在长度为m的单链表之后,其算法的时间复杂度为( B )A.O(1) B.O(m)C.O(n) D.O(m+n)4.在带头结点的双向循环链表中插入一个新结点,需要修改的指针域数量是( C )A.2个B.3个C.4个D.6个5.假设以数组A[60]存放循环队列的元素,其头指针是front=47,当前队列有50个元素,则队列的尾指针值为( B )A.3 B.37C.50 D.976.若栈采用链式存储结构,则下列说法中正确的是( B )A.需要判断栈满且需要判断栈空B.不需要判断栈满但需要判断栈空C.需要判断栈满但不需要判断栈空D.不需要判断栈满也不需要判断栈空7.若串str=”Software”,其子串的数目是( D )A.8 B.9C.36 D.378.设有一个10阶的下三角矩阵A,采用行优先压缩存储方式,a ll为第一个元素,其存储地址为1000,每个元素占一个地址单元,则a85的地址为( C )A.1012 B.1017C.1032 D.10399.允许结点共享的广义表称为( D )A.纯表B.线性表C.递归表D.再入表10.下列数据结构中,不属于二叉树的是( A )A.B树B.AVL树C.二叉排序树D.哈夫曼树11.对下面有向图给出了四种可能的拓扑序列,其中错误..的是( C )A.1,5,2,6,3,4 B.1,5,6,2,3,4C.5,1,6,3,4,2 D.5,1,2,6,4,312.以v1为起始结点对下图进行深度优先遍历,正确的遍历序列是( D )A.v1,v2,v3,v4,v5,v6,v7 B.v1,v2,v5,v4,v3,v7,v6C.v1,v2,v3,v4,v7,v5,v6 D.v1,v2,v5,v6,v7,v3,v413.下列排序算法中不稳定的是( A )A.快速排序B.归并排序C.冒泡排序D.直接插入排序14.一个有序表为(1,3,9,12,32,41,45,62,75,77,82,95,100),当采用折半查找方法查找值32时,查找成功需要的比较次数是( B )A.2 B.3C.4 D.815.采用ISAM组织文件的方式属于( D )A.链组织B.顺序组织C.散列组织D.索引组织二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。
计算机科学与技术自考本科02331自考数据结构(题库含答案)
02331数据结构一、单选题1.下列程序段的时间复杂度为( D )s=0;for(i=1;i<n ;i++)for(j=1;j<n ;j++)s+=i*j ;A.O(1)B.O(n)C.O(2n)D.O(n 2)2.假设某个带头结点的单链表的头指针为head ,则判定该表为空表的条件是( B )A.head==NULL ;B.head->next==NULL ;C.head!=NULL ;D.head->next==head ;3.栈是一种操作受限的线性结构,其操作的主要特征是( B )A.先进先出B.后进先出C.进优于出D.出优于进4.假设以数组A[n]存放循环队列的元素,其头、尾指针分别为front 和rear 。
若设定尾指针指向队列中的队尾元素,头指针指向队列中队头元素的前一个位置,则当前存于队列中的元素个数为( B )A.(rear-front-1)%nB.(rear-front)%nC.(front-rear+1)%nD.(rear-front+n)%n5.判断两个串大小的基本准则是( D )52A.两个串长度的大小B.两个串中首字符的大小C.两个串中大写字母的多少D.对应的第一个不等字符的大小6.二维数组A[4][5]按行优先顺序存储,若每个元素占2个存储单元,且第一个元素A[0][0]的存储地址为1000,则数组元素A[3][2]的存储地址为( C )A.1012B.1017C.1034D.10367.高度为5的完全二叉树中含有的结点数至少为( A )A.16B.17C.31D.328.已知在一棵度为3的树中,度为2的结点数为4,度为3的结点数为3,则该树中的叶子结点数为( C )A.5B.8C.11D.189.下列关键字序列中,构成大根堆的是( D )A.5,8,1,3,9,6,2,7B.9,8,1,7,5,6,2,33C.9,8,6,3,5,l ,2,7D.9,8,6,7,5,1,2,310.对长度为15的有序顺序表进行二分查找,在各记录的查找概率均相等的情况下,查找成功时所需进行的关键字比较次数的平均值为( B )A.1539B.1549C.1551D.155512.估算算法时间复杂度时考虑的问题规模通常是指算法求解问题的 ( A )。
2012年10月全国自考(数据库及其应用)真题试卷(题后含答案及解析)
2012年10月全国自考(数据库及其应用)真题试卷(题后含答案及解析)题型有:1. 单项选择题 2. 填空题 3. 简答题 4. 综合题单项选择题1.设学生成绩实体包括学号、姓名、数学、物理、外语、总成绩等属性,其中冗余的属性为( )A.数学B.物理C.外语D.总成绩正确答案:D解析:数据冗余是指同—个数据在系统中多次重复出现,总成绩属性值依赖于数学、物理、外语,故选D。
2.在设计数据库应用系统时,首先要把用户需求转化为数据库的( )A.外部模型B.内部模型C.概念模型D.逻辑模型正确答案:C解析:概念模型是从用户需求的观点出发对数据建模的。
3.已知E-R图中有3个实体,实体之间存在1个1:n的联系和1个m:n的联系,将该E-R图转换成关系模型时,可得到的关系模式数为( ) A.3B.4C.5D.6正确答案:B解析:三个实体,则有三个关系模式,又实体问存在一个多对多关系,所以该联系也要转换为模式,故得到的关系模式数为4。
4.设有关系R和S,其基数和元数均为3,则R×S的基数为( ) A.6B.9C.12D.15正确答案:B解析:关系中属性的个数称元数,元组的个数称基数。
R和S的基数均为3,则R×S的基数为3*3=9。
5.有学生成绩表:SC(学号,课程号,分数),已知一个学生可以选多门课,一门课有多个学生选,则SC表的主键应该是( )A.学号B.课程号C.分数D.学号,课程号正确答案:D解析:主键是指能够唯一标识记录的某个字段或某几个字段的组合,故本题中的学生成绩表的主键为学号+课程号。
6.Access利用分组授权机制实现安全性控制,系统提供了两个默认的组,分别是( )A.系统组和用户组B.管理员组和用户组C.管理员组和操作员组D.系统组和操作员组正确答案:B解析:Access利用分组授权机制实现安全性控制,系统提供了两个默认的组,即管理员组和用户组,但也可以创建其他组。
7.Access允许用户自定义工作环境,若要更改表中字段的默认数据类型,可以单击“工具”菜单中“选项”命令,在“选项”对话框中使用的选项卡是( )A.表/查询B.数据表C.编辑查询D.常规正确答案:A解析:“表/查询”选项卡用于设计表或设计查询时设置有关的默认值,如默认字段类型。
自考数据结构02331历年试题与答案(2009__2015个人整理版)
自考数据结构02331历年试题及答案(2009--2015个人整理版)全国2009年1月自学考试数据结构试题一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.下列程序段的时间复杂度为( )9s=0;for(i=1;i<n;i++)for(j=1;j<n;j++)s+=i*j;A.O(1)B.O(n)C.O(2n)D.O(n2)2.假设某个带头结点的单链表的头指针为head,则判定该表为空表的条件是( )22A.head==NULL;B.head->next==NULL;C.head!=NULL;D.head->next==head;3.栈是一种操作受限的线性结构,其操作的主要特征是( )32A.先进先出B.后进先出C.进优于出D.出优于进4.假设以数组A[n]存放循环队列的元素,其头、尾指针分别为front和rear。
若设定尾指针指向队列中的队尾元素,头指针指向队列中队头元素的前一个位置,则当前存于队列中的元素个数为( )A.(rear-front-1)%nB.(rear-front)%nC.(front-rear+1)%nD.(rear-front+n)%n5.判断两个串大小的基本准则是( )52A.两个串长度的大小B.两个串中首字符的大小C.两个串中大写字母的多少D.对应的第一个不等字符的大小6.二维数组A[4][5]按行优先顺序存储,若每个元素占2个存储单元,且第一个元素A[0][0]的存储地址为1000,则数组元素A[3][2]的存储地址为( )60A.1012B.1017C.1034D.10367.高度为5的完全二叉树中含有的结点数至少为( )72A.16B.17C.31D.328.已知在一棵度为3的树中,度为2的结点数为4,度为3的结点数为3,则该树中的叶子结点数为( )C.11D.189.下列所示各图中是中序线索化二叉树的是( A )81A10.已知含6个顶点(v 0,v 1,v 2,v 3,v 4,v 5)的无向图的邻接矩阵如图所示,则从顶点v 0出发进行深度优先遍历可能得到的顶点访问序列为( )108 A.(v 0,v 1,v 2,v 5,v 4,v 3) B.(v 0,v 1,v 2,v 3,v 4,v 5) C.(v 0,v 1,v 5,v 2,v 3,v 4) D.(v 0,v 1,v 4,v 5,v 2,v 3)11.如图所示有向图的一个拓扑序列是( ) A.ABCDEF B.FCBEADC.FEDCBAD.DAEBCF12.下列关键字序列中,构成大根堆的是( ) A.5,8,1,3,9,6,2,7 B.9,8,1,7,5,6,2,33 C.9,8,6,3,5,l ,2,7 D.9,8,6,7,5,1,2,313.对长度为15的有序顺序表进行二分查找,在各记录的查找概率均相等的情况下,查找成功时所需进行的关键字比较次数的平均值为( )172 A.1539 B.1549 C.1551 D.1555 14.已知一个散列表如图所示,其散列函数为H(key)=key %11,采用二次探查法处理冲突,则下一个插入的关键字49的地址为( D )d 19715.数据库文件是由大量带有结构的( )206 A.记录组成的集合 B.字符组成的集合 C.数据项组成的集合 D.数据结构组成的集合二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。
数据结构自考考试题及答案
数据结构自考考试题及答案一、选择题(每题2分,共20分)1. 在数据结构中,算法的时间复杂度是指()。
A. 算法编写的时间长短B. 算法执行时所需要的基本操作的多少C. 算法程序的长度D. 算法程序运行时所占用的内存空间大小答案:B2. 单链表相比于顺序表,其优点是()。
A. 查找速度快B. 插入和删除操作更加方便C. 存储空间少D. 需要的内存少答案:B3. 下列关于队列的描述,正确的是()。
A. 队列是先进先出(FIFO)的数据结构B. 队列是先进后出(LIFO)的数据结构C. 队列只能进行插入操作D. 队列只能进行删除操作答案:A4. 在二叉排序树中,一个节点的右子树上所有节点的值()。
A. 一定小于该节点的值B. 一定大于或等于该节点的值C. 一定大于该节点的值D. 一定小于或等于该节点的值答案:C5. 哈希表是基于()的数据结构。
A. 顺序存储B. 链式存储C. 直接存储D. 索引存储答案:C6. 对于长度为n的有序数组,使用二分查找法查找一个元素的平均时间复杂度是()。
A. O(n)B. O(n^2)C. O(log n)D. O(1)答案:C7. 在图的遍历中,深度优先搜索(DFS)使用的是()。
A. 栈B. 队列C. 链表D. 数组答案:A8. 堆数据结构中,父节点的值总是()于子节点的值。
A. 相等B. 不确定C. 大D. 小答案:C9. 一个完全二叉树的第6层(从1开始计数)可以有的最大节点数是()。
A. 32B. 16C. 64D. 31答案:B10. 在各种排序算法中,空间复杂度最小的是()。
A. 选择排序B. 插入排序C. 归并排序D. 快速排序答案:B二、填空题(每题2分,共20分)11. 在顺序存储的堆中,对于具有n个节点的二叉树,对于编号为i 的节点,其父节点的编号是_________。
答案:(i-1)/212. 一个长度为n的单链表进行一次反转操作的时间复杂度是_________。
自考02331数据结构201201
2012年1月高等教育自学考试全国统一命题考试数据结构试题课程代码:02331考生答题注意事项:1.本卷所有试卷必须在答题卡上作答。
答在试卷和草稿纸上的无效。
2.第一部分为选择题。
必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑。
3.第二部分为非选择题。
必须注明大、小题号,使用0.5毫米黑色字迹笔作答。
4.合理安排答题空间,超出答题区域无效。
一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.每个结点有且仅有一个直接前趋和多个(或无)直接后继(第一个结点除外)的数据结构称为A.树状结构B.网状结构C.线性结构D.层次结构2.某线性表中最常用的操作是在最后一个元素之后插入元素和删除第一个元素,则最节省运算时间的存储结构是A.单链表B.双链表C.仅有头指针的单循环链表D.仅有尾指针的单循环链表3.已知一个栈的入栈序列是1,2,3,…,n,其输出序列为p l,p2,p3….,p n,若p1是n,则p i是A.iB.n-iC.n-i+lD.不确定4.下面关于串的叙述中,正确的是A.串是一种特殊的线性表B.串中元素只能是字母C.空串就是空白串D.串的长度必须大于零5.无向完全图G有n个结点,则它的边的总数为A.n2B.n(n-1)C.n(n-1)/2D.(n-1)6.若一棵二叉树有10个度为2的结点,5个度为1的结点,则度为0的结点数是A.9B.11C.15D.不确定7.如图所示,在下面的4个序列中,不符合...深度优先遍历的序列是A.acfdebB.aebdfcC.aedfbcD.aefdbc8.无论待排序列是否有序,排序算法时间复杂度都是O(n2)的排序方法是A.快速排序B.归并排序C.冒泡排序D.直接选择排序9.已知二叉排序树G,要输出其结点的有序序列,则采用的遍历方法是A.按层遍历B.前序遍历C.中序遍历D.后序遍历10.用ISAM和VSAM组织的文件都属于A.散列文件B.索引顺序文件C.索引非顺序文件D.多关键字文件11.对序列(15,9,7,8,20,-1,4)进行排序,第一趟排序后的序列变为(4,9,-1,8,20,7,15),则采用的排序方法是A.选择B.快速C.希尔D.冒泡12.当采用分块查找时,数据的组织方式为A.数据分成若干块,每块内数据有序B.数据分成若干块,每块中数据个数必须相同C.数据分成若干块,每块内数据有序,块间是否有序均可D.数据分成若干块,每块内数据不必有序,但块间必须有序13.下述编码中不是前缀码的是A.(00,01,10,11)B.(0,1,00,11)C.(0,10,110,111)D.(1,01,000,001)14.若一个栈以向量V[1..n]存储,初始栈顶指针top为n+l,则x进栈的正确操作是A.top=top-1;V[top]=xB.V[top]=x;top=top+1C.top=top+1;V[top]=xD.V[top]=x;top=top-115.在一个以head为头结点指针的非空单循环链表中,指针p指向链尾结点的条件是A.p - > data = - 1B.p - > next = NULLC.p - > next - > next=headD.p - > next = head二、填空题(本大题共10小题,每小题2分,若有两个空格,每个空格1分,共20分)请在每个空格中填上正确答案。
自考02331数据结构真题及答案(2009-2018)
if ( ! visited[p -> adjvex] )
DFS( G, p - > adjvex) ;
p = p->next;
}
}
}
void f32 ( ALGraph * G) {
int i;
for (i = 0; i < G->n; i ++)
visited [ i ] = FALSE ;
A.先进先出B.后进先出
C.进优于出D.出优于进
4.假设以数组A[n]存放循环队列的元素,其头、尾指针分别为front和rear。若设定尾指针指向队列中的队尾元素,头指针指向队列中队头元素的前一个位置,则当前存于队列中的元素个数为( )
A.(rear-front-1)%nB.(rear-front)%n
(1)(1+8)*8/2=36 存放次对角线以上的零为37
(2)12
27.对关键字序列(5,8,1,3,9,6,2,7)按从小到大进行快速排序。
(1)写出排序过程中前两趟的划分结果;
(2)快速排序是否是稳定的排序方法?
(1)
第一趟划分结果;(2,3,1),5,(9,6,8,7)
第二趟划分结果;(1,2,3),5,(9,6,8,7)
if ((2)) {R[k].key<R[k-l].key
t = R[k];
R[k] = R[k-1];
R[k-1] = t;
}
(3);i++
}
}
(1)
(2)
(3)
五、算法设计题(本大题10分)
34.假设以带头结点的单链表表示线性表,单链表的类型定义如下:
10月自考数据结构02331试题及答案解析
10月自考数据结构02331试题及答案解析10月自考数据结构02331试题及答案解析lO月高等教育自学考试全国统一命题考试数据结构试卷(课程代码02331)本试卷共8页。
满分l00分。
考试时间l50分钟。
考生答题注意事项:1.本卷所有试题必须在答题卡上作答。
答在试卷上无效,试卷空白处和背面均可作草稿纸. 2.第一部分为选择题。
必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑。
3.第二部分为非选择题。
必须注明大、小题号,使用0.5毫米黑色字迹签字笔作答。
4.合理安排答题空间.超出答题区域无效。
第一部分选择题一、单项选择题(本大题共l5小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑。
未涂、错涂或多涂均无分。
1.下列选项中,不属于线性结构的是A.网 B.栈 C.队列D.线性表2.长度为n的顺序表,删除位置i上的元素(0≤i≤n一1),需要移动的元素个数为A.n—i B.n—i—l C.i D.i+13.栈采用不同的存储方式时,下列关于出栈过程的叙述中,正确的是A.顺序栈需要判定栈空,链栈也需要判定B.顺序栈需要判定栈空,而链栈不需要判定C.顺序栈不需要判定栈空,而链栈需要判定D.顺序栈不需要判定栈空,链栈也不需要判定4.若一个栈以数组V[0..n-1]存储,初始栈顶指针top为n,则x入栈的正确操作是A.top=top+1;V[top]=x B.V[top]=x;top=top+1 C.top=top一1;V[mp]=x D.V[top]=x;top=top—l 5.在二维数组a[9][10]中:每个数组元素占用3个存储空间,从首地址SA开始按行优先连续存放,则元素a[8][5]的起始地址是A.SA+141 B.SA+144 C.SA+222 D.SA+2556.广义表A=(x,((y),((a)),A))的深度是A.2 B.3 C.4 D.∞7.一棵左子树为空的二叉树在前序线索化后,其空指针域个数为A.0 B.1 C.2 D.不确定8.下列关于哈夫曼树的叙述中,错误的是A.用n个结点构造的哈夫曼树是唯一的B.哈夫曼树中只有度为0或度为2的结点C.树中两个权值最小的结点可能是兄弟结点D.同一结点集构造的二叉树中,哈夫曼树的WPL最小9.6个顶点的强连通图中,含有的边数至少是A.4 B.5 C.6 D.710.对题l0图进行深度优先搜索遍历,下列选项中,正确的遍历序列是12.有向图采用邻接矩阵存储,某一行中非零元素的个数等于A.对应顶点v的度B.对应顶点v的出度C.对应顶点v的入度D.依附于对应顶点v的边数13.下列选项中,符合堆定义的是A.{102,24,55,60,89,93}B.{24,89,55,60,93,102}C.{102,93,55,60,89,24}D.{102,60。
02331数据结构课后练习题
第1章概论练习题一、单项选择题1.在数据结构中,从逻辑上可以把数据结构分为(B)A.紧凑结构与非紧凑结构B.线性结构与非线性结构C.内部结构与外部结构D.动态结构与静态结构2.若结点得存储地址与其关键字之间存在某种映射关系,则称这种存储结构为(D)A.顺序存储结构B.链式存储结构C.索引存储结构D.散列存储结构3.算法分析得两个主要方面就是(B)A.正确性与简明性B.时间复杂性与空间复杂性C.可读性与可维护性D.数据复杂性与程序复杂性4.线性表采用链式存储结构时,要求内存中可用存储单元地址(A)A.不一定连续得B.部分地址必须就是连续得C.必须就是连续得D.一定就是不连续得5.算法指得就是(C)A.计算机程序B.解决问题得计算方法C.解决问题得有限运算序列D.排序算法二、填空题6.数据结构一般包括逻辑结构、存储结构与数据运算三个方面得内容.7.数据得逻辑结构可分为线性结构、非线性结构两大类.8.数据得存储结构(物理结构)一般可以用顺序存储结构、链式存储结构、索引存储结构及散列存储结构等四种存储方法表示.9.在选用求解一个问题得算法时,除了首先考虑算法就是“正确得”之外,还主要考虑执行算法所需要得时间、执行算法所需要得存储空间及算法应易于理解、易于编程、易于调试等三点。
10.设有一批数据元素,为了最快地存取某元素,宜用顺序结构存储,为了方便得插入一个元素,宜用链式结构存储.三、应用题设n为正整数,利用大“O”记号,写出下列各程序段得时间复杂度.11.for (i = 1; i <= n; i++){y = y + 1;for (j = 1; j <= 2 * n; j++)x = x + 1;}分析:语句“y = y + 1;”执行n次,语句“x = x + 1;”各执行次,故该程序段得时间复杂度为O().12.s = 0;while (n >= (s + 1) * (s + 1))s = s + 1;分析:语句“s = s + 1;”执行次,故该程序段得时间复杂度为O().13.x = 1;sum = 0;for (i = 0; i <= n; i++){x = x * i;sum = sum + x;}分析:语句“x = x * i”与“sum = sum + x;”各执行n次,故该程序段得时间复杂度为O(n).14.for (i = 1; i <= n; i++)if (3 * i <=n)for (j = 3 * i; j <= n; j++){x++;y = 3 * x + 2;}分析:语句“x++”与“y = 3 * x + 2;”各执行次,故该程序段得时间复杂度为O().15.for (i = 1; i <= n; i++)for (j = 1; j <= i; j++){x = x + 1;}分析:语句“x = x + 1;”执行次,故该程序段得时间复杂度为O().16.sum = 0; i = 0;while (i <= 100){sum = sum + i;i++;}分析:语句“sum = sum + i;”与“i++;”各执行100次,故该程序段得时间复杂度为O(1).17.x = 1;s = 0;for (i = 1; i <= n; i++){++x;s += x;}for (j = 1; j <= n; j++)for (k = 1; k <= n; k++){x++;s = s + x;}分析:语句“++x;”执行n次,语句“x++;”与“s = s + x;”各执行次,故该程序段得时间复杂度为O().第2章线性表练习题一、单项选择题1.在长度为n得顺序表得第i个位置上插入一个元素,元素得移动次数为(A)A. B. C. D.2.若一个顺序表中第一个元素得存储地址为1000,每个元素占4个地址单元,那么,第6个元素得存储地址应就是(A)A.1020B.1010C.1016D.10243.带头结点得单链表(以head为头指针)为空得判断条件就是(C)A.head != NULLB.head -> next == headC.head -> next == NULLD.head == NULL4.在单循环链表中,p指向表任一结点,判断表不就是访问结束得条件就是(B)A.p != NULLB.p != headC.p -> next != headD.p -> next != NULL5.在一个单链表中,已知q指向p所指向结点得前趋结点,若在p、q所指结点之间插入一个s所指向得新结点,则执行得操作就是(A)A.q -> next = s; s -> next = pB.p -> next = s; s -> next = qC.s -> next = p -> next; p -> next = sD.p -> next = s -> next; s -> next = p6.在一个单链表中,若删除p指向结点得后继结点,则执行得操作就是(A)A.q = p -> next; p -> next = p -> next -> next; free(q);B.p = p -> next; q = p -> next; p = q -> next; free(q);C.q = p -> next -> next; p = p -> next; free(q);D.p = p -> next -> next; q = p -> next; free(q);二、填空题7.在一个长度为n得顺序表中删除第i个元素,需要向前移动n- i个元素.8.在顺序表中插入或删除一个元素,需要平均移动表长得一半个元素,具体移动得元素个数与插入或删除得位置有关.9.顺序表中逻辑上相邻得元素在物理存储位置上一定相邻,链表结构中逻辑上相邻得元素在物理位置上不一定相邻.10.已知顺序表中一个元素得存储位置就是x,每个元素占c个字节,求其后继元素位置计算公式为x+ c,而已知单链表中某一结点由p指向,求此后继结点存储地址得操作为p -> next.11.在用p指针访问单链表时,判断不就是访问结束得条件就是p != NULL;在访问单循环链表时,判断不就是访问表结束得条件就是p != head.12.已知p指向双向链表得中间某个结点,从给定得操作语句中选择合适得填空.(1)在p结点后插入s结点得语句序列就是I、G、A、D.(2)在p结点前插入s结点得语句序列就是C、N、H、B.(3)删除p结点得直接后继结点得语句序列就是J、Q、E、M.(4)删除p结点得直接前趋结点得语句序列就是K、P、F、M.(5)删除p结点得语句序列就是O、R、L.A.p -> next = sB.p -> prior = sC.s -> next = pD.s -> prior = pE.p -> next = p -> next -> nextF.p -> prior = p -> prior -> priorG.p -> next -> prior = s H.p -> prior -> next = s I.s -> next = p -> nextJ.q = p -> next K.q = p -> prior L.free(p)M.free(q) N.s -> prior = p -> prior O.p -> prior -> next = p -> nextP.p -> prior -> prior -> next = p Q.p -> next -> next -> prior = p R.p -> next -> prior = p -> prior13.下面就是一个在带头结点得单链表head中删除所有数据域值为x得结点得算法,但不完善,请在相应得地方填上适当得语句,使之成为完整得算法.void DeleX(LinkList head, DataType x){LinkNode *p, *q, *s;P = head;q = p -> next;while (q != NULL)if (q -> data == x){s = q;q = q -> next;free(s);p -> next = q;}else{p = q;q = q -> next;}}三、算法设计题14.设有两个顺序表A与B,且都递增有序。
2012年10月自考数据库系统原理试题、笔记、参考答案
绝密★考试结束前全国2012年10月高等教育自学考试数据库系统原理试题课程代码:04735请考生按规定用笔将所有试题的答案涂、写在答题纸上。
选择题部分注意事项:1. 答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的 位置上。
2. 每小题选出答案后,用 2B 铅笔把答题纸上对应题目的答案标号涂黑。
如需改动,用橡皮擦干净后,再选涂 其他答案标号。
不能答在试题卷上。
、单项选择题(本大题共 15小题,每小题2分,共30分) 在每小题列出的四个备选项中只有一个是符合题目要求的 ,请将其选出并将 答题纸”的相应代码涂黑。
未涂、错涂或多涂均无分。
1 •数据管理技术的发展经历了 人工管理、文件系统、数据库和高级 D B •应用程序系统 D •数据库阶段BB •关系模型的查询效率比非关系模型高 D •关系是一个集合,因此没有行序是 CB .模式与内模式的映射 物理数据独立性 D •内模式4.下列模型中,广泛采用 ER 模型设计方法的是BA •逻辑模型B •概念模型C •物理模型5 •如果关系模式设计的不好,会出现 AA •数据冗余 C •关键码A •数据描述阶段 C .编译系统2 •下面不是关系数据模型的性质的是 A •关系的每个属性是不可分割的 C •关系中不允许出现重复元组3 •要保证数据库逻辑数据独立性,需要 A •逻辑模式C •逻辑模式与外模式的映射D .外模型B .函数依赖 D .多值依赖A .导出表即为视图B. 导出表是执行了查询时产生的表C. 导出表必然与原表具有同样结构 D .导出表可以用 CREATETABLE 直接创建 10.关于SQL 语言下列描述正确的是 CA . SQL 语言只包括数据查询语言和数据操纵语言B .用SQL 语言可以实现可视化应用程序开发C . SQL 语言可作为一种交互式语言D . SQL 语言是一种关系代数查询语言11.DBMS 的恢复管理子系统保证了事务的 DA .独立性实现B . 一致性实现C .隔离性实现D .持久性实现12 .下列不属于并发操作带来的问题的是 DA .丢失更新B .读脏数据C .不可重复读D .运算溢出 13.记录了所有 SQLServer2000的系统信息、登录账号、系统配置设置、系统中所有数据库及其系统信息以及存储 介质信息的是AA . Master 数据库B . Model 数据库C . Msdb 数据库D . Tempdb 数据库14 .用PowerBuilder 脚本语言来连接数据库时,语句 SQLCA.DBMS="ODBC" 所指的是 AA .数据库厂商的名称B .定义程序是否提交事务C .从数据库中显示检索到的数据D .所需要的额外信息 15 .在面向对象技术中,可以避免数据结构的无穷嵌套问题的数据类型是A .满足4范式不一定满足 BC 范式 C .满足4范式一定满足 BC 范式 7 .若关系R 和S 分别包含r 和s 个属性, A .包含r+s 个属性和 m+n 个元组 C .包含r x s 个属性和 m+n 个元组 &关系演算是一种AA .以元组为变量的谓词演算 C .基于集合的运算9.下列B .满足BC 范式一定满足 4范式D . BC 范式与4范式没有任何关系 分别含有 m 和n 个元组,则RXS BB .包含r+s 个属性和 m x n 个元组 D .包含r x s 个属性和m x n 个元组B .以属性为变量的谓词演算D .以关系为运算对象的高级运算的集合6.下面说法正确的是 CA •行类型B •集合类型C•引用类型 D •包类型非选择题部分注意事项:用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。
数据结构自考试题及答案
数据结构自考试题及答案一、单项选择题(每题2分,共20分)1. 在数据结构中,线性结构的特点是()。
A. 有且仅有一个根节点B. 有且仅有一个开始节点和结束节点C. 有且仅有一个根节点和子节点D. 有且仅有一个开始节点和子节点答案:B2. 下列选项中,不属于线性表的顺序存储结构的是()。
A. 数组B. 链表C. 栈D. 队列答案:B3. 在二叉树的遍历算法中,先访问根节点,然后遍历左子树,最后遍历右子树,这种遍历方式是()。
A. 前序遍历B. 中序遍历C. 后序遍历D. 层序遍历答案:A4. 哈希表的构造方法不包括()。
A. 直接定址法B. 除留余数法C. 链地址法D. 排序法答案:D5. 在图的表示方法中,邻接矩阵表示法的主要缺点是()。
A. 占用空间大B. 占用空间小C. 查找任意两个顶点之间的边不方便D. 插入和删除操作不方便答案:A6. 堆是一种特殊的完全二叉树,它满足()。
A. 每个节点的值都大于其子节点的值B. 每个节点的值都小于其子节点的值C. 每个节点的值都等于其子节点的值D. 每个节点的值都大于其父节点的值答案:A7. 在排序算法中,时间复杂度为O(nlogn)的算法是()。
A. 冒泡排序B. 快速排序C. 插入排序D. 选择排序答案:B8. 动态查找表的查找效率比静态查找表的查找效率()。
A. 高B. 低C. 相同D. 不确定答案:A9. 在数据库中,索引的作用是()。
A. 增加存储空间B. 减少存储空间C. 提高查询速度D. 降低查询速度答案:C10. 以下数据结构中,可以进行随机访问的是()。
A. 链表B. 栈C. 队列D. 数组答案:D二、多项选择题(每题3分,共15分)1. 下列数据结构中,属于非线性结构的有()。
A. 树B. 图C. 线性表D. 栈答案:AB2. 在算法分析中,时间复杂度的计算不包括()。
A. 常数项B. 循环次数C. 循环嵌套的层数D. 循环内执行的语句数量答案:AD3. 以下排序算法中,属于不稳定排序的有()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
全国2012年10月高等教育自学考试数据结构试题课程代码:02331请考生按规定用笔将所有试题的答案涂、写在答题纸上。
选择题部分注意事项:1. 答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上。
2. 每小题选出答案后,用2B铅笔把答题纸上对应题目的答案标号涂黑。
如需改动,用橡皮擦干净后,再选涂其他答案标号。
不能答在试题卷上。
一、单项选择题(本大题共l5小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。
错涂、多涂或未涂均无分。
1.一个算法的时间耗费的数量级称为该算法的A.效率B.难度C.可实现性D.时间复杂度2.顺序表便于A.插入结点B.删除结点C.按值查找结点D.按序号查找结点3.设带头结点的单循环链表的头指针为head,指针变量P指向尾结点的条件是A.p->next->next==head B.p->next==headC.p->next->next==NULL D.p->next==NULL4.设以数组A[0..m-1]存放循环队列,front指向队头元素,rear指向队尾元素的下一个位置,则当前队列中的元素个数为A.(rear-front+m)%m B.rear-front+1C.(front-rear+m)%m D.(rear-front)%m5.下列关于顺序栈的叙述中,正确的是A.入栈操作需要判断栈满,出栈操作需要判断栈空B.入栈操作不需要判断栈满,出栈操作需要判断栈空C.入栈操作需要判断栈满,出栈操作不需要判断栈空D.入栈操作不需要判断栈满,出栈操作不需要判断栈空6.A是一个10×10的对称矩阵,若采用行优先的下三角压缩存储,第一个元素a0,0的存储地址为1,每个元素占一个存储单元,则a7,5的地址为A.25 B.26C.33 D.347.树的后序遍历等价于该树对应二叉树的A.层次遍历B.前序遍历C.中序遍历D.后序遍历8.使用二叉线索树的目的是便于A.二叉树中结点的插入与删除B.在二叉树中查找双亲C.确定二叉树的高度D.查找一个结点的前趋和后继9.设无向图的顶点个数为n,则该图边的数目最多为A.n-l B.n(n-1)/2C.n(n+1)/2 D.n210.可进行拓扑排序的图只能是A.有向图B.无向图C.有向无环图D.无向连通图11.下列排序方法中稳定的是A.直接插入排序B.直接选择排序C.堆排序D.快速排序12.下列序列不为..堆的是A.75,45,65,30,15,25 B.75,65,45,30,25,15C.75,65,30,l5,25,45 D.75,45,65,25,30,1513.对线性表进行二分查找时,要求线性表必须是A.顺序存储B.链式存储C.顺序存储且按关键字有序D.链式存储且按关键字有序14.分别用以下序列生成二叉排序树,其中三个序列生成的二叉排序树是相同的,不同..的序列是A.(4,1,2,3,5) B.(4,2,3,l,5)C.(4,5,2,1,3) D.(4,2,1,5,3)15.下列关于m阶B树的叙述中,错误..的是A.每个结点至多有m个关键字B.每个结点至多有m棵子树C.插入关键字时,通过结点分裂使树高增加D.删除关键字时通过结点合并使树高降低非选择题部分注意事项:用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。
二、填空题(本大题共10小题,每小题2分,共20分)16.数据元素之间的逻辑关系称为数据的______结构。
17.在线性表中,表的长度定义为______。
18.用S表示入栈操作,X表示出栈操作,若元素入栈的顺序为1、2、3、4,为了得到1、3、4、2的出栈顺序,相应的S和X的操作序列为______。
19.在二叉树中,带权路径长度最短的树称为______。
20.已知广义表G,head(G)与tail(G)的深度分别为4和6,则G的深度是______。
21.一组字符(a,b,c,d)在文中出现的次数分别为(7,6,3,5),字符'd'的哈夫曼编码的长度为______。
22.在一个具有n个顶点的无向图中,要连通全部顶点至少需要______条边。
23.直接选择排序算法的时间复杂度是______。
24.对于长度为81的表,若采用分块查找,每块的最佳长度为______。
25.用二叉链表保存有n个结点的二叉树,则结点中有______个空指针域。
三、解答题(本大题共4小题,每小题5分,共20分)26.假设Q是一个具有11个元素存储空间的循环队列(队尾指针指向队尾元素的下一个位置,队头指针指向队头元素),初始状态Q.front=Q.rear=0;写出依次执行下列操作后头、尾指针的当前值。
a,b,c,d,e,f入队,a,b,c,d出队;(1) Q.front=______;Q.rear=______。
g,h,i,j,k,l入队,e,f,g,h出队;(2) Q.front=______;Q.rear=______。
M,n,o,P入队,i,j,k,l,m出队;(3) Q.front=______;Q.rear=______。
27.已知一个无向图如题27图所示,以①为起点,用普里姆(Prim)算法求其最小生成树,画出最小生成树的构造过程。
28.用归并排序法对序列(98,36,-9,0,47,23,1,8)进行排序,问:(1)一共需要几趟归并可完成排序。
(2)写出第一趟归并后数据的排列次序。
29.一组记录关键字(55,76,44,32,64,82,20,16,43),用散列函数H(key)=key%11将记录散列到散列表HT[0..12]中去,用线性探测法解决冲突。
(1)画出存入所有记录后的散列表。
(2)求在等概率情况下,查找成功的平均查找长度。
四、算法阅读题(本大题共4小题,每小题5分,共20分)30.顺序表类型定义如下:# define ListSize 100typedef struct {int data[ListSize];int length;}SeqList;阅读下列算法,并回答问题:void f30(SeqList *L){ int i,j;i=0;while(i<L->length)if (L->data[i]%2!=0){ for(j=i+1; j<L->length; j++ }L->data[j-1]=L->data[j];L->length--;}else i++}(1)若L->data 中的数据为(22,4,63,0,15,29,34,42,3),则执行上述算法后L->data中的数据以及L->length的值各是什么?(2)该算法的功能是什么?31.有向图的邻接矩阵类型定义如下:#define MVN 100 ∥最大顶点数typedef int EType; ∥边上权值类型typedef struct{EType edges[MVN][MVN]; ∥邻接矩阵,即边表int n; ∥ 图的顶点数}MGraph; ∥ 图类型例如,一个有向图的邻接矩阵如下所示:0 1 0 0 01 0 0 0 10 1 0 1 01 0 0 0 00 0 0 1 1A ⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦阅读下列算法,并回答问题:V oid f31(MGraph G){Int i,j,k=0;Step1:for (i=0; i<G.n; i++)for (j=0; j<G .n; j++)if (G.edges[i][j]= =1) k++;printf (“%dn”,k); step2:for (j=0; j<G.n; j++){ k=0;for (i=0; i<G.n; j++)if (G .edges[i][j]= =1) k++;printf (“%dn”,k);}}(1)stepl 到step2之间的二重循环语句的功能是什么?(2)step2之后的二重循环语句的功能是什么?32.阅读下列算法,并回答问题:void f32(int r[], int n){Int i ,j ;for (i=2;i<n ;i++){ r[0]=r[i];j=i-l ;while (r[0]<r[j]){ r[j+l]=r[j];j=j-1;}r[j+l]=r[0];}}(1)这是哪一种插入排序算法?该算法是否稳定?(2)设置r[0]的作用是什么?33.顺序表类型定义如下:typedef int SeqList[100];阅读下列算法,并回答问题:void f33(SeqList r,int n){ int a, b,i;if (r[0]<r[1]){ a=r[0];b=r[1];>else { a=r[1];b=r[0];}for (i=2;i<n;i++)if (r[i]<a) a=r[i];else if (r[i]>b) b=r[i];printf("a=%d,b=%d。
n",a,b);}(1)给出该算法的功能;(2)给出该算法的时间复杂度。
五、算法设计题(本题10分)34.二叉树的存储结构类型定义如下typedef struct node{int data;struct node *lchild,*rchild;} BinNode;typedef BinNode *BinTree;编写递归算法,求只有一个孩子结点的结点总数,并计算这些结点的数据值的和。
函数的原型为:void f34(BinTree T, int *count, int *sum)*count和*sum的初值为0。