02331数据结构200710
自考数据结构02331历年试题及答案(2009--2015个人整理版)
自考数据结构02331历年试题及答案(2009--2015个人整理版)全国2009年1月自学考试数据结构试题一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.下列程序段的时间复杂度为( )9 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 ,则判定该表为空表的条件是( )22 A.head==NULL ; B.head->next==NULL ; C.head!=NULL ; D.head->next==head ;3.栈是一种操作受限的线性结构,其操作的主要特征是( )32 A.先进先出 B.后进先出 C.进优于出 D.出优于进4.假设以数组A[n]存放循环队列的元素,其头、尾指针分别为front 和rear 。
若设定尾指针指向队列中的队尾元素,头指针指向队列中队头元素的前一个位置,则当前存于队列中的元素个数为( ) A.(rear-front-1)%n B.(rear-front)%n C.(front-rear+1)%n D.(rear-front+n)%n5.判断两个串大小的基本准则是( )52 A.两个串长度的大小 B.两个串中首字符的大小 C.两个串中大写字母的多少 D.对应的第一个不等字符的大小6.二维数组A[4][5]按行优先顺序存储,若每个元素占2个存储单元,且第一个元素A[0][0]的存储地址为1000,则数组元素A[3][2]的存储地址为( )60 A.1012 B.1017 C.1034 D.10367.高度为5的完全二叉树中含有的结点数至少为( )72 A.16 B.17 C.31 D.328.已知在一棵度为3的树中,度为2的结点数为4,度为3的结点数为3,则该树中的叶子结点数为( ) A.5 B.8 C.11 D.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的有序顺序表进行二分查找,在各记录的查找概率均相等的情况下,查找成功时所需进行的关键字比较次数的平均值为( )172A.1539B.1549 C.1551 D.1555 14.已知一个散列表如图所示,其散列函数为H(key)=key %11,采用二次探查法处理冲突,则下一个插入的关键字49的地址为( D )d 19715.数据库文件是由大量带有结构的( )206 A.记录组成的集合 B.字符组成的集合 C.数据项组成的集合 D.数据结构组成的集合二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。
自考数据结构02331历年试题及答案(2009--2018年(缺少2017年))
自考数据结构02331历年试题及答案(2009--2015个人整理版)全国2009年1月自学考试数据结构试题一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.下列程序段的时间复杂度为( )9 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 ,则判定该表为空表的条件是( )22 A.head==NULL ; B.head->next==NULL ; C.head!=NULL ; D.head->next==head ;3.栈是一种操作受限的线性结构,其操作的主要特征是( )32 A.先进先出 B.后进先出 C.进优于出 D.出优于进4.假设以数组A[n]存放循环队列的元素,其头、尾指针分别为front 和rear 。
若设定尾指针指向队列中的队尾元素,头指针指向队列中队头元素的前一个位置,则当前存于队列中的元素个数为( ) A.(rear-front-1)%n B.(rear-front)%n C.(front-rear+1)%n D.(rear-front+n)%n5.判断两个串大小的基本准则是( )52 A.两个串长度的大小 B.两个串中首字符的大小 C.两个串中大写字母的多少 D.对应的第一个不等字符的大小6.二维数组A[4][5]按行优先顺序存储,若每个元素占2个存储单元,且第一个元素A[0][0]的存储地址为1000,则数组元素A[3][2]的存储地址为( )60 A.1012 B.1017 C.1034 D.10367.高度为5的完全二叉树中含有的结点数至少为( )72 A.16 B.17 C.31 D.328.已知在一棵度为3的树中,度为2的结点数为4,度为3的结点数为3,则该树中的叶子结点数为( ) A.5 B.8 C.11 D.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.如图所示有向图的一个拓扑序列是( )a00a01 a02 a03 a04 a32A.ABCDEFB.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的有序顺序表进行二分查找,在各记录的查找概率均相等的情况下,查找成功时所需进行的关键字比较次数的平均值为( )172A.1539B.1549 C.1551 D.1555 14.已知一个散列表如图所示,其散列函数为H(key)=key %11,采用二次探查法处理冲突,则下一个插入的关键字49的地址为( D )d 19715.数据库文件是由大量带有结构的( )206 A.记录组成的集合 B.字符组成的集合 C.数据项组成的集合 D.数据结构组成的集合二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。
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历年试题及答案(2009--2015个人整理版)全国2009年1月自学考试数据结构试题一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.下列程序段的时间复杂度为( )9 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 ,则判定该表为空表的条件是( )22 A.head==NULL ; B.head->next==NULL ; C.head!=NULL ; D.head->next==head ;3.栈是一种操作受限的线性结构,其操作的主要特征是( )32 A.先进先出 B.后进先出 C.进优于出 D.出优于进4.假设以数组A[n]存放循环队列的元素,其头、尾指针分别为front 和rear 。
若设定尾指针指向队列中的队尾元素,头指针指向队列中队头元素的前一个位置,则当前存于队列中的元素个数为( ) A.(rear-front-1)%n B.(rear-front)%n C.(front-rear+1)%n D.(rear-front+n)%n5.判断两个串大小的基本准则是( )52 A.两个串长度的大小 B.两个串中首字符的大小 C.两个串中大写字母的多少 D.对应的第一个不等字符的大小6.二维数组A[4][5]按行优先顺序存储,若每个元素占2个存储单元,且第一个元素A[0][0]的存储地址为1000,则数组元素A[3][2]的存储地址为( )60 A.1012 B.1017 C.1034 D.10367.高度为5的完全二叉树中含有的结点数至少为( )72 A.16 B.17 C.31 D.328.已知在一棵度为3的树中,度为2的结点数为4,度为3的结点数为3,则该树中的叶子结点数为( ) A.5 B.8 C.11 D.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.ABCDEFB.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的有序顺序表进行二分查找,在各记录的查找概率均相等的情况下,查找成功时所需进行的关键字比较次数的平均值为( )172A.1539B.1549 C.1551 D.1555 14.已知一个散列表如图所示,其散列函数为H(key)=key %11,采用二次探查法处理冲突,则下一个插入的关键字49的地址为( D )d 19715.数据库文件是由大量带有结构的( )206 A.记录组成的集合 B.字符组成的集合 C.数据项组成的集合 D.数据结构组成的集合二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。
全国自学考试数据结构试题02331试题及答案
全国2011年1月自学考试数据结构试题课程代码:02331一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.下列选项中与数据存储结构无关的术语是( D )P3A.顺序表B.链表C.链队列D.栈2.将两个各有n个元素的有序表归并成一个有序表,最少的比较次数是( B )A.n-1B.nC.2n-1D.2n3.已知循环队列的存储空间大小为m,队头指针front指向队头元素,队尾指针rear指向队尾元素的下一个位置,则向队列中插入新元素时,修改指针的操作是( D )A.rear=(rear-1)%m;B.front=(front+1)%m;C.front=(front-1)%m;D.rear=(rear+1)%m;4.递归实现或函数调用时,处理参数及返回地址,应采用的数据结构是( A )A.堆栈B.多维数组C.队列D.线性表5.设有两个串p和q,其中q是p的子串,则求q在p中首次出现位置的算法称为( C )A.求子串B.串联接C.串匹配D.求串长6.对于广义表A,若head(A)等于tail(A),则表A为( B )P67A.( )B.(( ))C.(( ),( ))D.(( ),( ),( ))7.若一棵具有n(n>0)个结点的二叉树的先序序列与后序序列正好相反,则该二叉树一定是( C )A.结点均无左孩子的二叉树B.结点均无右孩子的二叉树C.高度为n的二叉树D.存在度为2的结点的二叉树8.若一棵二叉树中度为l的结点个数是3,度为2的结点个数是4,则该二叉树叶子结点的个数是( B )P73A.4B.5C.7D.89.下列叙述中错误的是( C )A.图的遍历是从给定的源点出发对每一个顶点访问且仅访问一次P107B.图的遍历可以采用深度优先遍历和广度优先遍历第 1 页C.图的广度优先遍历只适用于无向图D.图的深度优先遍历是一个递归过程10.已知有向图G=(V,E),其中V={V1,V2,V3,V4},E={<V1,V2>,<V1,V3>,<V2,V3>,<V2,V4>,<V3,V4>},图G的拓扑序列是()A.V1,V2,V3,V4B.V1,V3,V2,V4C.V1,V3,V4,V2D.V1,V2,V4,V311.平均时间复杂度为O(n log n)的稳定排序算法是( C )P136 P164 8-2A.快速排序B.堆排序C.归并排序D.冒泡排序12.已知关键字序列为(51,22,83,46,75,18,68,30),对其进行快速排序,第一趟划分完成后的关键字序列是( D )A.(18,22,30,46,51,68,75,83)B.(30,18,22,46,51,75,83,68)C.(46,30,22,18,51,75,68,83)D.(30,22,18,46,51,75,68,83)13.某索引顺序表共有元素395个,平均分成5块。
2018年4月高等教育自学考试《数据结构》试题02331
2018年4月高等教育自学考试《数据结构》试题课程代码:02331一、单项选择题1.数据结构不包含的内容是A.数据的元素来源B.数据的逻辑结构C.数据的存储结构D.对数据施加的操作2.下列选项中,属于逻辑结构的是A.循环队列B.二叉树C.散列表D.邻接表3.下列选项中,属于顺序存储结构优点的是A.插入运算方便B.删除运算方便C.存储密度大D.方便存储各种逻辑结构4.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则下列存储结构中,最节省运算时间的是A.单链表B.仅有头指针的单循环链表C.双向链表D.仅有尾指针的单循环链表5.用不带头结点的单链表存储队列,在进行删除运算时A.仅修改头指针B.仅修改尾指针C.头、尾指针一定都要修改D.头、尾指针可能都要修改6.二维数组M,行下标取值范围为0—8,列下标取值范围为1~10,若按行优先存储时,元素M[8Ⅱ51的存储地址为ar,则按列优先存储时,地址ar存储的数组元素应是A.M[8][5] B.M[5][8] C.M[3][10] D.M[0][9]7.根据二叉树的定义,3个结点构成的二叉树的树型有A.2种B.3种C.4种D.5种8.一棵有序树可转换为一棵二叉树,树的后序遍历对应二叉树的A.前序遍历B.中序遍历C.后序遍历D.以上都不对9.若图G的邻接表中有奇数个表结点,则G是A.含奇数个顶点的图B.无向图C.含偶数个顶点的图D.有向图10.若用邻接矩阵存储有向图,矩阵中主对角线以下的元素均为零,则关于该图拓扑排序序列的结论是A.存在,且唯一B.存在,且不唯一C.存在,可能不唯一D.无法确定是否存在11.如果无向图G的最小生成树T中含有边(a,b)和(a,c),则下列选项中,一定不在T 中的边是A.(b,c) B.(b,d) C.(c,d) D.(c,e)12.下列排序算法中,在每一趟都能选出一个元素放到其最终位置上的是A.插入排序B.希尔排序C.归并排序D.堆排序13.若数据元素序列11,13,15,7,8,9,23,2,5是采用下列排序方法之一得到的第二趟排序后的结果,则该排序算法是A.冒泡排序B.插入排序C.选择排序D.归并排序14.线性表采用顺序存储或链式存储,对其进行查找的方法应是A.顺序查找B.二分查找C.散列查找D.索引查找15.设有序表为{1,3,9,12,32,41,45,62,75,77,82},采用二分查找法查找关键字75,查找过程中关键字之间的比较次数是A.1 B.2 C.3 D.4二、填空题16.在数据结构中,从逻辑上可以把数据结构分为线性结构和。
自考02331数据结构大纲
第1章概论1.数据结构的作用、意义、基本概念和术语,要求达到“识记”层次。
1.1数据结构所研究的内容;在计算机科学中的作用和意义;Wirth关于程序的定义公式。
1.2数据、数据元素、数据对象、数据项、数据结构等概念的定义。
1.3数据的逻辑结构、存储结构及数据运算的含义及其相互关系。
1.4数据结构的两大类逻辑结构和四种常用的存储表示方法。
2.算法的描述和分析,要求达到“领会”层次。
2.1算法、算法的时间复杂度和空间复杂度等概念。
2.2一个完整算法需要满足的五个准则;算法与程序的关系。
2.3算法的分析方法;对于一般算法能分析其时间复杂度。
第2章线性表1.线性表的逻辑结构,要求达到“识记”层次。
1.1线性表的逻辑定义和性质。
1.2线性表上定义的基本运算。
2.线性表的顺序存储结构和基本运算,要求达到“领会”层次。
2.1顺序表的定义及特点。
2.2顺序表上进行插入和删除操作的实现及时间性能分析。
2.3理解求顺序表逆置和极值及定位两种算法的实现过程。
3.线性表链式存储结构的不同形式及基本运算,要求达到“领会”层次。
3.1单链表、循环链表、双向链表的定义及特点。
3.2单链表上实现建表、查找、插入和删除等基本算法,并分析其时间复杂度。
3.3用尾指针表示单循环链表的意义。
3.4双向链表上的插入和删除操作。
4.利用顺序表和链表设计算法解决应用问题,要求达到“综合应用”层次。
5.顺序表和链表的比较,要求达到“领会”层次。
第3章栈和队列1.栈的逻辑结构、存储结构及相关算法,要求达到“简单应用”层次。
1.1栈的逻辑定义、特点及运算。
1.2顺序栈和链栈上实现进栈、退栈等基本运算。
1.3顺序栈的上溢和下溢问题,如何防止溢出。
2.队列的逻辑结构、存储结构及相关算法,要求达到“简单应用”层次。
2.1队列的逻辑定义、特点及运算。
2.2顺序循环队列的表述;队空和队满的判定;顺序循环队列上入队、出队等基本算法。
2.3链队列的表述;带头结点和不带头结点两种情况下链队列上的基本算法。
02331数据结构答案
2017年10月高等教育自学考试全国统命题考试数据结构试题答案及评分参考(课程代码02331)一、单项选择题:本大题共I 5小题,每小题2分,共30分。
1.B2.C3.B4.B5.C6.A7.B8.A9.A 10.C ll.D 12.B 13.B 14.D 15.C二、填空题:本大题其1 0小题,每小题2分.共20分。
16.无关(或不同) 17.q->next=p->next18.递归函数 19.((b ,c,d), e f,(g ,h)20.不变 21.有向无环图22.兄弟 23.)(2n O24.装填因子 25.37/12,约为3.08三、解答题:本犬题共4小题,每小题5分,共20分。
【评分说明】本题答案不唯一。
若考生给出的答案正确,同样给分27.(1) ABCEGDF ACEGBDF ADFGBCE (3分)(2) ABCDEFG ADCBFEG (2分)【评分说明】本题答案不唯一。
若考生给出的答案正确,同样给分。
28.(1)12,11,10, 01, 19, 14. 23, 27, 55, 20, 84, 79, 68 (3分)(2)4 ,2,1(2分)【评分说明】增量序列答案不唯一。
若考生给出的增量序列是递减序列,且最后一个增量是1.同样给分。
29.(1)agebfde (或其他等价答案) (4分)(2)4个 (1分)四、算法阅读题:本大题共4小题,每小题5分,共202分。
30.(1)SL1->data中的数据是{25,4,256,15,29,47,128,256,64},SL2->data 中的数据是{22,4,-63,9,-38,34.42,3}(4分)(2)该算法比较两十线性表中相同下标位置的两个元素,较大者放到较长的线性表中,较小者放到较短的线性表中。
(1分)31.(1) ACCABB (3分)(2) O(n),其中n是二叉树中所含结点个数。
(2分)32(1)j>i,j-- (2分)(2)j=1+1;j<n-i-l (2分)(3)i++ (1分)33.(1) 15 16 18 20 30 40 (3分)(2)查找二叉排序树T中所有满足kl≤key≤k2的元素,井按升序输出。
02331数据结构自考——各章要点
自考《数据结构》各章要点一第一章概论数据就是指能够被计算机识别、存储和加工处理的信息的载体。
数据元素是数据的基本单位,可以由若干个数据项组成。
数据项是具有独立含义的最小标识单位。
数据结构的定义:·逻辑结构:从逻辑结构上描述数据,独立于计算机。
·线性结构:一对一关系。
·线性结构:多对多关系。
·存储结构:是逻辑结构用计算机语言的实现。
·顺序存储结构:如数组。
·链式存储结构:如链表。
·稠密索引:每个结点都有索引项。
·稀疏索引:每组结点都有索引项。
·散列存储结构:如散列表。
·对数据的操作:定义在逻辑结构上,每种逻辑结构都有一个运算集合。
·常用的有:检索、插入、删除、更新、排序。
·数据类型:是一个值的集合以及在这些值上定义的一组操作的总称。
·原子类型:由语言提供。
·结构类型:由用户借助于描述机制定义,是导出类型。
抽象数据类型ADT:·是抽象数据的组织和与之的操作。
相当于在概念层上描述问题。
·优点是将数据和操作封装在一起实现了信息隐藏。
程序设计的实质是对实际问题选择一种好的数据结构,设计一个好的算法。
算法取决于数据结构。
算法是一个良定义的计算过程,以一个或多个值输入,并以一个或多个值输出。
评价算法的好坏的因素:·算法是正确的;·执行算法的时间;·执行算法的存储空间(主要是辅助存储空间);·算法易于理解、编码、调试。
时间复杂度:是某个算法的时间耗费,它是该算法所求解问题规模n的函数。
渐近时间复杂度:是指当问题规模趋向无穷大时,该算法时间复杂度的数量级。
评价一个算法的时间性能时,主要标准就是算法的渐近时间复杂度。
算法中语句的频度不仅与问题规模有关,还与输入实例中各元素的取值相关。
时间复杂度按数量级递增排列依次为:常数阶O(1)、对数阶O(log2n)、线性阶O(n)、线性对数阶O(nlog2n)、平方阶O(n^2)、立方阶O(n^3)、……k次方阶O(n^k)、指数阶O(2^n)。
自考02331数据结构真题及答案(2009-2018)
自考02331数据结构真题及答案(2009-2018)自考02331数据结构真题及答案(2009-2018)数据结构是计算机科学与技术领域中的一门基础课程,通过研究数据的组织、存储和管理方式,以及不同数据结构之间的相互关系和运算方法,提高算法效率和问题解决能力。
在自考02331数据结构课程中,真题及其答案对于学生来说是很重要的复习资料。
本文将提供自考02331数据结构真题及答案的综合整理,希望对广大自考学子的备考有所帮助。
一、2009年自考02331数据结构真题及答案1. (1) 数据除了数值外还可以是什么类型的?答:数据除了数值类型外还可以是字符型、字符串型、布尔型等。
(2) 数据的逻辑结构和物理结构分别指什么?答:数据的逻辑结构指数据之间的关系及其运算规律,如线性结构、树形结构、图形结构等;数据的物理结构指数据在计算机内存中的存储方式,如顺序存储、链式存储等。
2. 用C语言编写一个递归函数,计算n的阶乘。
答:以下是一个计算n的阶乘的递归函数的C语言代码:```cint factorial(int n) {if(n == 0 || n == 1) {return 1;}return n * factorial(n-1);}```二、2018年自考02331数据结构真题及答案1. 请给出二叉树的定义,并用C语言实现二叉树的结点结构。
答:二叉树是一种特殊的树结构,每个结点最多有两个子结点。
以下是用C语言实现二叉树结点结构的代码:```ctypedef struct BinaryNode {int data; // 结点存储的数据struct BinaryNode* left; // 左子结点指针struct BinaryNode* right; // 右子结点指针} BinaryNode;```2. 请解释线性表的顺序存储和链式存储,并分别给出其对应的存储结构。
答:线性表是一种数据元素之间存在一对一关系的数据结构。
02331《数据结构》自考——各章要点
自考《数据结构》各章要点一第一章概论数据就是指能够被计算机识别、存储和加工处理的信息的载体。
数据元素是数据的基本单位,可以由若干个数据项组成。
数据项是具有独立含义的最小标识单位。
数据结构的定义:·逻辑结构:从逻辑结构上描述数据,独立于计算机。
·线性结构:一对一关系。
·线性结构:多对多关系。
·存储结构:是逻辑结构用计算机语言的实现。
·顺序存储结构:如数组。
·链式存储结构:如链表。
·稠密索引:每个结点都有索引项。
·稀疏索引:每组结点都有索引项。
·散列存储结构:如散列表。
·对数据的操作:定义在逻辑结构上,每种逻辑结构都有一个运算集合。
·常用的有:检索、插入、删除、更新、排序。
·数据类型:是一个值的集合以及在这些值上定义的一组操作的总称。
·原子类型:由语言提供。
·结构类型:由用户借助于描述机制定义,是导出类型。
抽象数据类型ADT:·是抽象数据的组织和与之的操作。
相当于在概念层上描述问题。
·优点是将数据和操作封装在一起实现了信息隐藏。
程序设计的实质是对实际问题选择一种好的数据结构,设计一个好的算法。
算法取决于数据结构。
算法是一个良定义的计算过程,以一个或多个值输入,并以一个或多个值输出。
评价算法的好坏的因素:·算法是正确的;·执行算法的时间;·执行算法的存储空间(主要是辅助存储空间);·算法易于理解、编码、调试。
时间复杂度:是某个算法的时间耗费,它是该算法所求解问题规模n的函数。
渐近时间复杂度:是指当问题规模趋向无穷大时,该算法时间复杂度的数量级。
评价一个算法的时间性能时,主要标准就是算法的渐近时间复杂度。
算法中语句的频度不仅与问题规模有关,还与输入实例中各元素的取值相关。
时间复杂度按数量级递增排列依次为:常数阶O(1)、对数阶O(log2n)、线性阶O(n)、线性对数阶O(nlog2n)、平方阶O(n^2)、立方阶O(n^3)、……k次方阶O(n^k)、指数阶O(2^n)。
02331数据结构
02331数据结构《02331 数据结构》在当今数字化的时代,数据结构作为计算机科学中的重要基石,对于解决各种实际问题起着至关重要的作用。
02331 数据结构这一特定的课程或者领域,涵盖了丰富而深入的知识体系,让我们一同来探索它的奥秘。
数据结构是什么?简单来说,它是组织和存储数据的方式,以便于能够高效地访问、操作和管理这些数据。
就好比我们整理自己的房间,如果东西随意堆放,找起来会非常麻烦,但如果我们把书籍放在书架上,衣服放进衣柜,杂物放进抽屉,那么就能迅速找到我们需要的东西。
在计算机中,数据结构就是为了让数据的存储和操作变得有序和高效。
在02331 数据结构中,常见的数据结构包括数组、链表、栈、队列、树和图等。
数组是一种最简单也最常见的数据结构。
它就像一排连续的格子,每个格子都有固定的位置和编号。
优点是可以通过索引快速访问元素,但缺点是插入和删除元素比较麻烦,因为可能需要移动大量的数据。
链表则与数组不同,它的元素不是连续存储的,每个元素都包含了指向下一个元素的指针。
这使得链表在插入和删除元素时非常方便,只需要修改指针的指向即可,但访问特定位置的元素就需要从头开始遍历。
栈和队列是两种特殊的线性结构。
栈遵循“后进先出”的原则,就像往一个桶里放东西,最后放进去的会最先被拿出来。
而队列则是“先进先出”,就像排队买票,先到的先买。
树是一种分层的数据结构,其中最常见的是二叉树。
二叉树的每个节点最多有两个子节点,分别称为左子节点和右子节点。
二叉搜索树则是一种特殊的二叉树,它的左子树中的节点值都小于根节点的值,右子树中的节点值都大于根节点的值。
这使得在二叉搜索树中查找、插入和删除元素的效率很高。
图是一种更为复杂的数据结构,用于表示对象之间的关系。
图由顶点和边组成,边可以有权重,表示顶点之间的连接强度或距离。
学习 02331 数据结构,不仅仅是了解这些数据结构的定义和特点,更重要的是要学会如何在实际问题中选择合适的数据结构。
02331 数据结构 答案
绝密★启用前2018年4月高等教育自学考试全国统一命题考试数据结构试题答案(课程代码02331)一、单项选择题:本大题共15小题,每小题2分,共30分。
1.A 2.B 3.C 4.D 5.D6.C 7.D 8.B 9.D 10.C11.A 12.D 13.B 14.A 15.B二、填空题:本大题共10小题,每小题2分,共20分。
16.非线性结构17.头结点18. 320 19.(( ))20.2h-1 21.生成树22. 16 23.长度24. 32,36,l8,13,36,45,76,97,49,53 25.基数排序三、解答题:本大题共4小题,每小题5分,共20分。
26.答案:(1)判断栈满int stackfull( SeqStack *s){ return s->topl+1 == s->top2;}(2)进栈void push(SeqStack*s, int si, DataTypex){ if ( stackfull( s))printf( "satck overflow");else{ if (si==0)s->data[ ++s->topl] = x;else s->data[ --s->top2] = x;}}27.答案:①C ②H ③D ④E ⑤H ⑥D ⑦B ⑧E ⑨G ⑩A28.答案:(1)是有向无环图。
(2)该图的拓扑排序序列有:(1,2,5,4,7,3,6)和(1,2,5,4,3,7,6)29.答案:(1)散列表是(2) ASL查找成功=12/8 =1.5四、算法阅读题:本大题共4小题,每小题5分,共20分。
30.答案:(1) Q->rear==Q->front(2) (Q->rear+l)%QueueSize(3) (Q->front+l)%QueueSize31.答案(1)*a(2)k ++(3) k32.答案:输出结果:7,3,9,6,1,5,2,8,433.答案:输出结果:62,32,21,23,25,5,10,1,20,9五、算法设计题:本题10分。
自考数据结构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分)请在每小题的空格中填上正确答案。
自考数据结构02331知识点
1、二叉树并非是树的特殊情形,它们是两种不同的数据结构。
2、在有序树中,虽然一个结点的孩子之间是有左右次序的,但是若该结点只有一个孩子,就无须区分其左右次序。
而在二叉树中,即使是一个孩子也有左右之分。
3、在直接插入排序中,每次取出的未排序数字是从后往前依次比较的。
如:对于记录(54,38,96,23,15,72,60,45,83),当把第7个记录60插入时,需比较3 次。
解:前6个已排序好记录15,23,38,54,72,96,所以从后往前要比较96,72和54。
在快速排序中,前后的i和j是从后面的j开始比较的,比较者不动,被替换者后(前)移如:对于记录(51,22,83,46,75,18,68,30)解:第一趟划分:哨兵R[0]=i=51,先从j=30比较,30<51,30替换51,i=22,i≯51,后移i=83,83>51,83替换30,j=68,依次继续。
冒泡排序中,最好与最坏时间复杂度不相同。
无论待排序列是否有序(即不受数据初始状态影响),时间复杂度都是O(n2)的排序算法是直接选择排序。
记录关键字比较次数与记录的初始排列次序无关的是直接选择排序。
在待排序的记录关键字序列基本有序的前提下,效率最高的排序方法是直接插入排序,效率最低的是快速排序。
2013.1.23对同一个基本有序的待排序序列分别进行堆排序、快速排序和冒泡排序,最省时间的是4、对于哈夫曼编码,应该先构造哈夫曼树:每次取权值最小的两个结点(包含新生成的结点)放一起生成新结点。
至于左右孩子之分,按照编码字出现的先后顺序去决定(还是左小右大)。
关于哈夫曼树的一些解释:哈夫曼树不唯一,和你左右子树的编码有关。
但最小带权路径长度唯一。
你记住每次都是从集合中寻找两个最小元素,权值相加之后形成的那个元素得重新放入集合参与新的比较。
递归下去生成的树才没有问题,否则弄不好就是一个单枝树上去了。
你最好采取我建议的规则,自己设置一个优先级。
自考02331数据结构大纲
第1章概论1.数据结构的作用、意义、基本概念和术语,要求达到“识记”层次。
1.1数据结构所研究的内容;在计算机科学中的作用和意义;Wirth关于程序的定义公式。
1.2数据、数据元素、数据对象、数据项、数据结构等概念的定义。
1.3数据的逻辑结构、存储结构及数据运算的含义及其相互关系。
1.4数据结构的两大类逻辑结构和四种常用的存储表示方法。
2.算法的描述和分析,要求达到“领会”层次。
2.1算法、算法的时间复杂度和空间复杂度等概念。
2.2一个完整算法需要满足的五个准则;算法与程序的关系。
2.3算法的分析方法;对于一般算法能分析其时间复杂度。
第2章线性表1.线性表的逻辑结构,要求达到“识记”层次。
1.1线性表的逻辑定义和性质。
1.2线性表上定义的基本运算。
2.线性表的顺序存储结构和基本运算,要求达到“领会”层次。
2.1顺序表的定义及特点。
2.2顺序表上进行插入和删除操作的实现及时间性能分析。
2.3理解求顺序表逆置和极值及定位两种算法的实现过程。
3.线性表链式存储结构的不同形式及基本运算,要求达到“领会”层次。
3.1单链表、循环链表、双向链表的定义及特点。
3.2单链表上实现建表、查找、插入和删除等基本算法,并分析其时间复杂度。
3.3用尾指针表示单循环链表的意义。
3.4双向链表上的插入和删除操作。
4.利用顺序表和链表设计算法解决应用问题,要求达到“综合应用”层次。
5.顺序表和链表的比较,要求达到“领会”层次。
第3章栈和队列1.栈的逻辑结构、存储结构及相关算法,要求达到“简单应用”层次。
1.1栈的逻辑定义、特点及运算。
1.2顺序栈和链栈上实现进栈、退栈等基本运算。
1.3顺序栈的上溢和下溢问题,如何防止溢出。
2.队列的逻辑结构、存储结构及相关算法,要求达到“简单应用”层次。
2.1队列的逻辑定义、特点及运算。
2.2顺序循环队列的表述;队空和队满的判定;顺序循环队列上入队、出队等基本算法。
2.3链队列的表述;带头结点和不带头结点两种情况下链队列上的基本算法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2007年10月高等教育自学考试全国统一命题考试
数据结构试卷
(课程代码2331)
本试卷共12页,满分100分;考试时间150分钟。
一、单项选择题(本大题共15小题,每小题2分,共30分)
在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.下面程序段的时间复杂度为
A.O(1) B.O(log n)
C.O(n) D.O(n2)
2.已知指针p和q分别指向某单链表中第一个结点和最后一个结点。
假设指针s指向另一个单链表中某个结点,则在8所指结点之后插入上述链表应执行的语句为【】
3.在计算机内实现递归算法时所需的辅助数据结构是【】
A.栈B.队列
C.树D.图
4.假设以数组A[m]存放循环A[m]的元素。
已知队列的长度为length,指针rear指向队尾元素的下一个存储位置。
则队头元素所在的存储位置为【】
5.通常将链串的结点大小设置为大于l是为了【】
A.提高串匹配效率B.提高存储密度
C.便于插入操作D.便于删除操作
6.带行表的三元组表是稀疏矩阵的一种【】
A.顺序存储结构B.链式存储结构
C.索引存储结构D.散列存储结构
7.表头和表尾均为空表的广义表是【】
A.( ) B.( ( ) )
C.( ( ( ) ) ) D.( ( ),( ) )
8.用二叉链表表示具有n个结点的二叉树时,值为空的指针域的个数为【】A.n-1 B.n
C.n+l D.2n
9.为便于判别有向图中是否存在回路,可借助于【】
A.广度优先搜索算法B.最小生成树算法
C.最短路径算法D.拓扑排序算法
10.连通网的最小生成树是其所有生成树中【】
A.顶点集最小的生成树B.边集最小的生成树
C.顶点权值之和最小的生成树D.边的权值之和最小的生成树
11.按排序过程中依据的原则分类,快速排序属于【】
A.插入类的排序方法B.选择类的排序方法
C.交换类的排序方法D.归并类的排序方法
12.下列关键字序列中。
构成小根堆的是【】
A.{84,46,62,41,28,58,15,37}
B.{84,62,58,46,4l,37,28,15}
C.{15,28,46,37,84,41,58,62}
D.{15,28,46,37,84,58,62,41}
13.在长度为32的有序表中进行二分查找时,所需进行的关键字比较次数最多为【】A.4 B.5
C.6 D.7
14.假设在构建散列表时,采用线性探测解决冲突。
若连续插入的n个关键字都是同义词,则查找其中最后插入的关键字时,所需进行的比较次数为【】
A.n-1 B.n
C.n+l D.n+2
15.散列文件也称为【】
A.顺序文件B.索引文件
C.直接存取文件D.间接存取文件
二、填空题(本大题共10小题,每小题2分,共20分)
请在每小题的空格中填上正确答案。
错填、不填均无分。
16.数据的逻辑结构描述数据元素之间的________________________,与存储方式无关。
17.在一个长度为100的顺序表中删除第10个元素时,需移动________________________个元素。
18.队列的队尾位置通常是随着________________________操作而变化的。
19.两个空串联接得到的串的长度为________________________。
20.设对称矩阵A压缩存储在一维数组B中,其中矩阵的第一个元素a11存储在B[0],元素a52存储在B[11],则矩阵元素a36存储在B[________________________]中。
21.已知一棵哈夫曼树含有60个叶子结点,则该树中共有________________________个非叶子结点。
22.如图所示的有向图中含有________________________个强连通分量。
23.已知一组关键字为{15,36,28,97,24,78,47,52,13,86},其中每相邻两个关键字构成一个有序子序列。
对这些子序列进行一趟两两归并的结果是
____________________。
24.从空树起,依次插人关键字Il,27,35,48,52,66和73构造所得的二叉排序树,在等概率查找的假设下,查找成功时的平均查找长度为____________________。
25.控制区间和控制区域是____________________文件的逻辑存储单位。
三、解答题(本大题共4小题,每小题5分,共20分)
26.利用广义表的head和tail操作.可从广义表
L=((a,b),(c,d))
中分解得到原子C,其操作表达式为
head(head(tail(L)));
分别写出从下列广义表中分解得到b的操作表达式。
(1)L1=(a.b,c,d);
(2)L2=(((a),(b),(c),(d)))。
(1)
(2)
27.画出与如图所示森林对应的二叉树。
28.已知有向图G的定义如下:
G=(V,E)
V={a,b,c,d,e}
E={<a,b>,<a,c>,<b,c>,<b,d>,<c,d>,<e,c>,<e,d>}
(1)画出G的图形;
(2)写出G的全部拓扑序列。
(1)
(2)
29.已知3阶B—树如图所示。
(1)画出将关键字88插入之后的B-树;
(2)画出将关键字47和66依次插入之后的B-树。
(1)
(2)
四、算法阅读题(本大题共4小题,每小题5分,共20分)
30.假设某个不设头指针的无头结点单向循环链表的长度大于1,s为指向链表中某个结点的指针。
算法f 30的功能是,删除并返回链表中指针s所指结点的前驱。
请在空缺处填入合适的内容,使其成为完整的算法。
(1)
(2)
(3)
31.算法f 3l的功能是清空带头结点的链队列Q。
请在空缺处填入合适的内容,使其成为一个完整的算法。
(1)
(2)
(3)
32.分配的顺序串HString作为串的存储结构。
该类型实现的串操作函数原型说明如下:
(1)
(2)
33.假设以二叉链表作为二叉树的存储结构,其类型定义如下:
(1)
(2)
五、算法设计题(本大题10分)
34.假设以带头结点的单链表表示有序表,单链表的类型定义如下:
编写算法,输入n个整数构造一个元素值互不相同的递增有序链表(即相同的整数只取一个)。
算法的函数原型给定为。