自考问答 自考本科自考百科
自考问答 > 自考百科 > 数据结构自考题目及答案

数据结构自考题目及答案

发布时间:

数据结构自考题目及答案

发布时间:

数据结构自考题目及答案

全国2008年10月高等教育自学考试数据结构试题课程代码:02331一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是最符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1.如果在数据结构中每个数据元素只可能有一个直接前驱,但可以有多个直接后继,则该结构是( )A. 栈 B. 队列C. 树 D. 图2.下面程序段的时间复杂度为( )for (i=0; inext==head B. p->next->next==headC. p->next==NULL D. p==head4.若以S和X分别表示进栈和退栈操作,则对初始状态为空的栈可以进行的栈操作系列是( )A. SXSSXXXX B. SXXSXSSXC. SXSXXSSX D. SSSXXSXX5.两个字符串相等的条件是( )A. 串的长度相等 B. 含有相同的字符集C. 都是非空串 D. 串的长度相等且对应的字符相同6.如果将矩阵An×n的每一列看成一个子表,整个矩阵看成是一个广义表L,即L=((a11,a21,…,an1),( a12,a22,…,an2),…,(a1n,a2n,…,ann)),并且可以通过求表头head和求表尾tail的运算求取矩阵中的每一个元素,则求得a21的运算是( )A. head (tail (head (L))) B. head (head(head(L)))C. tail (head (tail (L))) D. head (head (tail (L)))7.已知一棵含50个结点的二叉树中只有一个叶子结点,则该树中度为1的结点个数为( )A. 0 B. 1C. 48 D. 498.在一个具有n个顶点的有向图中,所有顶点的出度之和为Dout ,则所有顶点的入度之和为( )A. Dout B. Dout-1C. Dout+1 D. n9.如图所示的有向无环图可以得到的拓扑序列的个数是( )A. 3 B. 4C. 5 D. 610.如图所示的带权无向图的最小生成树的权为( )A. 51 B. 52C. 54 D. 5611.对长度为n的关键字序列进行堆排序的空间复杂度为( )A. O(log2n) B. O(1)C. O(n) D. O(n*log2n)12.已知用某种排序方法对关键字序列(51,35,93,24,13,68,56,42,77)进行排序时,前两趟排序的结果为(35,51,24,13,68,56,42,77,93)(35,24,13,51,56,42,68,77,93)所采用的排序方法是( )A. 插入排序 B. 冒泡排序C. 快速排序 D. 归并排序13.已知散列表的存储空间为T[0..18],散列函数H(key)=key%17,并用二次探测法处理冲突。散列表中已插入下列关键字:T[5]=39,T[6]=57和T[7]=7,则下一个关键字23插入的位置是( )A. T[2] B. T[4]C. T[8] D. T[10]14.适宜进行批量处理的文件类型是( )A. 顺序文件 B. 索引顺序文件C. 散列文件 D. 多关键字文件15.VSAM文件的索引结构为( )A. B+树 B. 二叉排序树C. B-树 D. 最优二叉树二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。16.如果某算法对于规模为n的问题的时间耗费为T(n)=3n3,在一台计算机上运行时间为t秒,则在另一台运行速度是其64倍的机器上,用同样的时间能解决的问题规模是原问题规模的 倍。17.将两个长度分别为m和n的递增有序单链表,归并成一个按元素递减有序的单链表,可能达到的最好的时间复杂度是 。18.已知循环队列的存储空间大小为m,队头指针front指向队头元素,队尾指针rear指向队尾元素的下一个位置,则在队列不满的情况下,队列的长度是 。19.字符串“sgabacbadfgbacst” 中存在有 个与字符串“ba”相同的子串。20.假设以列优先顺序存储二维数组A[5][8],其中元素A[0][0]的存储地址为LOC(a00),且每个元素占4个存储单元,则数组元素A[i][j]的存储地址为 。21.假设用表示树的边(其中x是y的双亲),已知一棵树的边集为{,,,,,},该树的度是 。22.n个顶点且含有环路的无向连通图中,至少含有 条边。23.在一般情况下用直接插入排序、选择排序和冒泡排序的过程中,所需记录交换次数最少的是 。24.和二分查找相比,顺序查找的优点是除了不要求表中数据元素有序之外,对 结构也无特殊要求。25.顺序文件中记录存放的物理顺序和 顺序一致。三、解答题(本大题共4小题,每小题5分,共20分)26.由森林转换得到的对应二叉树如图所示,写出原森林中第三棵树的前序序列和后序序列。前序序列:后序序列:27.图的邻接表的类型定义如下所示:#define MaxVertexNum 50typedef struct node {int adjvex;struct node *next;}EdgeNode;typedef struct {VertexType vertex;EdgeNode *firstedge;}VertexNode;typedef VertexNode AdjList[MaxVertexNum];typedef struct {AdjList adjlist;int n, e;}ALGraph;为便于删除和插入图的顶点的操作,可将邻接表的表头向量定义为链式结构,两种定义的存储表示实例如下图所示,请写出重新定义的类型说明。题27图28.某类物品的编号由一个大写英文字母及2位数字(0..9)组成,形如E32。运用基数排序对下列物品编号序列进行按字典序的排序,写出每一趟(分配和收集)后的结果。E13,A37,F43,B32,B47,E12,F37,B12第一趟:第二趟:第三趟:29.(1)画出对表长为13的有序顺序表进行二分查找的判定树;(2)已知关键字序列为(12,14,16,21,24,28,35,43,52,67,71,84,99),写出在该序列中二分查找37时所需进行的比较次数。(1)(2)四、算法阅读题(本大题共4小题,每小题5分,共20分)30.已知线性表的存储结构为顺序表,阅读下列算法,并回答问题:(1)设线性表L=(21,-7,-8,19,0,-11,34,30,-10),写出执行f30(&L)后的L状态;(2)简述算法f30的功能。void f30 (SeqList *L) {int i,j;for (i=j=0;ilength; i++)if(L->data[i]>=0){if(i!=j)L->data[j]=L->data[i];j++;}L->length=j;}(1)(2)31.阅读下列算法,并回答问题:(1)Q、Q1和Q2都是队列结构,设队列Q=(1,0,-5,2,-4,-6,9),其中1为队头元素,写出执行f31 (&Q,&Q1,&Q2)之后队列Q、Q1和Q2的状态;(2)简述算法f31的功能。(注:lnitQueue、EnQueue、DeQueue和QueueEmpty分别是队列初始化、入列、出队和判队空的操作)void f31 (Queue*Q, Queue*Q1, Queue*Q2) {int e;lnitQueue (Q1);lnitQueue (Q2);while (!QueueEmpty (Q)) {e=DeQueue (Q);if (e>=0) EnQueue (Q1,e);else EnQueue (Q2,e)}}(1)(2)32.阅读下列算法,并回答问题:(1)假设串由合法的英文字母和空格组成,并以’\0’作结束符。设串s=”⊔⊔|⊔am⊔a⊔⊔⊔student”(⊔表示空格符),写出f32(s)的返回值;(2)简述算法f32的功能。int f32 (char*s){int i, n, inword;n=inword=0;for (i=0;s[i]!=’\0’;i++)if (s[i]!=’⊔’&& inword==0){inword=1;n++;}else if (s[i]==’⊔’&& inword==1)inword=0;return n;}(1)(2)33.阅读下列对正整数关键字序列L操作的算法,并回答问题:(1)设L=(28,19,27,49,56,12,10,25,20,50),写出f33 (L,4)的返回值;(2)简述函数f33的功能。int Partition (SeqList*L, int low, int high);‖对L[low..high]做划分,返回基准记录的位置,并使左部的关键字‖都小于或等于基准记录的关键字,右部的关键字都大于基准记录的关键字int f33 (SeqList L, int k){int low, high, pivotpos;low=1;high=L.length;if (khigh)return-1;do {pivotpos=Partition (&L, low, high);‖调用快速排序的划分算法if (pivotposk)high=pivotpos-1;}while (pivotpos!=k);return L.data [pivotpos];}(1)(2) 五、算法设计题(本题10分)34.二叉排序树的类型定义如下:typedef struct BSTNode {‖ 二叉排序树的结点结构int data; ‖数据域struct BSTNode *lchild, *rchild; ‖左、右孩子指针}BSTNode,*BSTree;设计递归算法,统计一棵二叉排序树T中值小于a的结点个数。

呵呵,你算找对人了!答案不是很多,但试题很多的。我发到你消息里了! 2009年1月自考数据库及其应用试题 2009年1月自考数据库及其应用试题 课程代码:02120 一、单项选择题(本大题共20小题。每小题2分,共40分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.有关系模式:R(课程编号,课程名称,教师编号,教师姓名,授课班级),若一名教师可讲授多门课程,一门课程可由多名教师讲授,则R属于( )...... 全国2008年10月自学考试数据库及其应用试题 全国2008年10月自学考试数据库及其应用试题 课程代码:02120 一、单项选择题(本大题共20小题,每小题2分,共40分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.Access中的查询对象属于数据库的( ) A.概念模型 B.外部模型 C.内部模型 D.逻辑模型 2.在下列...... 2008年1月全国自考试题数据库及其应用试卷 全国2008年1月高等教育自学考试 数据库及其应用试题 课程代码:02120 一、单项选择题(本大题共20小题,每小题2分,共40分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.E-R模型属于数据库的( ) A.概念模型 B.逻辑模型 C.内部模型 D.外部模型 2.实体完整性...... 2007年10月自考试题数据库及其应用试卷 全国2007年10月高等教育自学考试 数据库及其应用试题 课程代码:02120 一、单项选择题(本大题共20小题,每小题2分,共40分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.关系模型中,实现实体之间联系是通过( ) A.关系 B.指针 C.表 D.公共字段 2.数据完整性...... 全国2007年1月高等教育自学考试数据库及其应用试题历年试卷 全国2007年1月高等教育自学考试 数据库及其应用试题 课程代码:02120 一、单项选择题(本大题共20小题,每小题2分,共40分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.若关系模式R属于1NF,且所有非主属性都完全函数依赖于R的主键。则R属于( ) A.1...... 全国2006年10月高等教育自学考试数据库及其应用试题历年试卷 全国2006年10月高等教育自学考试 数据库及其应用试题 课程代码:02120 一、单项选择题(本大题共20小题,每小题2分,共40分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.以下不属于数据库技术特点的是( ) A.数据结构化 B.数据共享 C.数据冗余小 D.以...... 全国2006年1月高等教育自学考试数据库及其应用试题历年试卷 全国2006年1月高等教育自学考试 数据库及其应用试题 课程代码:02120 一、单项选择题(本大题共20小题,每小题2分,共40分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.以下不是数据库技术所具备的特点是( ) A.数据结构化 B.数据冗余小 C.有较高的...... 2005年10月自考试卷数据库及其应用 2005年10月自考试卷数据库及其应用 ...... 2005年10月数据库及其应用试题答案 2005年10月数据库及其应用试题答案 ...... 浙江省2005年10月高等教育自学考试数据库及其应用试题历年试卷 全国2005年10月高等教育自学考试 数据库及其应用试题 课程代码:02120 一、单项选择题(本大题共20小题,每小题2分,共40分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.文件系统方式管理数据有很多缺陷,以下不是文件方式缺陷的是( ) A.数据联系弱 B.数...... 全国2005年1月高等教育自学考试数据库及其应用试题历年试卷 全国2005年1月高等教育自学考试 数据库及其应用试题 课程代码:02120 一、单项选择题(本大题共20小题,每小题2分,共40分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.下列关于“联系”的描述,正确的是( ) A.联系不是实体,也没有属性 B.联系是实体,但没有属性 全国2004年10月高等教育自学考试数据库及其应用试题历年试卷 全国2004年10月高等教育自学考试 数据库及其应用试题 课程代码:02120 一、单项选择题(本大题共20小题,每小题2分,共40分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.数据管理技术发展所经历的过程是:( ) A.数据库—文件系统—自由管理 B.文件系统—自由...... 2004年10月自考数据库及其应用试卷参考答案 更多试卷答案下载 免费试听网校课程 2004年10月自考数据库及其应用试卷参考答案 一、l.C 2.D 3.B 4.C 5.B 6.B 7.B 8.C 9.C l0.B ll.C l2.D 13.B l4。B l5.B l 6.B 17.B l8.A l9.D 20.A 35.(1)书名=“线性代数” 浙江省2004年7月高等教育自学考试数据库及其应用试题历年试卷 浙江省2004年7月高等教育自学考试 数据库及其应用试题 课程代码:02120 一、单项选择题(本大题共20小题,每小题2分,共40分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.按照数据模型,FoxPro是( )。 A.层次型数据库管理系统 B.网状型数据库管理系统 ...... 浙江省2004年4月高等教育自学考试数据库及其应用试题历年试卷 浙江省2004年4月高等教育自学考试 数据库及其应用试题 课程代码:02120 一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题1分,共20分) 1.在下列计算机表示的信息中,不能称为“数据”的是( )。 A.股票名称 B.股票曲线图 C.电脑软件 D.音乐编码 2....... 浙江省2004年1月高等教育自学考试数据库及其应用试题历年试卷 浙江省2004年1月高等教育自学考试 数据库及其应用试题 课程代码:02120 一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题2分,共30分) 1.下述关于数据库系统的正确叙述是:( ) A. 数据库系统避免了一切冗余 B. 数据库系统中数据的一致性是指数据类型一致 全国2003年10月高等教育自学考试数据库及其应用试题历年试卷 全国2003年10月高等教育自学考试 数据库及其应用试题 课程代码:02120 第一部分 选择题(共40分) 一、单项选择题(本大题共20小题,每小题2分,共40分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.在文件系统中有关数据项、记录、文件的正确描述是( ) A.文...... 浙江省2003年7月高等教育自学考试数据库及其应用试题历年试卷 浙江省2003年7月高等教育自学考试 数据库及其应用试题 课程代码:02120 一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题2分,共30分) 1.foxpro系统所用的术语与关系术语存在以下对应关系( )。 A.库结构对应关系,库文件对应元组,记录对应属性,字段对应属性值 B.库结...... 浙江省2003年4月高等教育自学考试数据库及其应用试题历年试卷 浙江省2003年4月高等教育自学考试 数据库及其应用试题 课程代码:02120 一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题1分,共20分) 1.下列最容易用计算机符号表示的数据是( )。 A.人的姓名 B.人的声音 C.人的动作 D.计算机程序 全国2003年1月高等教育自学考试数据库及其应用试题历年试卷 全国2003年1月高等教育自学考试 数据库及其应用试题 课程代码:02120 第一部分 选择题 (共40分) 一、单项选择题(本大题共20小题,每小题2分,共40分)在每小题列出的四个选项中只有一个是符合题目要求的。请将其代码填在题后的括号内。错选或未选均无分。 1.在数据库系统中,面向用户、也就是用户所涉及的数据库被称为( ) A.外模...... 全国2002年10月高等教育自学考试数据库及其应用试题历年试卷 全国2002年10月高等教育自学考试 数据库及其应用试题 课程代码:02120 一、单项选择题(在每小题的四个备选答案中选出一个正确答案,并将其号码填在题干的括号内。每小题2分,共40分) 1.英文缩写DBA代表( ) A.数据库管理员 B.数据库管理系统 C.数据定义语言 ...... 浙江省2002年1月高等教育自学考试数据库及其应用试题历年试卷 浙江省2002年1月高等教育自学考试 数据库及其应用试题 课程代码:02120 一、单项选择题(在每小题的四个备选答案中选出一个正确答案,并将其号码填在题干的括号内。每小题1分,共20分) 1.描述在外部存储器上如何组织数据的是( ) A.用户模式 B.模式 C.外模式 D.内模式 2.应用...... 浙江省2002年1月自考数据库及其应用答案 更多试卷答案下载 免费试听网校课程 浙江省2002年1月自考数据库及其应用答案 课程代码:02120 一、单项选择题(每小题1分,共20分) 1.D 2.D 3.A 4.B 5.B 6.A 7.C 8.B 9.A ...... 浙江省2001年10月自学考试数据库及其应用试题 更多试卷答案下载 免费试听网校课程 浙江省2001年10月自学考试数据库及其应用试题 课程代码:02120 一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题1分,共20分) 1.要保证数据库物理数据独立性,需要修改的是( ) A.模式 B.模式与内模...... 浙江省2001年10月自考数据库及其应用试题参考答案 更多试卷答案下载 免费试听网校课程 浙江省2001年10月自考数据库及其应用试题参考答案 课程代码:02120 一、单项选择题(每小题1分,共20分) 1.B 2.D 3.D 4.D 5.C 6.A 7.A 8.B 9.D ...... 2000年10月自考数据库及应用答案 2000年10月自考自学考试数据库及应用答案 一、单项选择题(本大题共10小题,每小题1分,共10分) 1.A 3.D 5.B 7.C 9.D 2.B 4.D 6.D 8.A 10.D 二、多项选择题(本大题共5小题,每小题2分,共10分) 11.ABCD 12.BCD 13.BD 14.ABC 15.ABCDE 三、填空题(本...... 2000年10月自考数据库及应用试题试卷真题 2000年10月数据库及应用试卷和答案 第一部分 选择题 一、单项选择题(本大题共10小题,每小题1分,共10分) 在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。 1、三级模式间存在两种映射,它们是( ) A.模式与子模式间,模式与内

数据结构自考真题及答案

数据结构导论试题和答案已经发到你邮箱里去了,你会给我分数吗?我相信你,你一定会给我的.

自考题库及答案可以登录查找。作为专门的在线教育平台,的备考指导栏目就专门收录有自考的历年真题和模拟练习题,还有备考的知识点指导。点击底部咨询官网。 自考怎么复习? 1、根据自考大纲泛读教材,找好考试重点 了解了自考的考试大纲以后,需要分清知识点的主次,可以让自己较大程度的提高自己学习的效率。 2、依次熟悉题型 对自考教材的知识有了一定把握以后,就可以开始完成刷题做题。在第一次开始完成自考题型的时候,可以先翻开自考资料,将自考科目的每个题型都依次熟悉一遍。了解每个学科对应的是哪些题型,再对每个题型进行多次练习。 3、分析标准答案 在做完一套自考练习之后,可以在校对答案的时候,要学会自己分析自考的参考答案。 有些考生在完成问题后,很少分析答案是如何得到的,这样的学习效果不好。 分析自考的标准答案可以增强对知识点的记忆,避免盲目陷入问题的海洋。 4、做历年真题,了解分值 每个考生都尽量完成一套历年的试题,了解分数的分布,这有利于我们合理分配好自考学习的时间。自考/成考有疑问、不知道如何总结自考/成考考点内容、不清楚自考/成考报名当地政策,点击底部咨询官网,免费领取复习资料:

分享:典型的数据结构笔试题。 1. 线性表的顺序存储结构是一种 的存储结构,而链式存储结构是一种___的存储结构。 A.随机存取 B.索引存取 C.顺序存取 D.散列存取 2. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址___。 A. 必须是连续的 B. 部分地址必须是连续的 C. 一定是不连续的 D. 连续或不连续都可以 3. 在一个单链表中p所指结点之前插入一个s (值为e)所指结点时,可执行如下操作: q=head; while (q->next!=p) q=q->next; s= new Node; s->data=e; q->next= ; //填空 s->next= ; //填空 4. 在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在q和p之间插入s结点,则执行____。 A. s->next=p->next; p->next=s; B. p->next=s->next; s->next=p; C. q->next=s; s->next=p; D. p->next=s; s->next=q; 5. 在一个单链表中,若p所指结点不是最后结点,在p之后插入s所指结点,则执行____。 A. s->next=p; p->next=s; B. s->next=p->next; p->next=s; C. s->next=p->next; p=s; C. p->next=s; s->next=p; 6. 在一个单链表中,若删除p所指结点的后续结点,则执行____。 A. p->next= p->next->next; B. p= p->next; p->next= p->next->next; C. p->next= p->next; D. p= p->next->next; 7. 链表不具备的特点是 ____ 。 A 可随机访问任何一个元素 B 插入、删除操作不需要移动元素 C 无需事先估计存储空间大小 D 所需存储空间与线性表长度成正比 8. 在一个长度为n的顺序表中删除第i个元素,要移动 个元素。如果要在第i个元素前插入一个元素,要后移( )个元素。 N-I N-I+1 9. 以下关于线性表的说法不正确的是 。 A 线性表中的数据元素可以是数字、字符、记录等不同类型。 B 线性表中包含的数据元素个数不是任意的。 C 线性表中的每个结点都有且只有一个直接前趋和直接后继。 D 存在这样的线性表:表中各结点都没有直接前趋和直接后继。 答案 1.A/C(这题是考察对概念的理解,可参考第7题,“顺序表才能随即存取,而链表不可以”) 2.D 3.q->next=s; s->next=p; 4.C 5.B 6.A 7.A(此题绝对选A,因为链表只能根据他的前一个结点才能找到下一个结点,不具备随即访问元素的功能) 8.n-i; n-i+1 9.C 相关文章推荐: 建设银行笔试考什么(笔试真题) 索尼招聘笔试真题分享

数据结构自考答案及题型

全国2009年1月高等教育自学考试数据结构试题课程代码02331答案急求。。谢谢。。最好答案和题都有。。尤其是答案。。谢谢啦。。

全国2008年10月高等教育自学考试数据结构试题课程代码:02331一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是最符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1.如果在数据结构中每个数据元素只可能有一个直接前驱,但可以有多个直接后继,则该结构是( )A. 栈 B. 队列C. 树 D. 图2.下面程序段的时间复杂度为( )for (i=0; inext==head B. p->next->next==headC. p->next==NULL D. p==head4.若以S和X分别表示进栈和退栈操作,则对初始状态为空的栈可以进行的栈操作系列是( )A. SXSSXXXX B. SXXSXSSXC. SXSXXSSX D. SSSXXSXX5.两个字符串相等的条件是( )A. 串的长度相等 B. 含有相同的字符集C. 都是非空串 D. 串的长度相等且对应的字符相同6.如果将矩阵An×n的每一列看成一个子表,整个矩阵看成是一个广义表L,即L=((a11,a21,…,an1),( a12,a22,…,an2),…,(a1n,a2n,…,ann)),并且可以通过求表头head和求表尾tail的运算求取矩阵中的每一个元素,则求得a21的运算是( )A. head (tail (head (L))) B. head (head(head(L)))C. tail (head (tail (L))) D. head (head (tail (L)))7.已知一棵含50个结点的二叉树中只有一个叶子结点,则该树中度为1的结点个数为( )A. 0 B. 1C. 48 D. 498.在一个具有n个顶点的有向图中,所有顶点的出度之和为Dout ,则所有顶点的入度之和为( )A. Dout B. Dout-1C. Dout+1 D. n9.如图所示的有向无环图可以得到的拓扑序列的个数是( )A. 3 B. 4C. 5 D. 610.如图所示的带权无向图的最小生成树的权为( )A. 51 B. 52C. 54 D. 5611.对长度为n的关键字序列进行堆排序的空间复杂度为( )A. O(log2n) B. O(1)C. O(n) D. O(n*log2n)12.已知用某种排序方法对关键字序列(51,35,93,24,13,68,56,42,77)进行排序时,前两趟排序的结果为(35,51,24,13,68,56,42,77,93)(35,24,13,51,56,42,68,77,93)所采用的排序方法是( )A. 插入排序 B. 冒泡排序C. 快速排序 D. 归并排序13.已知散列表的存储空间为T[0..18],散列函数H(key)=key%17,并用二次探测法处理冲突。散列表中已插入下列关键字:T[5]=39,T[6]=57和T[7]=7,则下一个关键字23插入的位置是( )A. T[2] B. T[4]C. T[8] D. T[10]14.适宜进行批量处理的文件类型是( )A. 顺序文件 B. 索引顺序文件C. 散列文件 D. 多关键字文件15.VSAM文件的索引结构为( )A. B+树 B. 二叉排序树C. B-树 D. 最优二叉树二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。16.如果某算法对于规模为n的问题的时间耗费为T(n)=3n3,在一台计算机上运行时间为t秒,则在另一台运行速度是其64倍的机器上,用同样的时间能解决的问题规模是原问题规模的 倍。17.将两个长度分别为m和n的递增有序单链表,归并成一个按元素递减有序的单链表,可能达到的最好的时间复杂度是 。18.已知循环队列的存储空间大小为m,队头指针front指向队头元素,队尾指针rear指向队尾元素的下一个位置,则在队列不满的情况下,队列的长度是 。19.字符串“sgabacbadfgbacst” 中存在有 个与字符串“ba”相同的子串。20.假设以列优先顺序存储二维数组A[5][8],其中元素A[0][0]的存储地址为LOC(a00),且每个元素占4个存储单元,则数组元素A[i][j]的存储地址为 。21.假设用表示树的边(其中x是y的双亲),已知一棵树的边集为{,,,,,},该树的度是 。22.n个顶点且含有环路的无向连通图中,至少含有 条边。23.在一般情况下用直接插入排序、选择排序和冒泡排序的过程中,所需记录交换次数最少的是 。24.和二分查找相比,顺序查找的优点是除了不要求表中数据元素有序之外,对 结构也无特殊要求。25.顺序文件中记录存放的物理顺序和 顺序一致。三、解答题(本大题共4小题,每小题5分,共20分)26.由森林转换得到的对应二叉树如图所示,写出原森林中第三棵树的前序序列和后序序列。前序序列:后序序列:27.图的邻接表的类型定义如下所示:#define MaxVertexNum 50typedef struct node {int adjvex;struct node *next;}EdgeNode;typedef struct {VertexType vertex;EdgeNode *firstedge;}VertexNode;typedef VertexNode AdjList[MaxVertexNum];typedef struct {AdjList adjlist;int n, e;}ALGraph;为便于删除和插入图的顶点的操作,可将邻接表的表头向量定义为链式结构,两种定义的存储表示实例如下图所示,请写出重新定义的类型说明。题27图28.某类物品的编号由一个大写英文字母及2位数字(0..9)组成,形如E32。运用基数排序对下列物品编号序列进行按字典序的排序,写出每一趟(分配和收集)后的结果。E13,A37,F43,B32,B47,E12,F37,B12第一趟:第二趟:第三趟:29.(1)画出对表长为13的有序顺序表进行二分查找的判定树;(2)已知关键字序列为(12,14,16,21,24,28,35,43,52,67,71,84,99),写出在该序列中二分查找37时所需进行的比较次数。(1)(2)四、算法阅读题(本大题共4小题,每小题5分,共20分)30.已知线性表的存储结构为顺序表,阅读下列算法,并回答问题:(1)设线性表L=(21,-7,-8,19,0,-11,34,30,-10),写出执行f30(&L)后的L状态;(2)简述算法f30的功能。void f30 (SeqList *L) {int i,j;for (i=j=0;ilength; i++)if(L->data[i]>=0){if(i!=j)L->data[j]=L->data[i];j++;}L->length=j;}(1)(2)31.阅读下列算法,并回答问题:(1)Q、Q1和Q2都是队列结构,设队列Q=(1,0,-5,2,-4,-6,9),其中1为队头元素,写出执行f31 (&Q,&Q1,&Q2)之后队列Q、Q1和Q2的状态;(2)简述算法f31的功能。(注:lnitQueue、EnQueue、DeQueue和QueueEmpty分别是队列初始化、入列、出队和判队空的操作)void f31 (Queue*Q, Queue*Q1, Queue*Q2) {int e;lnitQueue (Q1);lnitQueue (Q2);while (!QueueEmpty (Q)) {e=DeQueue (Q);if (e>=0) EnQueue (Q1,e);else EnQueue (Q2,e)}}(1)(2)32.阅读下列算法,并回答问题:(1)假设串由合法的英文字母和空格组成,并以’\0’作结束符。设串s=”⊔⊔|⊔am⊔a⊔⊔⊔student”(⊔表示空格符),写出f32(s)的返回值;(2)简述算法f32的功能。int f32 (char*s){int i, n, inword;n=inword=0;for (i=0;s[i]!=’\0’;i++)if (s[i]!=’⊔’&& inword==0){inword=1;n++;}else if (s[i]==’⊔’&& inword==1)inword=0;return n;}(1)(2)33.阅读下列对正整数关键字序列L操作的算法,并回答问题:(1)设L=(28,19,27,49,56,12,10,25,20,50),写出f33 (L,4)的返回值;(2)简述函数f33的功能。int Partition (SeqList*L, int low, int high);‖对L[low..high]做划分,返回基准记录的位置,并使左部的关键字‖都小于或等于基准记录的关键字,右部的关键字都大于基准记录的关键字int f33 (SeqList L, int k){int low, high, pivotpos;low=1;high=L.length;if (khigh)return-1;do {pivotpos=Partition (&L, low, high);‖调用快速排序的划分算法if (pivotposk)high=pivotpos-1;}while (pivotpos!=k);return L.data [pivotpos];}(1)(2) 五、算法设计题(本题10分)34.二叉排序树的类型定义如下:typedef struct BSTNode {‖ 二叉排序树的结点结构int data; ‖数据域struct BSTNode *lchild, *rchild; ‖左、右孩子指针}BSTNode,*BSTree;设计递归算法,统计一棵二叉排序树T中值小于a的结点个数。

数据结构笔试题和答案

数据结构笔试题和答案:

1. 在一个单链表中p所指结点之前插入一个s (值为e)所指结点时,可执行如下操作:

q=head;

while (q->next!=p) q=q->next;

s= new Node; s->data=e;

q->next= ; //填空

s->next= ; //填空

2. 线性表的顺序存储结构是一种 的存储结构,而链式存储结构是一种___的存储结构。

A.随机存取 B.索引存取 C.顺序存取 D.散列存取

3. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址___。

A. 必须是连续的 B. 部分地址必须是连续的

C. 一定是不连续的 D. 连续或不连续都可以

4. 在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在q和p之间插入s结点,则执行____。

A. s->next=p->next; p->next=s; B. p->next=s->next; s->next=p;

C. q->next=s; s->next=p; D. p->next=s; s->next=q;

5. 在一个单链表中,若p所指结点不是最后结点,在p之后插入s所指结点,则执行____。

A. s->next=p; p->next=s; B. s->next=p->next; p->next=s;

C. s->next=p->next; p=s; C. p->next=s; s->next=p;

6. 在一个单链表中,若删除p所指结点的后续结点,则执行____。

A. p->next= p->next->next; B. p= p->next; p->next= p->next->next;

C. p->next= p->next; D. p= p->next->next;

7. 链表不具备的特点是 ____ 。

A 可随机访问任何一个元素 B 插入、删除操作不需要移动元素

C 无需事先估计存储空间大小 D 所需存储空间与线性表长度成正比

8. 以下关于线性表的说法不正确的是 。

A 线性表中的`数据元素可以是数字、字符、记录等不同类型。

B 线性表中包含的数据元素个数不是任意的。

C 线性表中的每个结点都有且只有一个直接前趋和直接后继。

D 存在这样的线性表:表中各结点都没有直接前趋和直接后继。

9. 在一个长度为n的顺序表中删除第i个元素,要移动 个元素。如果要在第i个元素前插入一个元素,要后移( )个元素。 N-I N-I+1

答案

1.q->next=s;

s->next=p;

2.A/C(这题是考察对概念的理解,可参考第7题,“顺序表才能随即存取,而链表不可以”)

3.D

4.C

5.B

6.A

7.A(此题绝对选A,因为链表只能根据他的前一个结点才能找到下一个结点,不具备随即访问元素的功能)

8.C

9.n-i; n-i+1

更多的相关笔试题目推荐:

融捷科java软件工程师技笔试题      运营维护工程师笔试题      中国银行计算机方向笔试题目

数据结构自考题库及答案

全国2008年10月高等教育自学考试数据结构试题课程代码:02331一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是最符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。1.如果在数据结构中每个数据元素只可能有一个直接前驱,但可以有多个直接后继,则该结构是( )A. 栈 B. 队列C. 树 D. 图2.下面程序段的时间复杂度为( )for (i=0; inext==head B. p->next->next==headC. p->next==NULL D. p==head4.若以S和X分别表示进栈和退栈操作,则对初始状态为空的栈可以进行的栈操作系列是( )A. SXSSXXXX B. SXXSXSSXC. SXSXXSSX D. SSSXXSXX5.两个字符串相等的条件是( )A. 串的长度相等 B. 含有相同的字符集C. 都是非空串 D. 串的长度相等且对应的字符相同6.如果将矩阵An×n的每一列看成一个子表,整个矩阵看成是一个广义表L,即L=((a11,a21,…,an1),( a12,a22,…,an2),…,(a1n,a2n,…,ann)),并且可以通过求表头head和求表尾tail的运算求取矩阵中的每一个元素,则求得a21的运算是( )A. head (tail (head (L))) B. head (head(head(L)))C. tail (head (tail (L))) D. head (head (tail (L)))7.已知一棵含50个结点的二叉树中只有一个叶子结点,则该树中度为1的结点个数为( )A. 0 B. 1C. 48 D. 498.在一个具有n个顶点的有向图中,所有顶点的出度之和为Dout ,则所有顶点的入度之和为( )A. Dout B. Dout-1C. Dout+1 D. n9.如图所示的有向无环图可以得到的拓扑序列的个数是( )A. 3 B. 4C. 5 D. 610.如图所示的带权无向图的最小生成树的权为( )A. 51 B. 52C. 54 D. 5611.对长度为n的关键字序列进行堆排序的空间复杂度为( )A. O(log2n) B. O(1)C. O(n) D. O(n*log2n)12.已知用某种排序方法对关键字序列(51,35,93,24,13,68,56,42,77)进行排序时,前两趟排序的结果为(35,51,24,13,68,56,42,77,93)(35,24,13,51,56,42,68,77,93)所采用的排序方法是( )A. 插入排序 B. 冒泡排序C. 快速排序 D. 归并排序13.已知散列表的存储空间为T[0..18],散列函数H(key)=key%17,并用二次探测法处理冲突。散列表中已插入下列关键字:T[5]=39,T[6]=57和T[7]=7,则下一个关键字23插入的位置是( )A. T[2] B. T[4]C. T[8] D. T[10]14.适宜进行批量处理的文件类型是( )A. 顺序文件 B. 索引顺序文件C. 散列文件 D. 多关键字文件15.VSAM文件的索引结构为( )A. B+树 B. 二叉排序树C. B-树 D. 最优二叉树二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。错填、不填均无分。16.如果某算法对于规模为n的问题的时间耗费为T(n)=3n3,在一台计算机上运行时间为t秒,则在另一台运行速度是其64倍的机器上,用同样的时间能解决的问题规模是原问题规模的 倍。17.将两个长度分别为m和n的递增有序单链表,归并成一个按元素递减有序的单链表,可能达到的最好的时间复杂度是 。18.已知循环队列的存储空间大小为m,队头指针front指向队头元素,队尾指针rear指向队尾元素的下一个位置,则在队列不满的情况下,队列的长度是 。19.字符串“sgabacbadfgbacst” 中存在有 个与字符串“ba”相同的子串。20.假设以列优先顺序存储二维数组A[5][8],其中元素A[0][0]的存储地址为LOC(a00),且每个元素占4个存储单元,则数组元素A[i][j]的存储地址为 。21.假设用表示树的边(其中x是y的双亲),已知一棵树的边集为{,,,,,},该树的度是 。22.n个顶点且含有环路的无向连通图中,至少含有 条边。23.在一般情况下用直接插入排序、选择排序和冒泡排序的过程中,所需记录交换次数最少的是 。24.和二分查找相比,顺序查找的优点是除了不要求表中数据元素有序之外,对 结构也无特殊要求。25.顺序文件中记录存放的物理顺序和 顺序一致。三、解答题(本大题共4小题,每小题5分,共20分)26.由森林转换得到的对应二叉树如图所示,写出原森林中第三棵树的前序序列和后序序列。前序序列:后序序列:27.图的邻接表的类型定义如下所示:#define MaxVertexNum 50typedef struct node {int adjvex;struct node *next;}EdgeNode;typedef struct {VertexType vertex;EdgeNode *firstedge;}VertexNode;typedef VertexNode AdjList[MaxVertexNum];typedef struct {AdjList adjlist;int n, e;}ALGraph;为便于删除和插入图的顶点的操作,可将邻接表的表头向量定义为链式结构,两种定义的存储表示实例如下图所示,请写出重新定义的类型说明。题27图28.某类物品的编号由一个大写英文字母及2位数字(0..9)组成,形如E32。运用基数排序对下列物品编号序列进行按字典序的排序,写出每一趟(分配和收集)后的结果。E13,A37,F43,B32,B47,E12,F37,B12第一趟:第二趟:第三趟:29.(1)画出对表长为13的有序顺序表进行二分查找的判定树;(2)已知关键字序列为(12,14,16,21,24,28,35,43,52,67,71,84,99),写出在该序列中二分查找37时所需进行的比较次数。(1)(2)四、算法阅读题(本大题共4小题,每小题5分,共20分)30.已知线性表的存储结构为顺序表,阅读下列算法,并回答问题:(1)设线性表L=(21,-7,-8,19,0,-11,34,30,-10),写出执行f30(&L)后的L状态;(2)简述算法f30的功能。void f30 (SeqList *L) {int i,j;for (i=j=0;ilength; i++)if(L->data[i]>=0){if(i!=j)L->data[j]=L->data[i];j++;}L->length=j;}(1)(2)31.阅读下列算法,并回答问题:(1)Q、Q1和Q2都是队列结构,设队列Q=(1,0,-5,2,-4,-6,9),其中1为队头元素,写出执行f31 (&Q,&Q1,&Q2)之后队列Q、Q1和Q2的状态;(2)简述算法f31的功能。(注:lnitQueue、EnQueue、DeQueue和QueueEmpty分别是队列初始化、入列、出队和判队空的操作)void f31 (Queue*Q, Queue*Q1, Queue*Q2) {int e;lnitQueue (Q1);lnitQueue (Q2);while (!QueueEmpty (Q)) {e=DeQueue (Q);if (e>=0) EnQueue (Q1,e);else EnQueue (Q2,e)}}(1)(2)32.阅读下列算法,并回答问题:(1)假设串由合法的英文字母和空格组成,并以’\0’作结束符。设串s=”⊔⊔|⊔am⊔a⊔⊔⊔student”(⊔表示空格符),写出f32(s)的返回值;(2)简述算法f32的功能。int f32 (char*s){int i, n, inword;n=inword=0;for (i=0;s[i]!=’\0’;i++)if (s[i]!=’⊔’&& inword==0){inword=1;n++;}else if (s[i]==’⊔’&& inword==1)inword=0;return n;}(1)(2)33.阅读下列对正整数关键字序列L操作的算法,并回答问题:(1)设L=(28,19,27,49,56,12,10,25,20,50),写出f33 (L,4)的返回值;(2)简述函数f33的功能。int Partition (SeqList*L, int low, int high);‖对L[low..high]做划分,返回基准记录的位置,并使左部的关键字‖都小于或等于基准记录的关键字,右部的关键字都大于基准记录的关键字int f33 (SeqList L, int k){int low, high, pivotpos;low=1;high=L.length;if (khigh)return-1;do {pivotpos=Partition (&L, low, high);‖调用快速排序的划分算法if (pivotposk)high=pivotpos-1;}while (pivotpos!=k);return L.data [pivotpos];}(1)(2) 五、算法设计题(本题10分)34.二叉排序树的类型定义如下:typedef struct BSTNode {‖ 二叉排序树的结点结构int data; ‖数据域struct BSTNode *lchild, *rchild; ‖左、右孩子指针}BSTNode,*BSTree;设计递归算法,统计一棵二叉排序树T中值小于a的结点个数。

可以转发一份给我吗,谢谢

数据的逻辑结构在计算机存储器内的表示,称为数据的___ 存储结构_________。当问题的规模n趋向无穷大时,算法执行时间T(n)的数量级被称为算法的___渐进时间复杂度_____。

自考数据结构真题及答案

分享:典型的数据结构笔试题。 1. 线性表的顺序存储结构是一种 的存储结构,而链式存储结构是一种___的存储结构。 A.随机存取 B.索引存取 C.顺序存取 D.散列存取 2. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址___。 A. 必须是连续的 B. 部分地址必须是连续的 C. 一定是不连续的 D. 连续或不连续都可以 3. 在一个单链表中p所指结点之前插入一个s (值为e)所指结点时,可执行如下操作: q=head; while (q->next!=p) q=q->next; s= new Node; s->data=e; q->next= ; //填空 s->next= ; //填空 4. 在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在q和p之间插入s结点,则执行____。 A. s->next=p->next; p->next=s; B. p->next=s->next; s->next=p; C. q->next=s; s->next=p; D. p->next=s; s->next=q; 5. 在一个单链表中,若p所指结点不是最后结点,在p之后插入s所指结点,则执行____。 A. s->next=p; p->next=s; B. s->next=p->next; p->next=s; C. s->next=p->next; p=s; C. p->next=s; s->next=p; 6. 在一个单链表中,若删除p所指结点的后续结点,则执行____。 A. p->next= p->next->next; B. p= p->next; p->next= p->next->next; C. p->next= p->next; D. p= p->next->next; 7. 链表不具备的特点是 ____ 。 A 可随机访问任何一个元素 B 插入、删除操作不需要移动元素 C 无需事先估计存储空间大小 D 所需存储空间与线性表长度成正比 8. 在一个长度为n的顺序表中删除第i个元素,要移动 个元素。如果要在第i个元素前插入一个元素,要后移( )个元素。 N-I N-I+1 9. 以下关于线性表的说法不正确的是 。 A 线性表中的数据元素可以是数字、字符、记录等不同类型。 B 线性表中包含的数据元素个数不是任意的。 C 线性表中的每个结点都有且只有一个直接前趋和直接后继。 D 存在这样的线性表:表中各结点都没有直接前趋和直接后继。 答案 1.A/C(这题是考察对概念的理解,可参考第7题,“顺序表才能随即存取,而链表不可以”) 2.D 3.q->next=s; s->next=p; 4.C 5.B 6.A 7.A(此题绝对选A,因为链表只能根据他的前一个结点才能找到下一个结点,不具备随即访问元素的功能) 8.n-i; n-i+1 9.C 相关文章推荐: 建设银行笔试考什么(笔试真题) 索尼招聘笔试真题分享

数据结构》单元测验(1-5) 一、 选择题1.数据是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称,而( B )是数据不分割的最小单位。A. 数据元素 B.数据项 C.数据对象 D.数据结构2.下面程序段的时间复杂度为( C )for(i=0;inext=p一>next;p一>next=q;B.p一>next=q一>next;q=p;C.q一>next=p一>next;p一>next=q;D.p一>next=q一>next; q一>next=p;4.当利用大小为N的一维数组顺序存储一个循环队列时,该队列的最大长度为( B )A.N-2 B.N-1 C.N D.N+15.若编号为1,2,3,4,5,6的六节车厢依次通过一段栈形轨道,则在出口处不可能得到( D )A.143562 B.456321 C.145326 D.4265316.假设一个循环队列的队首和队尾指针分别为f和r,则判断队空的条件是( D )A.f+1==r B.r+1==f C.f==0 D.f==r7.经过下列栈的运算后栈顶的值是( A )InitStack(s);Push(s,a), Push(s,b);Pop(s);A.a B.b C.1 D.28.单链表中,增加头结点的目的是为了( C )A.链表至少有一个结点B.标示表结点中首结点的位置C.方便运算的实现D.说明单链表是线性表的链式存储结构二、 填空题1.数据结构一般包括以下三个方面的内容:( 逻辑结构 )、( 存储结构 )、( 运算集合 )。2.数据的逻辑结构被分为( 集合 )、 ( 线性 )、 ( 树形 )和( 图形 )四种。3.假设有二维数组A8×6,每个元素用相邻的4个字节存储,存储器按字节编址。已知A的起始存储位置(基地址)为2000,若按行存储时,元素A41的第一个字节地址为( 2100 );若按列存储时,元素A74的第一个字节地址为( 2156 )。4.栈是一种特殊的线性表,允许插入和删除运算的一端称为( 栈顶 )。不允许插入和删除运算的一端称为( 栈低 )。5.向一个长度为n的顺序表的第i个元素之前插入一个元素时,需向后移动( n-i+1 )个元素。三、判断题( 错 )1.链表的每个结点都恰好包含一个指针。( 错 )2.顺序存储方式的优点是存储密度大,且插入、删除运算效率高。( 对 )3.栈和队列的存储方式既可以是顺序方式,也可以是链接方式。( 错 )4.一个栈的输入序列是12345,则栈的输出序列不可能是12345。( 错 )5.链表的删除算法很简单,因为当删除链中某个结点后,计算机会自动将后续各个单元向前移动。( 错 )6.顺序表适合进行顺序存取,而链表适合进行随机存取。( 对 )7.对矩阵进行压缩存储是为了节省存储空间。( 错 )8.顺序存储方式只能用于存储线性结构。四、 简述以下算法的功能1. Status algo1(Stack s,int e){ Stack T;int d; InitStack(T);While(!StackEmpty(S)){Pop(S,d);if(d!=e) Push(T,d);}While(!StackEmpty(T))Pop(T,d);Push(S,d);答:通过T的帮助将S中的e元素清除}}2. void algo2(Queue &Q){ Stack S;int d; InitStack(S);While(!QueueEmpty(Q)) {DeQueue(Q,d); Push(S,d);}While(!StackEmpty(S)){Pop(S,d);EnQueue(Q,d);}}答:通过栈S的帮助实现队列Q的逆置五、 算法设计编写算法,实现顺序表上的逆置运算。void reverse(int a[],int n){int i;for(i=0;i

一 单项选择题(本大题共 小题 每小题 分 共 分 在每小题的四个备选答案中 选出一个正确答案 并将正确答案的序号填在题干的括号内)

下面程序段的时间复杂度是( )

for(i= ;i

for(j=1;j

A[i][j]=0;

A.O(n) B.O(m+n+1) C.O(m+n) D.O(m*n)

2.在单链表中,指针p指向元素为x的结点,实现“删除x的后继”的语句是( )

A.p=p->next; B.p->next=p->next->next;

C.p->next=p; D.p=p->next->next;

3.在头指针为head且表长大于1的单循环链表中,指针p指向表中某个结点,若p->next->next=

head,则( )

A.p指向头结点 B.p指向尾结点

C.*p的直接后继是头结点 D.*P的直接后继是尾结点

4.判定“带头结点的链队列为空”的条件是( )

A.Q.front==NULL B.Q.rear==NULL

C.Q.front==Q.rear D.Q.front!=Q.rear

5.设有两个串T和P,求P在T中首次出现的位置的串运算称作( )

A.联接 B.求子串 C.字符定位 D.子串定位

6.广义表A=(a,(b),(),(c,d,e))的长度为( )

A.4 B.5 C.6 D.7

7.一棵含18个结点的二叉树的高度至少为( )

A.3 B.4 C.5 D.6

8.已知二叉树的先序序列为ABDECF,中序序列为DBEAFC,则后序序列为( )

A.DEBAFC B.DEFBCA C.DEBCFA D.DEBFCA

9.无向图中一个顶点的度是指图中( )

A.通过该顶点的简单路径数 B.与该顶点相邻接的顶点数

C.通过该顶点的回路数 D.与该顶点连通的顶点数

10.已知一个图如下所示,从顶点a出发进行广度优先遍历可能得到的序列为( )

A.a c e f b d

B.a c b d f e

C.a c b d e f

D.a c d b f e

11.在下列排序方法中,平均时间性能为O(nlogn)且空间性能最好的是( )

A.快速排序 B.堆排序 C.归并排序 D.基数排序

12.已知一组关键字为{25,48,36,72,79,82,23,40,16,35},其中每相邻两个为有序子序列。.WingwIT.CoM对这些子序列进行一趟两两归并的结果是( )

A.{25,36,48,72,23,40,79,82,16,35}

B.{25,36,48,72,16,23,40,79,82,35}

C.{25,36,48,72,16,23,35,40,79,82}

D.{16,23,25,35,36,40,48,72,79,82}

13.设顺序存储的线性表共有123个元素,按分块查找的要求等分成3块。若对索引表采用顺序查找来确定块,并在确定的块中进行顺序查找,则在查找概率相等的情况下,分块查找成功时的平均查找长度为( )

A.21 B.23 C.41 D.62

14.索引非顺序文件的特点是( )

A.主文件无序,索引表有序 B.主文件有序,索引表无序

C.主文件有序,索引表有序 D.主文件无序,索引表无序

15.倒排文件的主要优点是( )

A.便于进行插入和删除运算 B.便于进行文件的恢复

C.便于进行多关键字查询 D.节省存储空间

二、填空题 (本大题共10小题,每小题2分,若有两个空格,每个空格1分,共20分)

16.抽象数据类型的特点是将____________和____________封装在一起,从而现实信息隐藏。

17.从顺序表中删除一个元素时,表中所有在被删元素之后的元素均需____________一个位置。

18.在队列中,允许进行插入操作的一端称为____________,允许进行删除操作的一端称为____________。

19.如图两个栈共享一个向量空间,top1和top分别为指向两个栈顶元素的指针,则“栈满”的判定条件是____________。

20.设S1="good",S2=" ",S3="book",则S1,S2和S3依次联接后的结果是____________。

21.假设三维数组A[10][9][8]按行优先顺序存储,若每个元素占3个存储单元,且首地址为100,则元素A[9][8][7]的存储地址是____________。

22.已知在一棵含有n个结点的树中,只有度为k的分支结点和度为0的叶子结点,则该树中含有的叶子结点的数目为____________。

23.能够成功完全拓扑排序的图一定是一个____________。

24.如果在排序前,关键字序列已接近正序或逆序,则在堆排序和快速排序两者之中,选用____________较为适当。

25.假设哈希表的表长为m,哈希函数为H(key),若用线性探查法解决冲突,则探查地址序列的形式表达为____________。

三、解答题 (本大题共4小题,每小题5分,共20分)

26.假设通信电文使用的字符集为{a,b,c,d,e,f},名字符在电文中出现的频度分别为:34,5,12,23,8,18,试为这6个字符设计哈夫曼编码。请先画出你所构造的哈夫曼树(要求树中左孩子结点的权值小于右孩子结点的权值),然后分别写出每个字符对应的编码。

27.已知一个图如下所示,其顶点按a、b、c、d、e、f顺序存放在邻接表的顶点表中,请画出该图的邻接表,使得按此邻接表进行深度优先遍历时得到的顶点序列为acbefd,进行广度优先遍历时得到的顶点序列为acbdfe。

28.已知两个4×5的稀疏矩阵的三元组表分别如下:

0 1 4 16 0 1 1 32

1 2 2 18 1 2 2 - 22

2 3 4 - 25 2 2 5 69

3 4 2 28 3 3 4 25

4 4 2 51

请画出这两个稀疏矩阵之和的三元组表。

29.从空树起,依次插入关键字40,8,90,15,62,95,12,23,56,32,构造一棵二叉排序树。

(1)画出该二叉排序树

(2)画出删去该树中元素值为90的结点之后的二叉排序树。

四、算法阅读题 (本大题共4小题,每小题5分,共20分)

30.如图所示,利用同一循环向量空间实现两个队列,其类型Queue2定义如下:

typedef struct {

DataType data[MaxSize];

int front[2],length[2];

} Queue2;

对于 i=0或1,front[i]和length[i]分别为第i个队列的头指针和长度域。请在空缺处填入合适的内容,实现第i个循环队列的入队操作。

int EnQueue(Queue2*Q,int i,DataType x)

{//若第i个队列不满,则元素x入队列,并返回1,否则返回0

if(i<0||i>1)return 0;

if( (1) )

return 0;

Q->data[ (2) ]=x;

Q->length[ (3) ]++;

return 1;

}

(1)

(2)

(3)

31.某二叉树的线索链表存储结构如图(b)所示,其中p为指向根结点的指针,图(a)为结点结构。阅读下列算法,并回答问题:

(1)写出执行函数调用f(p)的输出结果;

(2)简述函数f的功能。

{

while(t)

{

printf(t->data);

if(t->lchild)

t=t->lchild;

else

t=t->rchild;

}

}

(1)

(2)

32.下列函数FindCycle(G,i)的功能是,对一个采用邻接表作存储结构的有向图G,利用深度优先搜索策略寻找一条经过顶点v i 的简单回路。数组cycle_path用于保存搜索过程中形成的回路,cycle_path[k]=j(j≥0)表示在回路中顶点v k 的下一个顶点是v j 。请在空缺处填入合适的内容,使其成为一个完整的算法。

vertex firstedge

已知邻接表的顶点表结点结构为:

adjvex next

边表结点 EdgeNode结构为:

int cycle_path[MaxNum];

int FindCycle(ALGraph*G,int i)

{//若回路存在,则返回1,否则返回0

int j;

for(j=0;j n;j++)cycle_path[j]=-1;

return DFSPath(G,i,i);

}

int DFSPath(ALGraph*G,int j,int i)

{

EdgeNode *p;

int cycled=0;

for(p=G->adjlist[j].firstedge;p&&!cycled;p=p->next)

{

cycle_path[j]=p->adjvex;

if( (1 ) )cycled=1;//已找到回路

else

if(cycle_path[p->adjvex]==-1)cycled= (2) ;

}

return (3)

}

(1)

(2)

(3)

33.阅读下列函数algo,并回答问题。

(1)假设整型数组A[1..8]中的元素依次为(3,8,9,1,7,4,2,6)。执行函数调用algo(A,8)时,外层while的循环体执行多少次?函数的返回值是多少?

(2)简述函数algo(L,n)的功能。

int algo(int L[],intn)

{

int i=0,j,s=1,t=n;

while (i!=(n+1)/2)

{

int x=L[s];

i=s;j=t;

while(i

  •   索引序列
  •   数据结构自考题目及答案
  •   数据结构自考真题及答案
  •   数据结构自考答案及题型
  •   数据结构自考题库及答案
  •   自考数据结构真题及答案
  •   返回顶部

自考地区