2015广东省数据结构基础必过技巧
- 格式:rtf
- 大小:64.53 KB
- 文档页数:2
2015年1月全国自考数据结构导论模拟试卷(一)一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
第1题.【正确答案】 B【你的答案】本题分数2分第2题算法的计算量的大小称为计算的【】A. 效率B. 复杂性C. 现实性D. 难度【正确答案】 B【你的答案】本题分数2分第3题 .【正确答案】 A【你的答案】本题分数2分第4题排序算法中,第一趟排序后,任一元素都不能确定其最终位置的算法是【】A. 选择排序B. 插入排序C. 冒泡排序D. 快速排序【正确答案】 B【你的答案】本题分数2分第5题排序趟数与序列的原始状态有关的排序方法是【】A. 插入排序法B. 选择排序法C. 二路归并排序法D. 快速排序法【正确答案】 D【你的答案】本题分数2分第6题已知某完全二叉树采用顺序存储结构,结点数据信息的存放顺序依次为A、B、C、D、E、F、G、H,该完全二叉树的后根遍历序列为【】A. HDBEFCGAB. HDEBFGCAC. DHEBFGCAD. DEHBFGCA【正确答案】 B【你的答案】本题分数2分第7题磁盘是一种广泛使用的外部存储设备,对磁盘中的数据的存取操作【】A. 只能用顺序方式B. 只能用随机方式C. 既能用顺序方式也能用随机方式D. 方式取决于具体的机器【正确答案】 C【你的答案】本题分数2分第8题若有三个字符的字符串序列依次执行入栈操作,则其所有可能的输出排列共有【】A. 3种B. 4种C. 5种D. 6种【正确答案】 C【你的答案】本题分数2分第9题若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则最节省运算时间的存储方式是【】A. 单链表B. 双链表C. 单循环链表D. 带头结点的双循环链表【正确答案】 D【你的答案】本题分数2分第10题当采用分块查找时,数据的组织方式为【】A. 数据分成若干块,每块内数据有序B. 数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块C. 数据分成若干块,每块内数据有序,每块内最大(或最小)的数据组成索引块D. 数据分成若干块,每块(除最后一块外)中数据个数需相同【正确答案】 B【你的答案】本题分数2分第11题若评价算法的时间复杂性,比较对数阶量级与线性阶量级,通常【】A. 对数阶量级复杂性大于线性阶量级B. 对数阶量级复杂性小于线性阶量级C. 对数阶量级复杂性等于线性阶量级D. 两者之间无法比较【正确答案】 B【你的答案】本题分数2分第12题数据在计算机存储器内表示时,物理地址与逻辑地址不相同的,称之为【】A. 存储结构B. 逻辑结构C. 链式存储结构D. 顺序存储结构【正确答案】 C【你的答案】本题分数2分第13题线性结构中的一个结点代表一个【】A. 数据元素B. 数据项C. 数据D. 数据结构【正确答案】 A【你的答案】本题分数2分第14题一组记录的键值为(46,74,18,53,14,20,40,38,86,65),利用堆排序的方法建立的初始堆为【】A. (14,18,38,46,65,40,20,53,86,74)B. (14,38,18,46,65,20,40,53,86,74)C. (14,18,20,38,40,46,53,65,74,86)D. (14,86,20,38,40,46,53,65,74,18)【正确答案】 B【你的答案】本题分数2分第15题.【正确答案】 D二、填空题(本大题共13小题,每小题2分,共26分)请在每小题的空格中填上正确答案。
《数据结构》2015年春学期在线作业(三)单选题1. 设在二叉排序树上要删除P指向的节点,且设f指向P的父结点,P为f的左孩子,P结点只有左子树,无右子树,那么应做的操作是什么?()。
A. f->lchild=nullB. f->lchild=p->lchildC. f->lchild=p->rchildD. 都不是?正确答案:B2. 设有一个无向图G=(V,E)和G’=(V’,E’)如果G’为G的生成树,则下面不正确的说法是()。
A. G’为G 的子图B. G’为G 的连通分量C. G’为G的极小连通子图且V’=VD. G’为G的一个无环子图?正确答案:B3. 希尔排序和快速排序分别属于()。
A. 交换排序选择排序B. 插入排序选择排序C. 选择排序归并排序D. 交换排序选择排序?正确答案:B4. 哈希查找中k个关键字具有同一哈希值,若用线性探测法将这k个关键字对应的记录存入哈希表中,至少要进行()次探测。
A. kB. k-1C. k(k-1)/2D. 1+k(k-1)/2?正确答案:C5. 图结构的广度优先搜索遍历算法中使用了()。
A. 堆栈B. 队列C. 堆栈和队列D. 以上都不正确。
?正确答案:B6. 对于一组结点,从空树开始,把他们插入到二叉排序树中,就建立了一棵二叉排序树。
这时,整个二叉排序树的形状取决于()。
A. 结点的输入顺序B. 结点的存储结构C. 结点的取值范围D. 计算机的硬件?正确答案:A7. 以下说法错误的是()。
A. 散列法存储的基本思想是由关键码的值决定数据的存储地址。
B. 散列表的结点中只包含数据元素自身的信息,不包含任何指针。
C. 装填因子是散列法的一个重要参数,它反映散列表的装填程度。
D. 散列表的查找效率主要取决于散列表造表时选取的散列函数和处理冲突的方法。
?正确答案:B8. 二叉查找树的查找效率与二叉树的树型有关, 在()时其查找效率最低。
计算机专业基础综合数据结构(串)历年真题试卷汇编3(总分:60.00,做题时间:90分钟)一、单项选择题(总题数:13,分数:26.00)1.已知字符串S为“abaabaabacacaabaabcc”,模式串t为”abaabc”,采用KMP算法进行匹配,第一次出现“失配”(s[i]!=t[i])时,i=j=5,则下次开始匹配时,i和j的值分别是( )。
【2015年全国试题8(2)分】(分数:2.00)A.i=1,j=0B.i=5,j=0C.i=5,j=2 √D.i=6,j=2解析:解析:本题f串的存储下标从0开始,其next函数值是:一100112。
2.下面关于串的叙述中,哪一个是不正确的?( )【北方交通大学2001一、5(2分)】【江苏大学2005一、6(2分)】(分数:2.00)A.串是字符的有限序列B.空串是由空格构成的串√C.模式匹配是串的一种重要运算D.串既可以采用顺序存储,也可以采用链式存储解析:3.若串S1=ABCDEFG’,=‘9898’,‘S3=‘###’,S4=‘012345’,执行concat(replace(S1,substr(S1,lengthCS2),length(S3)),S3),substr(S4,index(S2,‘8’),lengthCS2))),其结果为( )。
【北方交通大学1 999一、5(25/7分)】(分数:2.00)A.ABC###G0123B.ABCD###2345C.ABC###4G2345D.ABC###2345E.AB###G1234 √解析:4.设有两个串S1和S2,求S2在S1中首次出现的位置的运算称作( )。
【中南大学2005一、3(2分)】(分数:2.00)A.求子串B.判断是否相等C.模型匹配√D.连接解析:5.已知串S=‘aaab’,其Next数组值为( )。
【西安电子科技大学1996一、7(2分)】(分数:2.00)A.0123 √B.1 123C.1231D.1211解析:6.串‘ababaaababaa’的next数组为( )。
第1章绪论内容提要:◆数据结构研究的内容。
针对非数值计算的程序设计问题,研究计算机的操作对象以及它们之间的关系和操作。
数据结构涵盖的内容:◆基本概念:数据、数据元素、数据对象、数据结构、数据类型、抽象数据类型。
数据——所有能被计算机识别、存储和处理的符号的集合。
数据元素——是数据的基本单位,具有完整确定的实际意义。
数据对象——具有相同性质的数据元素的集合,是数据的一个子集。
数据结构——是相互之间存在一种或多种特定关系的数据元素的集合,表示为:Data_Structure=(D, R)数据类型——是一个值的集合和定义在该值上的一组操作的总称。
抽象数据类型——由用户定义的一个数学模型与定义在该模型上的一组操作,它由基本的数据类型构成。
◆算法的定义及五个特征。
算法——是对特定问题求解步骤的一种描述,它是指令的有限序列,是一系列输入转换为输出的计算步骤。
算法的基本特性:输入、输出、有穷性、确定性、可行性◆算法设计要求。
①正确性、②可读性、③健壮性、④效率与低存储量需求◆算法分析。
时间复杂度、空间复杂度、稳定性学习重点:◆数据结构的“三要素”:逻辑结构、物理(存储)结构及在这种结构上所定义的操作(运算)。
◆用计算语句频度来估算算法的时间复杂度。
第二章线性表内容提要:◆线性表的逻辑结构定义,对线性表定义的操作。
线性表的定义:用数据元素的有限序列表示◆线性表的存储结构:顺序存储结构和链式存储结构。
顺序存储定义:把逻辑上相邻的数据元素存储在物理上相邻的存储单元中的存储结构。
链式存储结构: 其结点在存储器中的位置是随意的,即逻辑上相邻的数据元素在物理上不一定相邻。
通过指针来实现!◆线性表的操作在两种存储结构中的实现。
数据结构的基本运算:修改、插入、删除、查找、排序1)修改——通过数组的下标便可访问某个特定元素并修改之。
核心语句:V[i]=x;顺序表修改操作的时间效率是O(1)2) 插入——在线性表的第i个位置前插入一个元素实现步骤:①将第n至第i 位的元素向后移动一个位置;②将要插入的元素写到第i个位置;③表长加1。
2015年上半年软件水平考试(初级)网络管理员上午(基础知识)真题试卷(总分:150.00,做题时间:90分钟)一、选择题(总题数:64,分数:150.00)1.选择题()下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将此选项涂写在答题卡相应位置上,答在试卷上不得分。
__________________________________________________________________________________________ 解析:2.以下关于打开扩展名为docx的文件的说法中,不正确的是(1)。
(分数:2.00)A.通过安装Office兼容包就可以用Word 2003打开docx文件B.用Word 2007可以直接打开docx文件C.用WPS2012可以直接打开docx文件D.将扩展名docx改为doc后可以用Word 2003打开docx文件√解析:解析:扩展名为docx的文件是Word 2007及后续版本采用的文件格式,扩展名为doc的文件是Word 2003采用的文件格式,这两种文件的格式是不同的,如果将扩展名docx改为doc后是不能用Word 2003打开的。
但如果安装Office兼容包就可以用Word 2003打开docx文件。
另外,WPS2012兼容docx文件格式,故可以直接打开docx文件。
3.Windows系统的一些对话框中有多个选项卡,下图所示的“鼠标属性”对话框中(2)(分数:2.00)A.鼠标键B.指针C.滑轮√D.硬件解析:解析:在Windows系统的一些对话框中,选项分为两个或多个选项卡,但一次只能查看一个选项卡或一组选项。
当前选定的选项卡将显示在其他选项卡的前面。
显然“滑轮”为当前选项卡。
4.CPU中不包括(3)。
(分数:2.00)A.直接存储器(DMA)控制器√B.算逻运算单元C.程序计数器D.指令译码器解析:解析:本题考查计算机系统基础知识。
数据结构的常用算法一、排序算法排序算法是数据结构中最基本、最常用的算法之一。
常见的排序算法有冒泡排序、选择排序、插入排序、快速排序、归并排序等。
1. 冒泡排序冒泡排序是一种简单的排序算法,它重复地比较相邻的两个元素,如果它们的顺序错误就将它们交换过来。
通过多次的比较和交换,最大(或最小)的元素会逐渐“浮”到数列的顶端,从而实现排序。
2. 选择排序选择排序是一种简单直观的排序算法,它每次从待排序的数据中选择最小(或最大)的元素,放到已排序序列的末尾,直到全部元素排序完毕。
3. 插入排序插入排序是一种简单直观的排序算法,它将待排序的数据分为已排序区和未排序区,每次从未排序区中取出一个元素,插入到已排序区的合适位置,直到全部元素排序完毕。
4. 快速排序快速排序是一种常用的排序算法,它采用分治的思想,通过一趟排序将待排序的数据分割成独立的两部分,其中一部分的所有数据都比另一部分小,然后再按此方法对这两部分数据进行快速排序,递归地进行,最终实现整个序列有序。
5. 归并排序归并排序是一种稳定的排序算法,它采用分治的思想,将待排序的数据分成若干个子序列,分别进行排序,然后将排好序的子序列合并成更大的有序序列,直到最终整个序列有序。
二、查找算法查找算法是在数据结构中根据给定的某个值,在数据集合中找出目标元素的算法。
常见的查找算法有线性查找、二分查找、哈希查找等。
1. 线性查找线性查找是一种简单直观的查找算法,它从数据集合的第一个元素开始,依次比较每个元素,直到找到目标元素或遍历完整个数据集合。
2. 二分查找二分查找是一种高效的查找算法,它要求数据集合必须是有序的。
通过不断地将数据集合分成两半,将目标元素与中间元素比较,从而缩小查找范围,最终找到目标元素或确定目标元素不存在。
3. 哈希查找哈希查找是一种基于哈希表的查找算法,它通过利用哈希函数将目标元素映射到哈希表中的某个位置,从而快速地找到目标元素。
三、图算法图算法是解决图结构中相关问题的算法。
数据结构的查找算法在计算机科学中,数据结构是用于组织和存储数据的一种方式。
查找算法是数据结构中的重要部分,它用于在数据集合中搜索特定元素或信息。
本文将介绍几种常见的数据结构查找算法,包括线性查找、二分查找、哈希查找以及树结构的查找算法。
1. 线性查找线性查找是一种简单直观的查找方法,适用于无序的数据集合。
其基本思想是从数据集合的第一个元素开始逐个比较,直到找到目标元素或者遍历完整个数据集合。
由于线性查找需要遍历所有元素,所以时间复杂度为O(n),其中n为数据集合的大小。
2. 二分查找二分查找是一种高效的查找算法,但它要求数据集合中的元素必须有序。
具体实现方式是将数据集合分为两半,然后与目标元素进行比较,不断缩小查找范围,直到找到目标元素或者确定目标元素不存在。
由于每次都将查找范围减小一半,所以时间复杂度为O(log n),其中n为数据集合的大小。
3. 哈希查找哈希查找利用哈希函数将目标元素映射到哈希表中的特定位置,从而快速定位目标元素。
哈希表是一种以键-值对形式存储数据的数据结构,可以快速插入和删除元素,因此在查找时具有良好的性能。
哈希查找的时间复杂度为O(1),但在处理哈希冲突时可能会影响性能。
4. 树结构的查找算法树是一种常见的数据结构,其查找算法主要包括二叉搜索树、平衡二叉搜索树以及B树和B+树。
二叉搜索树是一种有序的二叉树,左子树的所有节点值都小于根节点,右子树的所有节点值都大于根节点。
通过比较目标元素与节点的值,可以快速定位目标元素。
平衡二叉搜索树是为了解决二叉搜索树在某些情况下可能出现的退化情况,通过旋转操作保持树的平衡性。
B树和B+树是一种多路搜索树,它们可以减少磁盘I/O操作,适用于大规模数据的查找。
综上所述,数据结构的查找算法是计算机科学中的重要内容。
不同的查找算法适用于不同的场景,选择合适的算法可以提高查找效率。
在实际应用中,需要根据数据集合的特点及查找需求来选择合适的算法。
数据结构复习资料(原创)第一章: (2)习题: (2)算法 (3)选择排序算法 (3)最大值和最小值算法 (4)第二章 (5)习题 (5)算法 (6)第三章 (7)习题 (7)第四章数组和广义表 (8)习题 (8)第五章树和二叉树 (9)习题 (9)第六章图 (10)习题 (10)第七章查找技术 (11)习题 (11)第八章排序技术 (12)习题 (12)第九章索引技术 (12)习题 (12)第一章:习题:1.数据元素是数据的基本单位,数据项是数据的最小单位,数据元素是讨论数据结构时涉及的最小数据单位。
2.从逻辑关系上分析,数据结构主要分为:集合,线性结构,树结构,图结构。
3.数据的存储结构主要有顺序存储结构和链接存储结构。
都要存储两方面的内容:数据元素和数据元素与数据元素之间的关系。
4.***算法的五特性:有零个或多个输入,有一个或多个输出,有穷性,确定性,可行性5.算法描述四法:自然语言,伪代码(被称为算法语言),程序设计语言,流程图6.一般情况下,一个算法的时间复杂度是问题规模的函数。
7.顺序存储结构中数据元素之间的关系是由存储位置表示的,链接存储结构是中元素之间的逻辑关系是由指针表示的。
8.算法是特定问题求解步骤的一种描述,是指令的有限序列。
9.算法分析的目的是分析算法的效率以求改进,两个分析的主要方面是时间性能和空间性能。
10.算法的时间复杂度要通过算法中的基本语句的执行次数的数量级来确定。
11.数组是一种没有插入和删除操作的数据结构。
12.数据的逻辑结构就是数据之间逻辑关系的整体。
13.逻辑结构与数据本身的内容和形式无关。
14.基于某种存储结构之上的基本操作,其实现不是唯一的。
算法选择排序算法Void SelectSort(r[ ],int n){for (int i=0;i<n-1;i++){Int index=i;int k;For(int j=i+1;j<n;j++)If(r[j]<r[index])index=j;if(index!=i)k=a[index];a[index]=a[j];a[j]=k;}}最大值和最小值算法Void max_nextmax(int a[],int n,int &max,int &nmax) {If(a[0]>a[1]){max=a[0];nmax=a[1];}Else{max=a[1];nmax=a[0];}For(i=2;i<n;i++){If(a[i]>max){nmax=maxmax=a[i];}else if(a[i]>nmax){nmax=a[i];}cout<<”最大值为:”<<max<<”\n次最大值为:”<<nmax<<endl;} }第二章习题1.在顺序表情况下,等概率的情况下,插入和删除一个元素须平均移动表长的一半个元素,具体移动元素的个数与表长和元素在表中的位置有关。
1、下列各种数据结构中属于线性结构的有( A )。
A)栈 B) 二叉树
C) 广义表 D) 图
2、n个顶点的图的最小生成树必定( D ),是不正确的描述。
A)不唯一 B)权的总和唯一
C)不含回路 D)有n条边
3、若采用邻接矩阵法存储一个n个顶点的无向图,则该邻接矩阵是一个( D )。
A)上三角矩阵 B) 稀疏矩阵
C) 对角矩阵 D) 对称矩阵
4、下面程序段的时间复杂度是( A )。
s =0;
for( i =0; i<n; i++)
for(j=0;j<n;j++)
s +=B[i][j];
sum = s ;
A) O(n2) B) O(n)
C) O(m*n) D)O(1)
5、在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为( B )。
A) rear=rear->next; B) front=front->next;
C) rear=front->next; D) front=rear->next ;
6、数据结构中,在逻辑上可以把数据结构分成( B )。
A)动态结构和静态结构
B)线性结构和非线性结构
C)紧凑结构和非紧凑结构
D)内部结构和外部结构
7、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以
C)部分地址必须是连续 D)必须是不连续的
8、数据结构研究的内容是( D )。
A)数据的逻辑结构 B)数据的存储结构
C)建立在相应逻辑结构和存储结构上的算法 D)包括以上三个方面
9、下面程序段的时间复杂度是( A )。
s =0;
for( i =0; i<n; i++)
for(j=0;j<n;j++)
s +=B[i][j];
sum = s ;
A) O(n2) B) O(n)
C) O(m*n) D)O(1)
10、在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top作为栈顶指针,当做出栈处理时,top变化为( C )。
A)top不变 B)top=0 C)top-- D)top++
11、n个顶点的图的最小生成树必定( D ),是不正确的描述。
A)不唯一 B)权的总和唯一
C)不含回路 D)有n条边
12、栈进行插入和删除操作的特点是( A )。
A)LIFO B)FIFO
C)FCFS D)HPF
13、n个顶点的图的最小生成树必定( D ),是不正确的描述。
A)不唯一 B)权的总和唯一
C)不含回路 D)有n条边
14、在一个单链表中,已知q结点是p结点的前趋结点,若在q和p之间插入s结点,则须执行( A )。
A)q->next=s; s->next=p; B)s->next=p->next; p->next=s;
C)p->next=s->next; s->next=p D)p->next=s; s->next=q;
15、下面关于线性表的叙述中,错误的是哪一个?( D )
A)线性表采用顺序存储,必须占用一片连续的存储单元。
B)线性表采用链接存储,便于插入和删除操作。
C)线性表采用链接存储,不必占用一片连续的存储单元。
D)线性表采用顺序存储,便于进行插入和删除操作。