2010年全国自考数据结构模拟试卷(三)及答案
全国2010年1月高等教育自学考试数据结构试题及答案
全国2010年1月高等教育自学考试数据结构试题(课程代码:02331)一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.若一个算法的时间复杂度用T(n)表示,其中n的含义是()A.问题规模B.语句条数C.循环层数D.函数数量2.具有线性结构的数据结构是()A.树B.图C.栈和队列D.广义表3.将长度为n的单链表连接在长度为m的单链表之后,其算法的时间复杂度为()A.O(1) B.O(m)C.O(n) D.O(m+n)4.在带头结点的双向循环链表中插入一个新结点,需要修改的指针域数量是()A.2个B.3个.C.4个D.6个5.假设以数组A[60]存放循环队列的元素,其头指针是front=47,当前队列有50个元素,则队列的尾指针值为()A.3 B.37C.50 D.976.若栈采用链式存储结构,则下列说法中正确的是()A.需要判断栈满且需要判断栈空B.不需要判断栈满但需要判断栈空C.需要判断栈满但不需要判断栈空D.不需要判断栈满也不需要判断栈空7.若串str=”Software”,其子串的数目是()A.8 B.9C.36 D.378.设有一个10阶的下三角矩阵A,采用行优先压缩存储方式,a ll为第一个元素,其存储地址为1000,每个元素占一个地址单元,则a85的地址为()A.1012 B.1017C.1032 D.10399.允许结点共享的广义表称为()A.纯表B.线性表C.递归表D.再入表10.下列数据结构中,不属于二叉树的是()A.B树B.AVL树C.二叉排序树D.哈夫曼树11.对下面有向图给出了四种可能的拓扑序列,其中错误..的是()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为起始结点对下图进行深度优先遍历,正确的遍历序列是()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.快速排序B.归并排序C.冒泡排序D.直接插入排序14.一个有序表为(1,3,9,12,32,41,45,62,75,77,82,95,100),当采用折半查找方法查找值32时,查找成功需要的比较次数是()A.2 B.3C.4 D.815.采用ISAM组织文件的方式属于()A.链组织B.顺序组织C.散列组织D.索引组织二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。
2010年全国自考数据库系统原理模拟试卷(三)及答案
更多优质自考资料,请访问自考乐园俱乐部/club/5346389 2010年全国自考数据库系统原理模拟试卷(三)一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.对关系R进行投影运算后,得到关系S,则()A.关系R的元组数等于关系S的元组数B.关系R的元组数小于关系S的元组数C.关系R的元组数大于或等于关系S的元组数D.关系R的元组数大于关系S的元组数答案:C2.实体是()A.属于现实世界B.计算机世界C.关系代数理论D.信息世界答案:D3.若事务T对数据R已加X锁,则其他对数据R()A.可以加S锁不能加X锁B.不能加S锁可以加X锁C.可以加S锁也可以加X锁D.不能加任何锁答案:D4.HAVING子句中应后跟()A.行条件表达式B.组条件表达式C.视图序列D.列名序列答案:B5.按照传统的数据模型分类,数据库系统可分为三种类型()A.大型、中型和小型B.西文、中文和兼容C.层次、网状和关系D.数据、图形和多媒体答案:C6.元数是指()A.关系的个数B.关系中属性的个数C.关系中属性的值域D.关系中元组的个数答案:B 更多优质自考资料,请访问自考乐园俱乐部/club/53463897.关系规范化中的删除操作异常是指(),插入操作异常是指()A.不该删除的数据被删除B.不该插入的数据被插入C.应该删除的数据未被删除D.应该插入的数据未被插入答案:D8.后备副本的用途是()A.数据转储B.一致性控制C.安全性保证D.故障恢复答案:D9.解决并发操作带来的数据不一致性问题普遍采用()A.封锁B.恢复C.存取控制D.协商答案:A10.在二元关系模式R(U,F)中,X、Y都是单一属性,则R最高可以达到()A.2NFB.3NFC.BCNFD.4NF答案:C11.层次模型不能直接表示()A.1:1关系B.1:m关系C.m:n关系D.1:1和1:m关系答案:C更多优质自考资料,请访问自考乐园俱乐部/club/534638912.在定义分布式数据库的各种片段时必须遵守的条件是完备性条件,重构条件和()A.安全性条件B.数据一致性条件C.不相交条件D.数据完整性条件答案:C13.关系笛卡尔积运算记号R×S中()A.R为关系名,S为属性名B.R,S均为属性名C.R为属性名,S为关系名D.R,S均为关系名答案:D14.关于两段封锁协议,下列说法正确的是()A.如果存在事务不遵守两段封锁协议,那么它们的并发调度不是可串行化的B.如果存在事务不遵守两段封锁协议,它们的并发调度也是可串行化的C.如果所有事务都是两段式的,那么它们的并发调度是可串行化的D.两段式封锁是可串行化的必要条件,但不是充分条件答案:C15.数据字典不包括()A.数据结构B.数据流C.数据存储D.加工细节答案:D二、填空题(本大题共10小题,每小题1分,共10分)请在每小题的空格上填上正确答案。
2010年10月自考数据结构试题及答案
1 / 72010年10月全国自考数据结构试题课程代码:02331一、单项选择题(本大题共15小题,每小题2分,共30分) 1.数据的四种存储结构是(A )A.顺序存储结构、链接存储结构、索引存储结构和散列存储结构B.线性存储结构、非线性存储结构、树型存储结构和图型存储结构C.集合存储结构、一对一存储结构、一对多存储结构和多对多存储结构D.顺序存储结构、树型存储结构、图型存储结构和散列存储结构2.若对某线性表最常用的操作是在最后一个结点之后插入一个新结点或删除最后一个结点,要使操作时间最少,下列选项中,应选择的存储结构是(C ) A.无头结点的单向链表 B.带头结点的单向链表 C.带头结点的双循环链表D.带头结点的单循环链表3.若带头结点的单链表的头指针为head ,则判断链表是否为空的条件是(B ) A.head=NULL B.head->next=NULL C.head!=NULLD.head->next!=head4.若元素的入栈顺序为1,2,3....,n ,如果第2个出栈的元素是n ,则输出的第i(1<=i<=n)个元素是(D )A.n-iB.n-i+lC.n-i+2D.无法确定5.串匹配算法的本质是(C )A.串复制B.串比较C.子串定位D.子串链接6.设有一个10阶的对称矩阵A ,采用行优先压缩存储方式,a 11为第一个元素,其存储地址为1,每个元素占一个字节空间,则a 85的地址为(C ) A.13 B.18 C.33D.407.若一棵二叉树的前序遍历序列与后序遍历序列相同,则该二叉树可能的形状是(B ) A.树中没有度为2的结点 B.树中只有一个根结点 C.树中非叶结点均只有左子树D.树中非叶结点均只有右子树8.若根结点的层数为1,则具有n 个结点的二叉树的最大高度是(A )A.nB.2log n ⎢⎥⎣⎦C.2log n ⎢⎥⎣⎦+1D.n/2 9.在图G 中求两个结点之间的最短路径可以采用的算法是(A )2 / 7A.迪杰斯特拉(Dijkstra )算法B.克鲁斯卡尔(Kruskal )算法C.普里姆(Prim)算法D.广度优先遍历(BFS)算法10.下图G=(V,E)是一个带权连通图,G 的最小生成树的权为(D ) A.15 B.16 C.17 D.1811.在下图中,从顶点1出发进行深度优先遍历可得到的序列是(B ) A.1 2 3 4 5 6 7 B.1 4 2 6 3 7 5 C.1 4 2 5 3 6 7 D.1 2 4 6 5 3 712.如果在排序过程中不改变关键字相同元素的相对位置,则认为该排序方法是(B ) A.不稳定的 B.稳定的 C.基于交换的D.基于选择的13.设有一组关键字(19, 14, 23, 1,6,20, 4,27, 5,11, 10, 9),用散列函数H(key)=key%13构造散列表,用拉链法解决冲突,散列地址为1的链中记录个数为(C ) A.1 B.2 C.3D.414.已知二叉树结点关键字类型为字符,下列二叉树中符合二叉排序树性质的是(D)15.若需高效地查询多关键字文件,可以采用的文件组织方式为(D)A.顺序文件B.索引文件C.散列文件D.倒排文件二、填空题(本大题共10小题,每小题2分,共20分)16.下面程序段的时间复杂度为(O(n))。
2010年全国自考数据结构模拟试卷(五)及答案
2010年全国⾃考数据结构模拟试卷(五)及答案更多优质⾃考资料,请访问⾃考乐园俱乐部/doc/c4c066f8941ea76e58fa043c.html /club/5346389 2010年全国⾃考数据结构模拟试卷(五)⼀、单项选择题(本⼤题共15⼩题,每⼩题2分,共30分)在每⼩题列出的四个备选项⽬中只有⼀个是符号题⽬要求的,请将其代码填写的括号内.错选、多选或未选均⽆分。
1.设矩阵A(aij,1≤i,j≤10)的元素满⾜:aij≠0(i≥j,1≤i,j≤10)aij=0(i现将A的所有⾮0元素以⾏序为主序存放在⾸地址为2000的存储区域中,每个元素占4个单元,则元素[9,5]的⾸地址为()A.2160B.2164C.2336D.2340答案:A2.循环队列⽤数组A[0…m-1]存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是()A.(rear-front+m)MOD mB.rear-fomt+1C.rear-fribt-1D.rear-front答案:A3.任何⼀个带权的⽆向连通图的最⼩⽣成树()A.只有⼀棵B.有⼀棵或多棵C.⼀定有多棵D.可能不存在答案:B4.设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5和e6依次通过栈S,⼀个元素出栈后即进⼊队列Q,若6个元素出列的顺序是e2、e4、e3、e6、e5、e1,则栈S的容量⾄少应该是()A. 6B. 4C. 3D. 2答案:C5.磁带适合存储的⽂件类型是()B.顺序⽂件C.散列⽂件D.多关键字⽂件答案:B6.带头结点的单链表head为空的判断条件是()A.head=NULLB.head->next=NULLC.head->next=headD.head!=NULL答案:B7.在下图中,从顶点V1出发,按⼴度优选遍历图的顶点序列是()A.V1V5V3V4V2V6V7B.V1V5V3V4V2V7V6C.V1V7V2V6V4V5V3D.V1V2V4V7V6V5V3答案:A8.已知⼀棵⼆叉树结点的先根序列为ABDGCFK,中根序列为DGBAFCK,则结点的后根序列为()A.ACFKBDGB.GDBFKCAC.KCFAGDBD.ABCDFKG答案:B9.C语⾔数组Data[m+1]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执⾏出队操作的语句为()A.front=front+1B.front=(front+1)%mC.rear=(rear+1)%mD.front=(front+1)%(m+1)答案:D10.任何⼀个带权的⽆向连通图的最⼩⽣成树()A.只有⼀棵B.有⼀棵或多棵C.⼀定有多棵D.可能不存在11.将含有83个结点的完全⼆叉树从根结点开始编号,根为1号,后⾯按从上到下、从左到右的顺序对结点编号,那么编号为41的结点的双亲结点编号为()A.42B.40C.21D.20答案:D12.采⽤分治法进⾏排序的⽅法是()A.快速排序B.插⼊排序C.堆排序D.希尔排序答案:A13.设深度为k的⼆叉树上只有度为0和度为2的结点,则这类⼆叉树上所含结点总数量少()个。
自考数据结构试题及答案
自考数据结构试题及答案一、选择题(每题2分,共10分)1. 在数据结构中,线性表的顺序存储结构通常使用什么数据类型来存储元素?A. 数组B. 链表C. 栈D. 队列答案:A2. 下列关于栈的描述中,错误的是:A. 栈是一种后进先出(LIFO)的数据结构B. 栈顶元素可以被访问和修改C. 栈底元素可以被访问和修改D. 栈可以进行插入和删除操作答案:C3. 在二叉树的遍历算法中,先访问根节点,然后访问左子树,最后访问右子树的遍历方式是:A. 前序遍历B. 中序遍历C. 后序遍历D. 层序遍历答案:A4. 哈希表的冲突解决方法中,链地址法的基本思想是:A. 将冲突的元素存储在同一个数组位置B. 将冲突的元素存储在不同的数组位置C. 将冲突的元素存储在链表中D. 将冲突的元素存储在树中答案:C5. 下列算法中,不属于排序算法的是:A. 冒泡排序B. 快速排序C. 深度优先搜索D. 归并排序答案:C二、填空题(每题2分,共10分)1. 在数据结构中,_________是指元素之间存在一对一关系的线性结构。
答案:线性表2. 递归算法的基本思想是将问题分解为若干个规模更小的相同问题,然后_________。
答案:递归求解3. 在图的遍历算法中,广度优先搜索(BFS)通常使用_________数据结构来实现。
答案:队列4. 一个长度为n的有序数组,使用二分查找算法查找一个元素的时间复杂度为_________。
答案:O(log n)5. 哈夫曼编码是一种用于数据压缩的编码方法,它是一种_________编码。
答案:可变长三、简答题(每题5分,共20分)1. 请简述链表和数组在存储结构上的主要区别。
答案:链表的存储结构是动态的,每个元素包含数据和指向下一个元素的指针,而数组的存储结构是静态的,元素在内存中连续存储。
2. 什么是图的深度优先搜索(DFS)算法?请简述其基本步骤。
答案:深度优先搜索(DFS)算法是一种遍历图的算法,它从一个顶点开始,尽可能深地搜索图的分支。
自考C++试题及答案-3-4.
2010年全国自考C++程序设计模拟试卷(三)一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1. 设有定义int i;double j=5;,则10+i+j值的数据类型是()A. intB. doubleC. floatD. 不确定2. 要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为()A. const char *p=“ABCD”;B. char *const p=“ABCD”;C. char const *p=“ABCD”;D. const char * const p=“ABCD”;3. 类的构造函数被自动调用执行的情况是在定义该类的()A. 成员函数时B. 数据成员时C. 对象时D. 友元函数时4. 已知类A是类B的友元,类B是类C的友元,则()A. 类A一定是类C的友元B. 类C一定是类A的友元C. 类C的成员函数可以访问类B的对象的任何成员D. 类A的成员函数可以访问类B的对象的任何成员5. 假定一个类的构造函数为“A(int i=4, int j=0) {a=i;b=j;}”, 则执行“A x (1);”语句后,和的值分别为()A. 1和0B. 1和4C. 4和0D. 4和16. 关于this指针使用说法正确的是()A. 保证每个对象拥有自己的数据成员,但共享处理这些数据的代码B. 保证基类私有成员在子类中可以被访问。
C. 保证基类保护成员在子类中可以被访问。
D. 保证基类公有成员在子类中可以被访问。
7. 所谓多态性是指()A. 不同的对象调用不同名称的函数B. 不同的对象调用相同名称的函数C. 一个对象调用不同名称的函数D. 一个对象调用不同名称的对象8. 友元关系不能()A. 提高程序的运行效率B. 是类与类的关系C. 是一个类的成员函数与另一个类的关系D. 继承9. 语句ofstream f(“”,ios::app|ios::binary)?的功能是建立流对象f,试图打开文件并与之连接,并且()A. 若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B. 若文件存在,将其置为空文件;若文件不存在,打开失败C. 若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D. 若文件存在,打开失败;若文件不存在,建立一个新文件10. 构造函数不具备的特征是()A. 构造函数的函数名与类名相同B. 构造函数可以重载C. 构造函数可以设置默认参数D. 构造函数必须指定类型说明11. 在公有继承的情况下,基类的公有或保护成员在派生类中的访问权限()A. 受限制B. 保持不变C. 受保护D. 不受保护12. 假定一个类的构造函数为A(int aa,int bb) {a=aa--;b=a*bb;},则执行A x(4,5);语句后,和的值分别为()A. 3和15B. 5和4C. 4和20D. 20和513. C++对C语言做了很多改进,即从面向过程变成为面向对象的主要原因是()A. 增加了一些新的运算符B. 允许函数重载,并允许设置缺省参数C. 规定函数说明符必须用原型D. 引进了类和对象的概念14. 在类中说明的成员可以使用关键字的是()A. publicB. externC. cpuD. register15. C++语言中所有在函数中定义的变量,连同形式参数,都属于()A. 全局变量B. 局部变量C. 静态变量D. 函数16. 在私有继承的情况下,基类成员在派生类中的访问权限()A. 受限制B. 保持不变C. 受保护D. 不受保护17. 使用地址作为实参传给形参,下列说法正确的是()A. 实参是形参的备份B. 实参与形参无联系C. 形参是实参的备份D. 实参与形参是同一对象18. C++的继承性允许派生类继承基类的()A. 部分特性,并允许增加新的特性或重定义基类的特性B. 部分特性,但不允许增加新的特性或重定义基类的特性C. 所有特性,并允许增加新的特性或重定义基类的特性D. 所有特性,但不允许增加新的特性或重定义基类的特性19. 对于int *pa[5];的描述,正确的是()A. pa是一个指向数组的指针,所指向的数组是5个int型元素B. pa是一个指向某个数组中第5个元素的指针,该元素是int型变量C. pa[5]表示某个数组的第5个元素的值D. pa是一个具有5个元素的指针数组,每个元素是一个int型指针20. 以下基类中的成员函数表示纯虚函数的是()A. virtual void tt()=0B. void tt(int)=0C. virtual void tt(int)D. virtual void tt(int){}二、填空题(本大题共20小题,每小题1分,共20分)请在每小题的空格中填上正确答案。
数据结构真题及答案(2010)
杭州电子科技大学2010《数据结构》真题及解析一、是非题(每小题2分,共20分)1.线性表的顺序存储结构优于链式存储结构。
2.栈和队列也是线性表。
如果需要,可对它们中的任一元素进行操作。
3.非空广义表的表头和表尾都有可能是原子或广义表。
4.在二叉树的先序遍历序列中,任意-个结点均处在其孩子结点的前面。
5.通常,在二叉树的第i层上有2^i-1个结点。
6.二叉树按某种次序线索化后,任一结点均有指向其前驱和后继的线索指针。
6.赫夫曼树中的结点个数一定是奇数。
8.用邻接矩阵(数组表示法)存储一个图时,所需的存储空间大小与图的边数无关。
9.对于一棵m阶的B-树而言.树中每个结点至多有m个关键字,除根之外的所有非终端结点至少有┌m/2┐个关键字。
10.对于任何待排序序列来说,快速排序均快于冒泡排序。
二、选择题(每小题2分,共20分)1.递归过程可借助于_____转化为非递归过程。
A:线性表 B:队列 C:栈 D:数组2.循环队列用数组A[0..m-1]存放其元素值,设头尾游标分别为front(队头元素的位置)和rear(队尾元素的位置),则当前队列中的元素个数是_______。
A: rear-front B: rear-front+1C: (rear-front+m)%m D: (rear-front+1+m)%m3.对广义表A=((a, (6)),(c,()),d)执行操作gettail(gethead(gettail (A)))的结果是:________。
A:() B:(()) C:d D:(d)4.对二叉排序树______可得到有序序列。
A:按层遍历 B:前序遍历C:中序遍历 D:后序遍历5.在有n个结点的二叉树的二叉链表表示中,空指针数为________。
A:不定 B: n+1 C:n D:n-16.图示的三棵二叉树中_____为最优二叉树。
A: B: C:7.设无向图G=(V,E)和G=(V′,E′),若G′是G的生成树,则下面不正确的说法是_________。
全国2010年1月自考数据结构导论考试试题,答案,笔记
全国2010年1月自考数据结构导论考试试题,答案,笔记全国2010年1月高等教育自学考试数据结构导论试题课程代码:02142一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.下述文件中适合于磁带存储的是( A )A.顺序文件B.索引文件C.散列文件D.多关键字文件2.某二叉树的后根遍历序列为dabec,中根遍历序列为debac,则先根遍历序列为( D )A.acbedB.becabC.deabcD.cedba3.含有n个结点的二叉树用二叉链表表示时,空指针域个数为( C )A.n-1B.nC.n+1D.n+2 注:子域为2n个,有n-1个孩子。
4.在一个图中,所有顶点的度数之和与图的边数的比是( C)A.1∶2B.1∶1C.2∶1D.4∶15.长度为n的链队列用单循环链表表示,若只设头指针,则出队操作的时间复杂度为( A)A.O(1)B.O(1og2n) 二分法注:若只有尾指针,那么入和出都为O(1)C.O(n) (入队)D.O(n2) -冒泡6.下述几种排序方法中,要求内存量最大的是( C )A.插入排序B.快速排序C.归并排序D.选择排序7.对n个不同值进行冒泡排序,在元素无序的情况下比较的次数为( D)A.n-1B.nC.n+1D.n(n-1)/28.对线性表进行二分查找时,要求线性表必须( C)A.以顺序方式存储B.以链式方式存储C.以顺序方式存储,且结点按关键字有序排列D.以链接方式存储,且结点按关键字有序排列9.在表长为n的顺序表上做删除运算,其平均时间复杂度为( B )A.O(1)B.O(n) 注:在双向循环链表中,删除最后一个结点C.O(nlog2n)D.O(n2) 的时间复杂度为O(1)10.当利用大小为n 的数组顺序存储一个队列时,该队列的最大容量为( B )A.n-2B.n-1C.nD.n+1 11.有关插入排序的叙述,错误的...是( C)A.插入排序在最坏情况下需要O(n 2)时间B.插入排序在最佳情况可在O(n)时间内完成C.插入排序平均需要O(nlog 2n)时间-----快速排序需要o (nlog2n )D.插入排序的空间复杂度为O(1) 12.有关树的叙述正确的是( C)A.每一个内部结点至少有一个兄弟B.每一个叶结点均有父结点C.有的树没有子树D.每个树至少有一个根结点与一个叶结点。
数据结构自考试题及答案
数据结构自考试题及答案一、单项选择题(每题1分,共10分)1. 在数据结构中,最基本的数据结构是()。
A. 线性结构B. 非线性结构C. 顺序结构D. 链式结构答案:A2. 线性表的顺序存储结构和链式存储结构相比,其主要优点是()。
A. 存储密度高B. 存储密度低C. 存储空间少D. 插入和删除操作快答案:A3. 在一个长度为n的顺序表中,删除第i个元素(1≤i≤n)时,需要移动的元素个数为()。
A. i-1B. n-iC. n-i+1D. n-1答案:C4. 栈的基本运算中,不包括()。
A. 入栈B. 出栈C. 读栈顶元素D. 判断栈空答案:D5. 队列的特点是()。
A. 先进先出B. 先进后出C. 后进先出D. 后进后出答案:A6. 树的深度为5,其中度为3的结点最多有()个。
A. 3B. 7C. 9D. 15答案:D7. 在二叉树的前序遍历序列、中序遍历序列、后序遍历序列中,唯一与树的形态一一对应的序列是()。
A. 前序遍历序列B. 中序遍历序列C. 后序遍历序列D. 无法确定答案:A8. 在图的遍历过程中,若某结点的入度为0,则该结点()。
A. 一定为起点B. 一定为终点C. 可以为起点或终点D. 既不是起点也不是终点答案:C9. 哈夫曼编码是一种()。
A. 定长编码B. 变长编码C. 唯一编码D. 非唯一编码答案:B10. 用邻接矩阵表示图时,若该图是无向图,则其邻接矩阵一定是()。
A. 对称矩阵B. 非对称矩阵C. 稀疏矩阵D. 密集矩阵答案:A二、填空题(每题2分,共20分)1. 在数据结构中,算法的时间复杂度是指算法执行过程中所需要的基本运算次数与输入数据量之间的关系。
算法的时间复杂度通常用大O符号表示,例如,O(n)表示时间复杂度与输入数据量成______关系。
答案:线性2. 线性表的两种存储结构分别是顺序存储结构和______存储结构。
答案:链式3. 在栈中,栈顶元素是最后被插入的元素,遵循______原则。
2010年1月自考数据结构试题和答案
2010年1月高等教育考试数据结构试题和答案课程代码:02331一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.若一个算法的时间复杂度用T(n)表示,其中n的含义是(A)A.问题规模B.语句条数C.循环层数D.函数数量2.具有线性结构的数据结构是(C)A.树B.图C.栈和队列D.广义表线性结构有:顺序表、栈和队列、串3.将长度为n的单链表连接在长度为m的单链表之后,其算法的时间复杂度为(C)A.O(1) B.O(m)C.O(n)D.O(m+n)4.在带头结点的双向循环链表中插入一个新结点,需要修改的指针域数量是(D)A.2个B.3个C.4个D.6个P28中void DInsertBefore(DListNode *p,DataType x)//在带头结点的双链表中,将值为x的新结点插入结点*p之前,设p≠NULL{DListNode *s=malloc(sizeof(ListNode)); ①s->data=x; ②s->prior=p->prior; ③s->next=p; ④p->prior->next=s; ⑤p->prior=s; ⑥}5.假设以数组A[60]存放循环队列的元素,其头指针是front=47,当前队列有50个元素,则队列的尾指针值为(D)A.3 B.37C.50 D.97辅导书P22中对于循环向量中的循环队列,写出通过队头队尾指针表示的队列长度公式。
(front指向实际队头,rear指向实际队尾的下一元素位置。
)当rear≥front时,队列长度L=rear-front;当rear<front时,L=m+(rear-front)。
这两种情况可统一为L=(m+(rear-front))%m,这里m为向量的大小。
本题中m=606.若栈采用链式存储结构,则下列说法中正确的是(B)A.需要判断栈满且需要判断栈空B.不需要判断栈满但需要判断栈空C.需要判断栈满但不需要判断栈空D.不需要判断栈满也不需要判断栈空P36中因为链栈中的结点是动态分配的,可以不考虑上溢,所以无需定义stackFull运算。
自考数据结构试题及答案
自考数据结构试题及答案一、选择题1. 在数据结构中,算法的复杂性主要包括时间复杂性和空间复杂性。
以下哪个选项不属于算法复杂性的一部分?A. 时间复杂性B. 空间复杂性C. 逻辑复杂性D. 性能复杂性答案:C2. 假设有一个栈,其元素从上到下依次是A、B、C、D。
如果现在要弹出所有的元素,那么弹出的顺序是什么?A. D、C、B、AB. A、B、C、DC. B、C、D、AD. C、B、D、A答案:A3. 在二叉树的遍历中,前序遍历的顺序是什么?A. 先根,后左,后右B. 先左,后根,后右C. 先右,后根,后左D. 先根,后右,后左答案:A4. 哈希表的冲突可以通过多种方式解决,其中不是解决冲突的方法是:A. 开放寻址法B. 链地址法C. 线性探测法D. 建立公共溢出区答案:C5. 以下哪个排序算法是稳定的?A. 快速排序B. 归并排序C. 堆排序D. 选择排序答案:B二、填空题6. 在单链表中,删除节点的操作需要提供________和________两个参数。
答案:前驱节点;节点数据7. 一个长度为n的数组,如果采用二分查找法,查找元素的时间复杂度是________。
答案:O(log n)8. 假设有一个图,其顶点数为V,边数为E,如果不使用任何优化手段,该图的邻接矩阵存储方式所需的空间复杂度是________。
答案:O(V^2)9. 一个具有n个节点的完全二叉树的最小高度是________。
答案:log2(n+1)10. 动态存储管理中,可利用的最基本的两种分配策略是________和________。
答案:首次适应;最佳适应三、简答题11. 什么是平衡二叉树?请简述其特点。
答:平衡二叉树是一种特殊的二叉搜索树,其中任何两个兄弟节点的深度之差的绝对值不超过1。
其特点包括:- 所有节点的两个子树的高度差不超过1。
- 保持了二叉搜索树的性质,即左子树上所有节点的键值小于它,右子树上所有节点的键值大于它。
全国2010年10月自考数据结构真题及答案
请画出该二叉树对应的森林。 29.请回答下列问题: (1)英文缩写DAG的中文含义是什么? (2)请给出下面DAG图的全部拓扑排序。
四、算法阅读题(本大题共4小题,每小题5分,共20分) 30.已知线性表(a1,a2,a3...,an)按顺序存放在数组a中,每个元素均为整数,下列程序的功能是将所有
自考乐园,自考学习交流、资料共享的好去处!自考乐园,自考人自己的家园.... 俱乐进入俱乐部
20.用5个权值{3, 2,4,5,1}构造的哈夫曼(Huffman)树的带权路径长度是___________。 21.若无向图G中有n个顶点m条边,采用邻接矩阵存储,则该矩阵中非0元素的个数为___________。 22.影响排序效率的两个因素是关键字的___________次数和记录的移动次数。 23.对任一m阶的B树,每个结点中最多包含___________个关键字。 24.若两个关键字通过散列函数映射到同一个散列地址,这种现象称为___________。
Info otherinfo; }SeqList; void InsertSort(SeqList R[],int n)
{/* 待排序列保存在R[1..n]中*/ SeqList x; int i,j,k,lo,hi,mi; for (i=2;i<=n;i++) { (1) lo=1; hi=i-l; while { mi=(lo+hi)/2; if ( (2) ) break; hi=mi-l; (lo<=hi) ;
15.若需高效地查询多关键字文件,可以采用的文件组织方式为( A.顺序文件 C.散列文件 B.索引文件 D.倒排文件
)
二、填空题(本大题共10小题,每小题2分,共20分) 请每小题的空格中填上正确答案。错填、不填均无分。 16.下面程序段的时间复杂度为___________。 sum=1; for(i=0;sum<n;i++) sum+=1; 17.已知链表结点定义如下: typedef struct node{
2010年全国自考数据结构模拟试卷(二)及答案
2010年全国⾃考数据结构模拟试卷(⼆)及答案2010年全国⾃考数据结构模拟试卷(⼆)⼀、单项选择题(本⼤题共15⼩题,每⼩题2分,共30分)在每⼩题列出的四个备选项⽬中只有⼀个是符号题⽬要求的,请将其代码填写的括号内.错选、多选或未选均⽆分。
1.⾮空的循环单链表head的尾结点(由指针p所指)满⾜()A.p->next=NULLB.p=NULLC.p->next=headD.p=head答案:C2.邻接表存储结构下图的深度优先遍历算法结构类似于⼆叉树的()A.先序遍历B.中序遍历C.后序遍历D.按层遍历答案:A3.设图G采⽤邻接表存储,则拓扑排序算法的时间复杂度为()A.O(n)B.O(n+e)C.O(n2)D.O(n×e)答案:B4.在Hash函数H(k)=k MOD m中,⼀般来讲,m应取()A.奇数B.偶数C.素数D.充分⼤的数答案:C5.对于⼀个具有N个顶点的图,如果我们采⽤邻接矩阵法表⽰,则此矩阵的维数应该是()A.(N-1)×(N-1)B.N×NC.(N+1)×(N+1)D.不确定答案:B6.快速排序在最坏情况下的时间复杂度是()A. AB. BC. CD. D答案:B7.已知⼀个单链表中有3000个结点,每个结点存放⼀个整数,()可⽤于解决这3000个整数的排序问题且不需要对算法作⼤的变动。
A.直接插⼊排序⽅法B.简单选择排序⽅法C.快速排序⽅法D.堆排序⽅法答案:D8.设计⼀个判别表达式中左、右括号是否配对出现的算法,采⽤()数据结构最佳。
A.线性表的顺序存储结构B.栈C.队列D.线性表的链式存储结构答案:B9.顺序存储结构()A.仅适合于静态查找表的存储B.仅适合于动态查找表的存储C.既适合静态⼜适合动态查找表的存储D.既不适合静态⼜不适合动态查找表的存储答案:C10.⽤⼆分查找法对具有n个结点的线性表查找⼀个结点所需的平均⽐较次数为()A. AB. BC. CD. D答案:D11.与其他查找⽅法相⽐,哈希查找法的特点是()A.通过关键字⽐较进⾏查找B.通过关键字计算记录存储地址进⾏查找C.通过关键字计算记录存储地址,并进⾏⼀定的⽐较进⾏查找D.通过关键字记录数据进⾏查找答案:C12.倒排⽂件的主要优点是()A.便于进⾏插⼊和删除运算B.便于进⾏⽂件的合并C.能⼤⼤提⾼基于⾮关键码数据项的查找速度D.能⼤⼤节省存储空间答案:C13.设数组A[0,m]作为循环队列sq的存储空间,front为队头指针,rear为队尾指针,则执⾏⼊队操作的语句是()A.sq.front=(sq.front+1)%mB.sq.front=(sq.front+1)%(m+1)C.sq.rear=(sq.rear+1)%mD.sq.rear=(sq.rear+1)%(m+1)答案:D14.串是⼀种特殊的线性表,其特殊性体现在()A.可顺序存储B.数据元素是⼀个字符C.可链接存储D.数据元素可以是多个字符答案:B15.深度为k的⼆叉树,所含叶⼦的个数最多为()A. AB. BC. CD. D答案:C⼆、填空题(本⼤题共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的单链表进行一次反转操作的时间复杂度是_________。
数据结构导论自考试题及答案
数据结构导论自考试题及答案一、选择题(每题2分,共10分)1. 在数据结构中,队列是一种()。
A. 集合B. 线性表C. 树D. 图答案:B2. 对于长度为n的线性表,在最坏情况下,查找一个元素需要比较的次数是()。
A. nB. n/2C. 1D. 0答案:A3. 在二叉树的遍历中,先序遍历的顺序是()。
A. 根-左-右B. 左-根-右C. 右-根-左D. 根-右-左答案:A4. 哈希表的冲突可以通过()来解决。
A. 链接法B. 排序C. 折半查找D. 二分查找答案:A5. 一个具有n个顶点的无向图至少有多少条边?A. nB. n-1C. n(n-1)/2D. 0答案:D二、填空题(每题3分,共15分)6. 在顺序存储的堆栈中,判断栈为空的条件是______。
答案:栈顶指针等于-1或者指向第一个元素的前一个位置7. 快速排序的平均时间复杂度是______。
答案:O(n log n)8. 一个长度为n的链表,删除已知第i个位置元素的时间复杂度是______。
答案:O(n)9. 一个平衡二叉树的查找、插入和删除操作的时间复杂度是______。
答案:O(log n)10. 用邻接表表示图时,对于有n个顶点的无向图,邻接表中所有链表的节点数之和至少是______。
答案:n三、简答题(每题10分,共20分)11. 什么是递归?请举例说明递归算法的工作原理。
答案:递归是一种在程序中调用自身的方法,它允许函数解决问题的更小版本,直到达到一个简单的基本情况。
例如,计算n的阶乘可以使用递归算法:```function factorial(n) {if (n <= 1) {return 1;} else {return n * factorial(n - 1);}}```12. 请简述图的遍历算法有哪些,并说明它们的特点。
答案:图的遍历算法主要有深度优先搜索(DFS)和广度优先搜索(BFS)。
DFS使用栈(可以是显式的栈或者隐式的递归调用栈)来逐层深入地访问图中的顶点,直到找到一个未被访问的邻接顶点。
2010年10月全国自考数据库系统原理真题及答案
全国2010年10月自学考试数据库系统原理试题课程代码:04735一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.在数据库系统中,提供数据与应用程序间物理独立性的是( ) A.外模式/模式映像B.模式/内模式映像C.外模式/内模式映像 D.子模式/模式映像2.对于实体集A中的每一个实体,实体集B中至少有一个实体与之联系,反之亦然,则称实体集A与实体集B之间具有的联系是( ) A.多对一B.一对多C.多对多D.一对一3.数据库物理设计的任务不包括( )A.优化模式 B.存储记录结构设计C.确定数据存放位置D.存取方法设计4.设有关系WORK(ENO,CNO,PAY),主码为(ENO,CNO)。
按照实体完整性规则( )A.只有ENO不能取空值B.只有CNO不能取空值C.只有PAY不能取空值D.ENO与CNO都不能取空值125.在关系模式R 中,函数依赖X →Y 的语义是( )A .在R 的某一关系中,若任意两个元组的X 值相等,则Y 值也相等B .在R 的一切可能关系中,若任意两个元组的X 值相等,则Y 值也相等C .在R 的某一关系中,Y 值应与X 值相等D .在R 的一切可能关系中,Y 值应与X 值相等6.设R 是一个关系模式,F 是R 上的一个FD 集,R 分解成数据库模式ρ={R1,…,RK}。
如果对R 中满足F 的每一个关系r ,都有r=1R ∏(r)2R ∏(r)…k R ∏(r),则称这个分解ρ是( )A .无损分解B .损失分解C .保持函数依赖分解D .丢失函数依赖分解7.关系R 和S 如下表R -S 的结果是( )38.下面关于自然连接和等值连接的叙述中,不正确的是( )A .自然连接是一种特殊的等值连接B .自然连接要求在两个关系中有公共属性,而等值连接不必C .两种连接都可以只用笛卡尔积和选择运算导出D .自然连接要在结果中去掉重复的属性,而等值连接不必9.设有关系表S(NO ,NAME ,AGE),其中AGE 为年龄字段,则表达式 AGE NOT BETWEEN 18 AND 24 等价于( )A .AGE<=18 OR AGE>=24B .AGE<=18 OR AGE>24C .AGE<18 OR AGE>=24D .AGE<18 OR AGE>2410.下列关于视图的说法中错误的是( )A .视图是从一个或多个基本表导出的表,它是虚表B .视图可以被用来对无权用户屏蔽数据C .视图一经定义就可以和基本表一样被查询和更新D .视图可以用来定义新的视图11.如果一个事务在故障发生之前完成,但是它并没有到达检查点,则系统恢复时应对该事务执行( )A.REDO操作B.UNDO操作C.RESTART操作D.NULL操作12.如果事务T1需要两次读取同一数据项A,但是在两次读操作的间隔中,另一个事务T2改变了A的值,那么此并发操作所引起的问题是( )A.丢失更新 B.死锁C.不可重复读D.读脏数据13.在SQL Server 2000中,负责管理登录账号、数据库用户和权限,创建和管理数据库的工具是( )A.服务管理器B.企业管理器C.查询分析器D.事件探查器14.PowerBuilder9.0的工作空间扩展名是( )A..pbt B..pblC..dsw D..pbw15.在对象联系图中,表示两个属性之间值的联系为逆联系的是( )A.小圆圈B.单箭头C.双线箭头 D.双向箭头4二、填空题(本大题共10小题,每小题1分,共10分)请在每小题的空格上填上正确答案。
自考《 数据结构》真题和答案
自考《数据结构》真题和答案自考《数据结构》真题和答案数据结构是计算机科学的重要基础学科之一,掌握好数据结构的知识对于计算机专业的学生来说至关重要。
为了帮助学生更好地备考自考《数据结构》科目,本文将为大家提供一份《数据结构》的真题及答案。
希望能对大家的学习有所帮助。
一、选择题1. 下面哪个不是线性结构?A. 数组B. 链表C. 栈D. 树答案:D2. 下图是一棵二叉树,根节点为A,左子树为B,右子树为C,请问遍历这棵二叉树的顺序是?A/ \B CA. 先序遍历:A-B-CB. 中序遍历:B-A-CC. 后序遍历:B-C-AD. 层序遍历:A-B-C答案:A二、填空题1. 栈是一种____结构。
答案:先进后出2. 当一个节点的左子树和右子树深度之差不超过1,并且左子树和右子树都是平衡二叉树时,称之为____。
答案:平衡二叉树三、简答题1. 什么是数据结构?为什么学习数据结构很重要?答:数据结构是指一组数据的组织、管理和存储形式。
学习数据结构的重要性主要体现在以下几个方面:首先,数据结构是计算机程序设计的基础。
在程序设计中,数据结构是用来组织和存储数据的,合理选择和运用数据结构可以提高程序的效率和性能。
其次,数据结构对于解决实际问题具有重要意义。
不同的问题需要采用不同的数据结构来进行处理和解决,因此掌握不同的数据结构及其应用场景对于解决实际问题非常关键。
最后,数据结构是进一步学习和理解计算机科学和计算机算法的基础。
许多高级的计算机科学概念和算法都依赖于对数据结构的深入理解和应用。
2. 请简要介绍一下线性结构和非线性结构。
答:线性结构是指数据元素之间存在一对一的线性关系,每个数据元素最多有一个直接前驱和一个直接后继。
常见的线性结构有数组、链表、队列和栈等。
非线性结构是指数据元素之间存在一对多或多对多的关系,一个节点可以有多个直接前驱或直接后继。
常见的非线性结构有树和图等,其中树是一种重要的非线性结构。
四、编程题请编写一个函数,实现将一个正整数转化为二进制数的功能。
全国自考数据结构模拟试卷(一)及答案
2010年全国自考数据结构模拟试卷(一)一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项目中只有一个是符号题目要求的,请将其代码填写的括号内.错选、多选或未选均无分。
1.若用冒泡排序法对序列18,14,6,27,8,12,16,52,10,26,47,29,41,24从小到大进行排序,共要进行()次比较。
A.33B.45C.70D.912.假定一棵二叉树的结点为18个,则此二叉树的最大高度为(),最小高度为()A. 4B. 5C. 6D.183.一个具有N个顶点的有向图最多有()条边。
A.N(N-1)/2B.N(N-1)C.N(N+1)D.N(N+1)/24.设一个数组中,行下标i的范围是从1到8,列下标的范围是从1到10,假设此数组的初始存储地址是A,则如果将此数组按照列优先的顺序连续存放,则元素Q[5][8]的起始地址是()A. 1B.23C.24D.5295.下面程序的时间复杂性是()for(i=1;i<=n;i++)for(j=1;j<=m;j++){A[i][j]=i*j;}A. AB. BC. CD. D6.在下面的排序方法中,不需要通过比较关键字就能进行排序的是()A.箱排序B.快速排序C.插入排序D.希尔排序7.设散列函数为H(k)=k mod7,一组关键码为23,14,9,6,30,12和18,散列表T的地址空间为0.6,用线性探测法解决冲突,依次将这组关键码插入T中,得到的散列表为()A. AB. BC. CD. D8.排序的重要目的是为了以后对已排序的数据元素进行()A.打印输出B.分类C.查找D.合并9.线性表L=(a1,a2,…,a1,…,an),下列说法正确的是()A.每个元素都有一个直接前趋和直接后继B.线性表中至少要有一个元素C.表中诸元素的排列顺序必须是由小到大或由大到小的D.除第一个元素和最后一个元素外,其余每个元素都有一个且仅有一个直接前趋和直接后继10.邻接表存储结构下图的广度优先遍历算法结构类似于树的()A.先根遍历B.后根遍历C.按层遍历D.先序遍历11.下列说法中正确的是()A.二叉树中任何一个结点的度都为2B.二叉树的度为2C.任何一棵二叉树中至少有一个结点的度为2D.一棵二叉树的度可以小于212.在一个具有n个单元的顺序栈中,假设栈底是存储地址的高端,现在我们以top作为栈顶指针,则作退栈操作时,top的变化是()A.top=top-1B.top=top+1C.top不变D.top不确定13.堆排序的最坏时间复杂度为()A. AB. BC. CD. D14.如果待排序的记录的规模很大,则在下面的排序方式中,我们最好不要选择使用()A.快速排序B.直接插入排序C.堆排序D.归并排序15.将含100个结点的完全二叉树从根这一层开始,每层从左到右依次对结点编号,根结点的编号为1。
全国自考(数据结构)模拟试卷3(题后含答案及解析)
全国自考(数据结构)模拟试卷3(题后含答案及解析)题型有:1. 单项选择题 2. 填空题 3. 解答题 4. 算法阅读题 5. 算法设计题单项选择题1.设有两个串p和q,求q在p中首次出现的位置的运算称为( )A.连接B.模式匹配C.求子串D.求串长正确答案:B2.对于shell排序来说,给定的一组排序数值为49,38,65,97,13,27,49,55,04 则第二趟排序后的结果为( )A.04,13,27,49,49,38,55,65,76,97B.04,13,27,38,49,49,55,65,76,97C.13,04,49,38,27,49,55,65,97,76D.13,27,49,55,04,49,38,65,97,76正确答案:C3.将上万个一组无序并且互不相等的正整数序列,存放于顺序存储结构中,采用( )方法能够最快地找出其中最大的正整数。
A.快速排序B.插入排序C.选择排序D.归并排序正确答案:C4.长度为12的按关键字有序的查找表采用顺序组织方式。
若采用二分查找方法,则在等概率情况下,查找失败时的ASL值是( )A.13850B.62/13C.14580D.49/13正确答案:B5.一个具有N个顶点的有向图最多有( )条边。
A.N(N-1)/2B.N(N-1)C.N(N+1)D.N(N+1)/2正确答案:B6.Aarr和Barr两个数组的说明如下:V AR Aarr:Array[O··7]of char; Barr:Array[-5··2,3,··8]of char; 这两个数组分别能存放的字符的最大个数是( )A.7和35B.1和5C.8和48D.1和6正确答案:C7.对于一棵具有三个结点的二叉树,共有( )种不同的树的形态。
A.4B.5C.6D.7正确答案:B8.设一个数组中,行下标i的范围是从1到8,列下标的范围是从1到10,假设此数组的初始存储地址是A,则如果将此数组按照列优先的顺序连续存放,则元素Q[5][8]的起始地址是( )A.1B.23C.24D.529正确答案:C9.具有24个记录的序列,采用冒泡排序最少的比较次数是( )A.1B.23C.24D.529正确答案:B10.下列说法中正确的是( )A.任何一棵二叉树中至少有一个结点的度为2B.任何一棵二叉树中的每个结点的度为2C.任何一棵二叉树中的度肯定等于2D.任何一棵二叉树中的度可以小于2正确答案:D11.二分查找算法要求被查找的表是( )A.键值有序的链表B.键值不一定有序的链表C.键值有序的顺序表D.键值不一定有序的顺序表正确答案:C12.下面的程序在执行时,S语句共被执行了( )次。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2010年全国自考数据结构模拟试卷(三)一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项目中只有一个是符号题目要求的,请将其代码填写的括号内.错选、多选或未选均无分。
1.如果要求一个线性表适应动态变化的要求,又必须能尽快地进行查找,则可以选择采用()查找方法。
A.分块B.二分C.顺序D.散列答案:A2.若已知一个栈的输入序列为1,2,3…,n,其输出序列为P1,P2,…,Pn。
若P1=n,则P1为()A.iB.n=iC.n-i+1D.不确定答案:C3.如果一个队列的入队顺序是1,2,3,4,5,则此队列的出队顺序是()A.5,4,3,2,1B.4,5,1,2,3C.1,2,3,4,5D.不确定答案:C4.下面关于线性表的叙述错误的是()A.线性表采用顺序存储,必须占用一片连续的存储单元B.线性表采用顺序存储,便于进行插入和删除操作C.线性表采用链接存储,不必占用一片连续的存储单元D.线性表采用链接存储,不便于插入和删除操作答案:A5.设有两个串p和q,求q在p中首次出现的位置的运算称为()A.连接B.模式匹配C.求子串D.求串长答案:B6.对于shell排序来说,给定的一组排序数值为49,38,65,97,13,27,49,55,04则第二趟排序后的结果为()A.04,13,27,49,49,38,55,65,76,97B.04,13,27,38,49,49,55,65,76,97C.13,04,49,38,27,49,55,65,97,76D.13,27,49,55,04,49,38,65,97,76答案:C7.一个栈的入栈序列是a,b,c,d,e,则栈的不可能的输出序列是()A. e d c b aB. d e c b aC. d c e a bD. a b c d e答案:C8.在图的邻接表存储结构上执行广度优先搜索遍历类似于二叉树上的()A.先根遍历B.中根遍历C.后根遍历D.按层次遍历答案:D9.设串s1=′ABCDEFG′,s2=′PQRST′,函数con(x,y)返回x和y串的连(s,i,j)返回串s的从序号i的字符开始的j个字符组成的子串,len(s)返回串s的con(subs(s1,2,len(s2)),subs(s1,len(s2),2)的结果串是()A.BCDEFB.BCDEFGC.BCPQRSTD.BCDEFEF答案:D10.对采用二分查找法进行查找运算的查找表,要求按()方式进行存储。
A.顺序存储B.链式存储C.顺序存储且结点按关键字有序D.链式存储且结点按关键字有序答案:C11.对于一个具有N个结点和E条边的无向图,若采用邻接表示,则表头向量的大小是()A.NB.N+1C.N-ED.N-1答案:A12.判断一个有向图是否存在回路,除了可以利用拓扑排序方法,还可以利用()A.求关键路径的方法B.求最短路径的Dijkstra方法C.广度优先遍历方法D.深度优先遍历方法答案:D13.链栈与顺序栈相比,有一个比较明显的优点即()A.插入操作更加方便B.通常不会出现栈满的情况C.不会出现栈空的情况D.删除操作更加方便答案:B14.串是任意有限个()A.符号构成的集合B.符号构成的序列C.字符构成的集合D.字符构成的序列答案:D15.如图所示二叉树的中序遍历序列是()A. a b c d g e fB. d f e b a g cC. d b a e f c gD. d e f b a g c答案:B二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填写上正确答案。
错填、不填均无分。
1.已知广义表A=((a,b,c),(d,e,f)),则运算head(head(tail(tail(A))))=___.答案:e2.记录的___结构是数据在物理存储器上的存储方式。
答案:物理3.数组的长度是___,线性表的长度是___。
答案:固定的可变的4.在线性表的顺序存储中,假设每个结点所占用的存储空间为c,且第一个单元的存储地址则是该结点的存储地址,设开始结点a1的存储地址是LOC(a1),则结点a1存储地址LOC(a1)可以通过下式得到___。
答案:LOC(a1)=LOC(a1)+(i-1)*c5.树的结点数目至少为___,二叉树的结点数目至少为___。
答案:1 06.在结点数目相同的二叉树中,___的路径长度最短。
答案:完全二叉树7.___中结点的最大度数允许大于2,而___中结点的最大度数不允许大于2。
答案:树二叉树8.通过计算公式___可随机地从S中取出A中任一元素aij。
答案:k=i+(j-i)×n9.稀疏矩阵一般的压缩存储方法有2种,它们分别是___和___。
答案:三元组十字链表10.在索引顺序文件中需建立一张指示逻辑记录和物理记录之间的一一对应关系的___。
它通常采用___结构来组织。
答案:索引表树三、解答题(本大题共4小题,每小题5分,共20分)1.答案:STR1=REPLACE (SUBSTR(S,1,1),′X′,′(X′)STR1=′(X′STR2=CONCAT(STR1 SUBSTR(S,5,1)STR2=′(X+1)STR3=REPLACE(SUBSTR(S,3,1),′Z′,′Z)′STR3=′Z)′STR4=CONCAT(STR2,STR3)STR4=′(X+Z)′STR5=CONCAT(STR4,SUBSTR(S,4,1)STR5=(X+Z)*′T=CONCAT(STR5.SUBSTR(S,2,1)T=′(X+Z)*Y′2.假设有一个容量为5的队列,假设其初始状态为front=rear=0,则对此队列进行下列操作之后,请画出此时的头、尾指针的变化情况和相应的队列内元素的存储情况。
(1)队列为空(即没有任何元素进入);(2)A,B,C入队;(3)A出队;(4)B,C出队,此时队列为空。
答案:根据队列的操作规则:进队时,将新元素插入到rear所指的位置,然后将rear加1,front不变,出队时,删除front所指的元素,然后将front加1,rear不变,则有:A,B,C进队列后,rear指针指向3,front不变,A出队列时,删除A,将front加1,所以front指向1,rear不变,B,C都出队时,fron加2,rear不变,此时,rear和front相等。
3.已知数据序列为{12,5,9,20,6,31,24},对该数据序列进行排序,试写出插入排序和冒泡排序每趟的结果。
答案:4.假设有下面所示的稀疏矩阵,请写出其三元组表(按行优先的顺序)。
答案:稀疏矩阵的三元组指的是矩阵中非零元素的行号、列号和其对应的元素,而三元组表就是将其结点是三元组的线性表按照顺序结构进行存储,其表的结构为:(其中i代表行号,j代表列号,v指的是相应的元素值)四、算法阅读题(本大题共4小题,每小题5分,共20分)1.基于三元组的稀疏矩阵转置的处理方法有两种,以下运算按照矩阵A的三元组a.data的次序进行转置(快速转置),请在___处用适当的语句予以填充。
Fast-Trans-Sparmat(SpMatrixTp a,SpMatrixTp *b){ (*b).mu=a.nu;(*b).nu=a.mu;(*b).tu=a.tu;if(a.tu){ for(col)=1;___;col++)num[col]=0;for(t=1;t<=a.tu;t++)num[a.data[t].j]++;cpot[1]=1;for(col=2;col<=a.nu;col++)cpot[col]=___;for(p=1;p<=a.tu;p++){ col=a.data[p].j;q=cpot[col];(*b).data[q].i=a.data[p].j;(*b).data[q].j=a.data[p].i;(*b).data[q].v=a.data[p].v;___;}}}答案:col<=a.nu cpot[col-1]+num[col-1] cpot[col]++2.分析下面程序段的时间复杂度___。
j=1;while(j<=n){j=j*2;}答案:O(log2n)3.以下运算实现在链队上的入队列,请在___处用适当的语句予以填充。
void EnQueue(QueptrTp *lq,DataType x){ LqueueTp *p;p=(LqueueTp *)malloc(sizeof(LqueueTp));___=x;p->next=NULL;(lq->rear)->next=___;___;}答案:p->data p lq->rear=p4.以下为顺序表的插入运算,分析算法,请在___处填上正确的语句。
void insert-sqlist(sqlist L,datatype x,int i)/*将X插入到顺序表L的第i-1个位置*/ { if(st==maxsize) error(″表满″);if((i<1)||(i>st+1)) error(″非法位置″);for(j=st;j≥i;j--)___;L.data[i-1]=X;st=st+1;}答案:L.data[j]=L.data[j-1]五、算法设计题(本题10分)1.以二叉链表为存储结构,分别实现二叉树的下列运算:(1)PARENT(BT,X);(2)CREATE(X,LBT,RBT);(3)DELLEFT(BT,X).答案:(1)bitreptr parent (bitreptr BT,p; datatype x)/*调用前p为空指针*/{ if (BT!=NULL)if(BT->data==X)return(p)/*找到,返回其父结点*/else { p=BT;parent(BT->lchild,p,x);/*查找其左子树*/parent(BT->rchild,p,x);/*查找其右子树*/}}(2)Void create (datatype x;bitreptr LBT,LBR){ BT=mallloc(size)BT->data=x;BT->lchild=LBT;/*赋左子树*/BT->rchild=LBR;/*赋右子树*/}(3)Void delleft (bitreptr BT;datatype x){ if(BT!=NULL)if(BT->data==x){ BT->lchild=NULL;/*删除其左子树*/return;/*结束*/}else{ delleft(BT->lchild,x);/*转左子树*/ delleft(BT->rchild,x);/*转右子树*/ }}。