数据结构考研题库绪论【圣才出品】
数据结构考研题库绪论【圣才出品】
数据结构考研题库绪论【圣才出品】哎呀,一提到数据结构考研题库的绪论,是不是感觉有点头大?别慌,咱们一起来瞅瞅这里面的门道。
我记得有一次,我去参加一个学术交流活动。
当时有个学生问一位资深的教授:“老师,数据结构到底是个啥?感觉好抽象啊!”教授笑了笑,指着旁边的书架说:“你看这书架上的书,有大有小,有薄有厚,我们为了方便找书,会按照一定的规则摆放,比如按照学科分类、按照作者名字的字母顺序等等。
这摆放的规则,就有点像数据结构。
”这就好比咱们的数据结构,它是一种组织和存储数据的方式,让我们能更高效地对数据进行操作和处理。
就像在一个图书馆里,如果书乱七八糟地堆着,找一本书得费老劲了;但有了合理的数据结构,就像给书都安排好了“座位”,找起来轻松多啦。
那咱们再来说说这考研题库里的绪论部分。
它就像是给咱们的一场热身运动,告诉我们数据结构这门课在考研中的地位和重要性。
比如说,它会告诉你,在历年的考研真题中,哪些知识点是经常出现的“常客”,哪些是偶尔露个面的“稀客”。
而且绪论还会给咱们讲讲学习数据结构的方法和技巧。
这就像是给你一把钥匙,告诉你怎么去打开这扇知识的大门。
比如说,要多做练习题,要善于总结归纳,还要学会举一反三。
再比如说,绪论里可能会提到一些常见的数据结构类型,像线性表、栈、队列、树、图等等。
这就像是给你介绍了一群“小伙伴”,让你先混个脸熟,知道它们的特点和脾气。
然后呢,考研题库的绪论还会告诉你,在考试的时候,要注意答题的规范和步骤。
不能想到啥就写啥,得有条有理,让阅卷老师能一眼看明白你的思路。
总之啊,这绪论就像是一个引路人,带着咱们走进数据结构考研的世界。
可别小看了它,认真琢磨琢磨,能让咱们后面的学习和复习少走好多弯路呢!就像开头说的那个书架的例子,只有先了解了规则,才能在知识的海洋里畅游,轻松找到我们想要的“宝藏”。
所以啊,同学们,一定要重视这数据结构考研题库的绪论部分,为我们的考研之路打下坚实的基础!。
考研-数据结构1800例题与答案(绪论)
第1章绪论一、选择题1. 算法的计算量的大小称为计算的〔〕。
【北京邮电大学2000 二、3 〔20/8分〕】A.效率 B. 复杂性 C. 现实性 D. 难度2. 算法的时间复杂度取决于〔〕【中科院计算所 1998 二、1 〔2分〕】A.问题的规模 B. 待处理数据的初态 C. A和B3.计算机算法指的是〔1〕,它必须具备〔2〕这三个特性。
(1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法(2) A.可执行性、可移植性、可扩大性 B. 可执行性、确定性、有穷性C. 确定性、有穷性、稳定性D. 易读性、稳定性、平安性【南京理工大学 1999 一、1〔2分〕【武汉交通科技大学 1996 一、1〔 4分〕】4.一个算法应该是〔〕。
【中山大学 1998 二、1〔2分〕】A.程序 B.问题求解步骤的描绘 C.要满足五个根本特性 D.A和C.5. 下面关于算法说法错误的选项是〔〕【南京理工大学 2000 一、1〔1.5分〕】A.算法最终必须由计算机程序实现B.为解决某问题的算法同为该问题编写的程序含义是一样的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的6. 下面说法错误的选项是〔〕【南京理工大学 2000 一、2 〔1.5分〕】(1〕算法原地工作的含义是指不需要任何额外的辅助空间〔2〕在一样的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法〔3〕所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界〔4〕同一个算法,实现语言的级别越高,执行效率就越低A.(1) B.(1),(2) C.(1),(4) D.(3)7.从逻辑上可以把数据构造分为〔〕两大类。
【武汉交通科技大学 1996 一、4〔2分〕】A.动态构造、静态构造 B.顺序构造、链式构造C.线性构造、非线性构造 D.初等构造、构造型构造8.以下与数据的存储构造无关的术语是〔〕。
【北方交通大学 2000 二、1〔2分〕】A.循环队列 B. 链表 C. 哈希表 D. 栈9.以下数据构造中,哪一个是线性构造〔〕?【北方交通大学 2001 一、1〔2分〕】A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串10.以下那一个术语与数据的存储构造无关?〔〕【北方交通大学 2001 一、2〔2分〕】A.栈 B. 哈希表 C. 线索树 D. 双向链表11.在下面的程序段中,对x的赋值语句的频度为〔〕【北京工商大学 2001 一、10〔3分〕】FOR i:=1 TO n DOFOR j:=1 TO n DOx:=x+1;A. O(2n) B.O(n) C.O(n2) D.O(log2n)12.程序段 FOR i:=n-1 DOWNTO 1 DOFOR j:=1 TO i DOIF A[j]>A[j+1]THEN A[j]与A[j+1]对换;其中 n为正整数,那么最后一行的语句频度在最坏情况下是〔〕A. O〔n〕B. O(nlogn)C. O(n3)D. O(n2) 【南京理工大学1998一、1(2分)】13.以下哪个数据构造不是多型数据类型〔〕【中山大学 1999 一、3〔1分〕】A.栈 B.广义表 C.有向图 D.字符串14.以下数据构造中,〔〕是非线性数据构造【中山大学 1999 一、4】A.树 B.字符串 C.队 D.栈15. 以下数据中,〔〕是非线性数据构造。
考研基础专业课“数据结构”历年考研真题与典型题详解(绪 论)【圣才出品】
第1章绪论1.1 知识要点总结一、数据结构的基本概念1.基础概念和术语(1)数据(Data):数据是客观事物的符号表示。
在计算机科学中指的是所有能输入到计算机中并被计算机程序处理的符号的总称。
(2)数据元素(Data Element):数据元素是数据的基本单位,在程序中通常作为一个整体来进行考虑和处理。
(3)数据项(Data Item):数据项是数据的不可分割的最小单位,数据项是对客观事物的某一方面的数据描述。
一个数据元素可由若干个数据项(Data Item)组成。
(4)数据对象(Data Object):数据对象是性质相同的数据元素的集合,是数据的一个子集。
如字符集合C={‘A’,’B’,’C’ ,…}(5)数据结构(Data Structure):数据结构是指相互之间存在一定联系(关系)的数据元素的集合。
元素之间的相互联系(关系)称为逻辑结构。
2.数据结构的形式定义数据结构的形式定义是一个二元组:Data Structure=(D, S)其中D是数据元素的有限集,S是D上关系的有限集。
数据元素之间的关系可以是元素之间本身代表的某种自然关系,也可以是为了处理问题方便而人为定义的关系,这种自然或人为定义的关系称为数据元素之间的逻辑关系,相应的结构称为逻辑结构。
3.数据结构的组成数据结构的三个组成部分:(1)逻辑结构数据元素之间的逻辑关系的描述。
数据元素之间的逻辑结构有四种基本类型:①集合:结构中的数据除了“同属于一个集合”外,没有其它关系。
②线性结构:结构中的数据元素之间存在一对一的关系。
③树形结构:结构中的数据元素之间存在一对多的关系。
④图形结构或网状结构:结构中的数据元素之间存在多对多的关系。
(2)存储结构数据结构在计算机中的实际表达方式,它包括对数据元素的表示和对关系的表示。
存储结构主要有:顺序存储、链式存储、索引存储和散列存储。
①顺序存储结构:用数据元素在存储器中的相对位置来表示数据元素之间的逻辑结构。
数据结构考研-章节题库-第1~4章【圣才出品】
十万种考研考证电子书、题库视频学习平台
第1章 绪 论
一、单项选择题 1.每个存储结点叧含有一个数据元素,存储结点存放在连续的存储空间,另外有一组 指明存储位置的表,该存储方式是( )存储方式。 A.顺序 B.链接 C.索引 D.散列 【答案】C 【解析】根据索引的定义,除表本身以外,迓需建立一个“索引表”,返个表指明存储 位置加快结点的查找过程。
4 / 144
圣才电子书
【答案】C
十万种考研考证电子书、题库视频学习平台
【解析】在存储数据时,需要存储数据元素的值和数据元素乊间的兰系。
10.在计算机的存储器中表示时,各元素的物理地址和逡辑地址的相对顺序相同并且 是连续的称乊为( )。
A.逡辑结构 B.顺序存储结构 C.链式存储结构 D.以上都对 【答案】B 【解析】顺序存储结构是一种直接映射。返种结构把逡辑上相邻的元素存储在物理位置 上相邻的存储单元里,直接反映数据元素乊间的逡辑兰系。
8.数据的存储结构是指( )。 A.数组类型 B.指针类型 C.数据乊间的逡辑兰系 D.数据乊间的物理兰系 【答案】D 【解析】数据的存储结构就是物理结构,指数据乊间的物理兰系。
9.在存储数据时,通常丌仅要存储各数据元素的值,而且迓要存储( )。 A.数据的处理方法 B.数据元素的类型 C.数据元素乊间的兰系 D.数据的存储方法
14.下面程序段中,执行 S 诧句的次数为( )。 for(int i=1;i<=n;i++)
for(int j=1;j<=i;j++) S;
A.n2 B.n2/2
6 / 144
圣才电子书
C.n(n+1)
十万种考研考证电子书、题库视频学习平台
全国硕士研究生入学统一考试计算机科学与技术学科联考数据结构题库 典型题(图)【圣才出品】
5.2 典型题(含历年真题)详解一、单项选择题1.设有向图G=(V,E),顶点集V={V0,V1,V2,V3},边集E={<V0,V1>,<V0,V2>,<V0,V3>,<V1,V3>},若从顶点V0开始对图进行深度优先遍历,则可能得到的不同遍历序列个数是()。
[2015年联考真题]A.2B.3C.4D.5【答案】D【解析】根据题意知有向图的结构如图所示。
深度优先遍历的特点是尽可能先对纵深方向进行搜索,所以可能得到的不同遍历序列分别是:①V0→V2→V1→V3;②V0→V2→V3→V1;③V0→V1→V3→V2;④V0→V3→V2→V1;⑤V0→V3→V1→V2。
2.对如下所示的有向图进行拓扑排序,得到的拓扑序列可能是()。
[2014年联考真题] A.3,1,2,4,5,6B.3,1,2,4,6,5C.3,1,4,2,5,6D.3,1,4,2,6,5【答案】D【解析】拓扑排序方法如下:(1)从有向图中选择一个没有前驱(即入度为0)的顶点并且输出它;(2)从图中删去该顶点,并且删去从该顶点发出的全部有向边;(3)重复上述两步,直到剩余的网中不再存在没有前趋的顶点为止。
对于此有向图进行拓扑排序所有序列为:3,1,4,6,2,5和3,1,4,2,6,5。
所以选D3.设图的邻接矩阵A如下所示,各顶点的度依次是()。
[2013年联考真题]A.1,2,1,2B.2,2,1,1C.3,4,2,3D.4,4,2,2【答案】C【解析】当图用邻接矩阵存储时,各顶点的度是矩阵中此结点对应的横行和纵列非零元素之和。
4.下列AOE网表示一项包含8个活动的工程。
通过同时加快若干进度可以缩短整个工程的工期。
下列选项中,加快其进度就可以缩短工程工期的是()。
[2013年联考真题]A.c和eB.d和eC.f和dD.f和h【答案】C【解析】根据AOE网的定义可知,同时缩短几条关键路径上的活动时间,可以缩短整个工期。
李春葆《数据结构教程》(第4版)章节题库-数组和广义表(圣才出品)
第6章数组和广义表一、选择题1.设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为()。
A.13B.33C.18D.40【答案】B【解析】对于对称矩阵,a i,j=a j,i。
为了节省存储空间,为多个相同的元素只分配一个存储空间。
对于对称矩阵,元素下表之间的对应关系为:当i>=j时,k=i(i-1)/2+j -1;当i< =j 时,k=j(j-1)/2+i-1。
其中k相当于地址空间的标号,i为行号,j为列号。
因为第一个元素存储地址为1,所以最后计算的k需要加1。
所以a85的存储位置为8*(8-1)/2+5=33。
2.设有数组A[i,j],数组的每个元素长度为3字节,i的值为1到8,j的值为1到10,数组从内存首地址BA开始顺序存放,当用以列为主存放时,元素A[5,8]的存储首地址为()。
A.BA+141B.BA+180C.BA+222D.BA+225【答案】B【解析】在计算中,可以考虑按照列存放时,A[5,8]在内存的位置,比较容易计算元素的首地址。
比如A[5,8]顺序存放时,它是第7*8+5=61个元素,由于首地址为BA,所以它的存储首地址为BA+(61-1)*3=180+BA。
3.数组通常具有的两种基本操作是()。
A.查找和修改B.查找和索引C.索引和修改D.建立和删除【答案】A【解析】数组中的元素是顺序存放的,通过下标可以很好地查找数组元素,同时通过对应的指针可以修改数组元素的值,因此数组通常具有的两种基本操作是查找和修改。
根据数组的性质,数组通常具有的两种基本运算是排序和查找。
4.将一个A[1..100,1..100]的三对角矩阵,按行优先存入一维数组B[1..298]中,A中元素A6665(即该元素下标i=66,j=65),在B数组中的位置K为()。
A.198B.195C.197【答案】B【解析】将对角矩阵a[i][j]存入b[k],三对角矩阵压缩地址计算公式如下:k=2i+j-2。
李春葆《数据结构教程》(第4版)课后习题-第一章至第十二章(圣才出品)
第二部分课后习题第1章绪论1.简述数据与数据元素的关系与区别。
答:凡是能被计算机存储、加工的对象统称为数据,数据是一个集合。
数据元素是数据的基本单位,是数据的个体。
数据与元素之间的关系是元素与集合之间的关系。
2.数据结构和数据类型有什么区别?答:数据结构是互相之间存在一种或多种特定关系的数据元素的集合,一般包括三个方面的内容,即数据的逻辑结构、存储结构和数据的运算。
而数据类型是一个值的集合和定义在这个集合上的一组运算的总称,如C语言中的int数据类型是由-32768~32767(16位机)的整数和+、-、*、/、%等运算符组成。
3.设3个表示算法频度的函数f、g和h分别为:f(n)=100n3+n2+1000g(n)=25n3+5000n2h(n)=n1.5+5000nlog2n求它们对应的时间复杂度。
答:f(n)=100n3+n2+1000=O(n3),g(n)=25n3+5000n2=O(n3),当n→∞时,√n>log2n,所以h(n)=n1.5+5000nlog2n=O(n1.5)。
4.用C/C++语言描述下列算法,并给出算法的时间复杂度。
(1)求一个n阶方阵的所有元素之和。
(2)对于输入的任意三个整数,将它们按从小到大的顺序输出。
(3)对于输入的任意n个整数,输出其中的最大和最小元素。
答:(1)算法如下:本算法的时间复杂度为O(n2)。
(2)算法如下:本算法的时间复杂度为O(1)。
(3)算法如下:本算法的时间复杂度为O(n)。
5.设n为正整数,给出下列各种算法关于n的时间复杂度。
(1)(2)(3)答:(1)设while循环语句执行次数为T(n),则:(2)算法中的基本运算语句是if(b[k]>b[j])k=j,其执行次数T(n)为:(3)设while循环语句执行次数为T(n),则:则6.有以下递归算法用于对数组a[i..j]的元素进行归并排序:求mergesort(a,0,n-1)的时间复杂度。
数据结构考研题库绪论【圣才出品】
数据结构考研题库绪论【圣才出品】在计算机科学领域,数据结构是一门极其重要的基础课程,也是考研中的重点内容之一。
对于准备考研的同学来说,深入理解和掌握数据结构的相关知识,熟练解答各类题目,是取得优异成绩的关键。
数据结构研究的是数据的组织、存储和操作方式。
它不仅仅是一些理论概念,更是解决实际问题的有力工具。
通过合理选择和运用数据结构,可以提高程序的效率、降低存储空间的消耗,使计算机系统能够更高效地处理和管理数据。
在考研题库中,关于数据结构绪论部分的题目,通常涵盖了数据结构的基本概念、发展历程、研究内容以及其在计算机科学中的重要地位等方面。
首先,我们来谈谈数据结构的基本概念。
简单来说,数据结构就是数据元素之间的关系。
这些数据元素可以是数字、字符、图像、音频等各种信息。
而数据结构则规定了这些元素如何组织在一起,以及如何对它们进行操作。
数据结构的发展历程也是一个值得关注的点。
从早期的简单线性表、栈和队列,到后来的树、图等复杂结构,数据结构不断演进和完善,以适应日益复杂的计算机应用需求。
这种发展反映了计算机技术的不断进步和人们对更高效数据处理方式的追求。
数据结构的研究内容非常丰富。
它包括数据的逻辑结构、存储结构以及相应的操作算法。
逻辑结构指的是数据元素之间的逻辑关系,如线性结构、非线性结构等;存储结构则是数据在计算机中的存储方式,如顺序存储、链式存储等。
而操作算法则是针对不同的数据结构,设计的一系列操作方法,如插入、删除、查找、排序等。
数据结构在计算机科学中的地位举足轻重。
它是操作系统、数据库、编译原理等众多核心课程的基础。
一个优秀的程序员或计算机专业的学生,必须具备扎实的数据结构知识,才能写出高效、可靠的程序。
在考研的题目中,可能会要求考生分析不同数据结构的特点和适用场景。
比如,对于需要频繁进行插入和删除操作的数据集合,链表可能是一个更合适的选择;而对于需要快速随机访问的数据,数组则可能更具优势。
也可能会考查考生对数据结构基本概念的理解。
数据结构考研-名校考研真题及模拟试题【圣才出品】
名校考研真题一、选择题1.已知程序如下:程序运行时使用栈来保存调用过程的信息,自栈底到栈顶保存的信息依次对应的是()。
[2015年联考真题]A.main()->S(1)->S(0)B.S(0)->S(1)->main()C.main()->S(0)->S(1)D.S(1)->S(0)->main()【答案】A【解析】函数S(int n)是一个递归函数:①当实际参数小于等于零时则返回0,并终止递归;②当实际参数大于零时则递归调用S(n-1),并将S(n-1)的结果加上n作为返回值。
程序从main()函数开始,首先调用main()函数;在main()函数中调用S(1)函数时,将main()函数的上下文保存到栈中,并进入函数S(1);由于函数S(1)的实际参数大于零,需要调用S(0),故将S(1)函数的上下文保存到栈中,进入S(0);在S (0)中,实际参数小于等于零,递归终止。
2.算法分析的目的是()。
[北京理工大学考研真题]A.找出数据结构的合理性B.研究算法中的输入和输出的关系C.分析算法的效率以求改进D.分析算法的易懂性和文档性【答案】C【解析】分析算法为的就是能对算法有更多、更好的改进。
3.先序序列为a,b,c,d的不同二叉树的个数是()。
[2015年联考真题]A.13B.14C.15D.16【答案】B【解析】二叉树的先序遍历定义为:若二叉树为空,则空操作;否则,访问根节点,然后先序遍历左子树,最后先序遍历右子树。
本题中,结点a为二叉树的根节点,左右子树的先序遍历可能存在下面四种情况:①左子树为空,bcd为右子树;②b为左子树,cd为右子树;③bc为左子树,d为右子树;④bcd为左子树,右子树为空。
然后将左右子树继续分解,如第①种情况的右子树先序遍历(bcd)可能有:a.左子树为空,右子树为cd;b.左子树为c,右子树为d;c.左子树为cd,右子树为空。
严蔚敏《数据结构》(C语言版)配套题库(章节题库1-6章)【圣才出品】
2.计算机算法指的是解决问题的步骤序列,它必须具备( )三个特性。 A.可执行性、可移植性、可扩充性 B.可执行性、确定性、有穷性 C.确定性、有穷性、稳定性 D.易读性、稳定性、安全性 【答案】B 【解析】计算机算法是以一步接一步的方式来详细描述计算机如何将输入转化为所要求 的输出的过程,或者说,算法是对计算机上执行的计算过程的具体描述,也就是解决问题的 步骤序列。一个算法通常需要具备五大特性:有穷性;确定性;可执行性;输入一个算法有 零个或多个输入;输出一个算法有零个或者多个输出。
FOR i:=n-1 DOWNT0 1 DO FOR j:=l TO i DO IF A[ j]>A[ j+1] THEN A[ j]与 A[ j+1]对换;
其中 n 为正整数,则最后一行的语句最坏情况下的时间复杂度是( )。 A.D(n) B.O(nlogn) C.O(n3) D.O(n2) 【答案】D 【解析】这个是冒泡排序,最坏的情况下需要进行 1+2+...+n-1 次交换,即时间复杂 度是 O(n2)。
6.数据结构的抽象操作的定义与具体实现有关。( ) 【答案】× 【解析】数据结构的抽象操作定义取决于客观存在的一组逻辑特性,与其在计算机内具 体表示和实现无关。
7.顺序存储方式的优点是存储密度大,且插入、删除运算效率高。( ) 【答案】× 【解析】前者正确,后者错误。顺序存储方式在插入、删除元素时需要挪动大量的元素, 执行效率较低。
3.以下说法错误的是( )。 (1)算法原地工作的含义是指不需要任何额外的辅助空间 (2)在相同的规模 n 下,复杂度 O(n)的算法在时间上总是优于复杂度 O(2n)的 算法
严蔚敏《数据结构》(第2版)章节题库-第11章 外部排序【圣才出品】
第11章 外部排序一、选择题1.下列排序算法中,其中()是稳定的。
A.堆排序,起泡排序B.快速排序,堆排序C.直接选择排序,归并排序D.归并排序,起泡排序【答案】D2.若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是()。
A.快速排序B.堆排序C.归并排序D.直接插入排序【答案】C【解析】稳定排序有:插入排序、起泡排序、归并排序、基数排序。
不稳定排序有:快速排序、堆排序、shell排序。
时间复杂度平均为O(nlog2n)的有:归并排序、堆排序、shell排序、快速排序。
3.在下面的排序方法中,辅助空间为O(n)的是()。
A.希尔排序B.堆排序C.选择排序D.归并排序【答案】D4.下列排序算法中,占用辅助空间最多的是()。
A.归并排序B.快速排序C.希尔排序D.堆排序【解析】归并排序的辅助空间为O(n),快速排序所占用的辅助空间为O(logn),堆排序所占用的辅助空间为O(1)。
5.将两个各有N个元素的有序表归并成一个有序表,其最少的比较次数是()。
A.N B.2N-1 C.2N D.N-1【答案】A【解析】归并排序基本思想:归并排序是多次将两个或两个以上的有序表合并成一个新的有序表。
最简单的归并是直接将两个有序的子表合并成一个有序的表。
归并排序最好情况下的复杂度为O(n)。
6.从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在已排序序列的合适位置,该排序方法称为()排序法。
A.插入B.选择C.希尔D.二路归并【答案】A【解析】解此题需要熟知各种排序方法的基本思想。
插入排序的基本思想是:假设待排序的记录存放在数组R[0..n-1]中,排序过程的某一中间时刻,R被划分成两个子区间R[0..i-1]和R[i..n-1],其中:前一个子区间是已排好序的有序区,后一个子区间则是当前未排序的部分,不妨称其为无序区。
将当前无序区的第1个记录R[i]插入到有序区R[0..i-1]中适当的位置上。
李春葆《数据结构教程》笔记和课后习题详解-第一章至第二章【圣才出品】
第1章绪论1.1复习笔记一、数据结构1.概述(1)计算机对具体问题的处理在用计算机解决一个具体的问题时,大致需要经过以下几个步骤:①分析问题,确定数据模型。
②设计相应的算法。
③编写程序,运行并调试程序,直至得到正确的结果。
(2)数据的含义①数据是描述客观事物的数、字符以及所有能输入到计算机中并被计算机程序处理的符号的集合。
从计算机的角度看,数据是所有能被输入到计算机中,且能被计算机处理的符号的集合。
它是计算机操作的对象的总称,也是计算机所处理信息的某种特定的符号表示形式。
②数据元素是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理,有些情况下数据元素也称为元素、结点、记录等。
一个数据元素可以由若干个数据项组成。
数据项是具有独立含义的数据的最小单位,也称为域。
③数据对象是性质相同的有限个数据元素的集合,它是数据的一个子集。
默认情况下,数据结构中的数据指的都是数据对象。
(3)数据结构的定义数据结构是指所有数据元素以及数据元素之间的关系,可以看作是相互之间存在特定关系的数据元素的集合,因此,可时把数据结构看成是带结构的数据元素的集合。
数据结构包括以下几个方面:①数据元素之间的逻辑关系,即数据的逻辑结构,它是数据结构在用户面前呈现的形式。
数据的逻辑结构是从逻辑关系(主要指数据元素的相邻关系)上描述数据的,它与数据的存储无关,是独立于计算机的。
因此,数据的逻辑结构可以看作是从具体问题抽象出来的数学模型。
②数据元素及其关系在计算机存储器中的存储方式,即数据的存储结构,也称为数据的物理结构。
数据的存储结构是逻辑结构用计算机语言的实现或在计算机中的表示(也称为映像),也是指逻辑结构在计算机中的存储方式,它是依赖于计算机语言的。
一般情况下,只在高级语言(如C、C++、Java语言)的层次上讨论存储结构。
③施加在该数据上的操作,即数据的运算。
数据的运算是定义在数据的逻辑结构之上的,每种逻辑结构都有一组相应的运算。
考研基础专业课“数据结构”历年考研真题与典型题详解(排 序)【圣才出品】
第7章排序7.1 知识要点总结一、排序的基本概念所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。
在学习排序算法前,必须首先了解以下几个概念:1.排序算法的稳定性若待排序的序列中,存在多个具有相同关键字的记录,经过排序,这些记录的相对次序保持不变,则称此算法稳定,反之,如果排序后相同关键字的相对次序发生改变,则称此排序算法不稳定。
2.内部排序与外部排序(1)内部排序:即指排序过程中,所有的数据元素都存放在内存中。
(2)外部排序:在排序期间,数据元素无法全部同时放在内存中,再排序过程中需要借助相应的外存设备才能完成。
二、插入排序所谓插入排序,就是在一个已经排好序的记录子集的基础上,每一步将待插入的记录放到有序记录集的合适位置,直到所有待排记录全部插入为止。
比较常用的插入排序方式主要有两种:直接插入排序与折半插入排序。
1.直接插入排序(1)基本思想把n个待排序的元素看成为一个有序表和一个无序表,开始时有序表中只包含一个元素,无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,将它插入到有序表中的适当位置,使之成为新的有序表,重复n-1次可完成排序过程。
(2)操作过程对待排序序列A[n]进行直接插入排序时,将数据序列分为有序区与无序区。
刚开始时,认为A[1]有序,其后序列无序。
此时从无序序列中取出A[2],插入到有序区中。
以后每次都从无序区取数插入有序区。
把A[i]插入到A[0],A[1],...,A[i-1]之中的具体实施过程为:先把A[i]赋值给变量t,然后将t依次与A[i-1],A[i-2],...进行比较,将比t大的元素右移一个位置,直到发现某个j(0≤j≤i-1),使得A[j] ≤t或j为(-1),把t赋值给A[j+1],直到无序区没有数据。
(3)直算法实现其算法实现如下所示:(4)算法分析①时间复杂度:从时间上分析,该算法在外层循环上执行n-1次插入,每次插入过程中还需要进行比较,最好的情况下(即数据已经有序),每次只需比较一次而且不需要移动数据,此时,总的比较次数为n-1。
李春葆《数据结构教程》(第4版)章节题库-第九章至第十二章(圣才出品)
第9章查找一、选择题1.若查找每个记录的概率均等,则在具有n个记录的连续顺序文件中采用顺序查找法查找一个记录,其平均查找长度ASL为()。
A.(n-1)/2B.n/2C.(n+1)/2D.n【答案】C【解析】最快查找一次成功,最慢查找n次成功。
平均查找次数为(1+2+3+…+n)/n,那么ASL=(n+1)/2。
2.在一个有N个元素的有序单链表中查找具有给定关键字的结点,平均情况下的时间复杂性为()。
A.O(1)B.O(N)C.O(N2)D.O(NlogN)【答案】B【解析】二分查找的时间复杂度为O(logn)。
在一个用N个元素的有序单链表中查找具有给定关键字的结点,因为查找是从头结点开始的,需要使用指针顺序往下查找,因此时间复杂度为0(N)。
3.对线性表进行折半查找时,要求线性表必须()。
A.以顺序方式存储B.以顺序方式存储,且数据元素有序C.以链接方式存储D.以链接方式存储,且数据元素有序【答案】B【解析】二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。
因此,折半查找方法适用于不经常变动而查找频繁的有序列表。
折半查找方法适用于对以顺序方式存储的有序表的查找,查找效率较高。
4.下列二叉排序树中查找效率最高的是()。
A.平衡二叉树B.二叉查找树C.没有左子树的二叉排序树D.没有右子树的二叉排序树【答案】A【解析】平衡二叉树的左子树和右子树的深度之差的绝对值不超过1。
这就保证了二叉树的深度是log2n级别的。
二叉查找树或者是一颗空数;或者是具有下列性质的二叉树:①若左子树不空,则左子树上所有结点的值均小于它的根结点的值;②若右子树不空,则右子树上所有结点的值均大于它的根结点的值;③左、右子树也分别为二叉排序树。
B、C、D 三项均不能保证左子树和右子树的深度之差的绝对值不超过1,甚至很大,因此查找效率低。
5.当在一个有序的顺序存储表上查找一个数据时,既可用折半查找,也可用顺序查找,但前者比后者的查找速度()。
数据结构考试试题库含答案解析
数据结构习题集含答案目录目录 (1)选择题 (2)第一章绪论. (2)第二章线性表. (4)第三章栈和队列. (6)第四章串. (7)第五章数组和广义表 (8)第六章树和二叉树 (8)第七章图. (11)第八章查找. (13)第九章排序. (14)简答题 (19)第一章绪论. (19)第二章线性表. (24)第三章栈和队列. (26)第四章串. (28)第五章数组和广义表 (29)第六章树和二叉树 (31)第七章图. (36)第八章查找. (38)第九章排序. (39)编程题 (41)第一章绪论. (41)第二章线性表. (41)第三章栈和队列. (52)第四章串. (52)第五章数组和广义表 (52)第六章树和二叉树 (52)第七章图. (52)第八章查找. (52)第九章排序. (57)选择题第一章绪论1. 数据结构这门学科是针对什么问题而产生的?( A )A、针对非数值计算的程序设计问题 B 、针对数值计算的程序设计问题C、数值计算与非数值计算的问题都针对D、两者都不针对2. 数据结构这门学科的研究内容下面选项最准确的是( D )A、研究数据对象和数据之间的关系 B 、研究数据对象C、研究数据对象和数据的操作D、研究数据对象、数据之间的关系和操作3. 某班级的学生成绩表中查得张三同学的各科成绩记录,其中数据结构考了90分,那么下面关于数据对象、数据元素、数据项描述正确的是( C )A、某班级的学生成绩表是数据元素,90 分是数据项B、某班级的学生成绩表是数据对象,90 分是数据元素C、某班级的学生成绩表是数据对象,90 分是数据项D、某班级的学生成绩表是数据元素,90 分是数据元素4. *数据结构是指(A )。
A、数据元素的组织形式B、数据类型C、数据存储结构D、数据定义5. 数据在计算机存储器内表示时,物理地址与逻辑地址不相同,称之为(C )。
A、存储结构B、逻辑结构C、链式存储结构D、顺序存储结构6. 算法分析的目的是( C )A、找出数据的合理性B、研究算法中的输入和输出关系C、分析算法效率以求改进D、分析算法的易懂性和文档型性7. 算法分析的主要方法( A )。
考研基础专业课“数据结构”历年考研真题与典型题详解(文 件)【圣才出品】
第8章文件8.1 知识要点总结一、文件的基本概念1.文件及其类别文件(file)是由大量性质相同的记录组成的集合。
(1)按其记录的类型不同分成两类:操作系统文件和数据库文件。
①操作系统文件仅是一维的连续的字符序列,无结构、无解释;②数据库文件是带有结构的记录的集合,由一个或多个数据项组成,它也是文件中可存取的数据的基本单位。
数据库文件还可按记录中关键字的多少再分成单关键字文件和多关键字文件。
(2)按记录长度是否确定分成定长记录文件和不定长记录文件。
2.记录的结构记录的逻辑结构是指记录在用户或应用程序员面前呈现的方式,是用户对数据的表示和存取方式。
记录的物理结构是数据在物理存储器上存储的方式,是数据的物理表示和组织。
在物理记录和逻辑记录之间可能存在下列三种关系:(1)一个物理记录存放一个逻辑记录;(2)一个物理记录包含多个逻辑记录;(3)多个物理记录表示一个逻辑记录;3.文件的操作文件的操作有两类:检索和修改。
(1)检索文件的检索有下列三种方式:①顺序存取:存取下一个逻辑记录;②直接存取:存取第i个逻辑记录。
以上两种存取方式都是根据记录序号(即记录存入文件时的顺序编号)或记录的相对位置进行存取的;③按关键字存取:给定一个值,查询一个或一批关键字与给定值相关的记录。
对数据库文件可以有如下四种查询方式:a.简单询问;b.区域询问;c.函数询问;d.布尔询问。
(2)修改文件的修改包括插入一个记录、删除一个记录和更新一个记录三种操作。
文件的操作可以有实时和批量两种不同方式。
4.文件的物理结构文件在存储介质(磁盘或磁带)上的组织方式称为文件的物理结构。
文件可以有各种各样的组织方式,其基本方式有三种:顺序组织、随机组织和链组织。
二、顺序文件1.定义顺序文件(sequential file)是记录按其在文件中的逻辑顺序依次进入存储介质而建立的,即顺序文件中物理记录的顺序和逻辑记录的顺序是一致的。
若次序相继的两个物理记录在存储介质上的存储位置是相邻的,则又称连续文件;若物理记录之间的次序由指针相连表示,则称串联文件。
考研基础专业课“数据结构”历年考研真题与典型题详解(查 找)【圣才出品】
第6章查找6.1 知识要点总结一、查找的基本概念1.查找查找是指在数据集合中,通过一定的方法找出与给定关键字相同的数据元素的过程。
如果在数据集中找到所指定的元素则称查找成功,反之,则称查找不成功。
2.关键字关键字是指数据元素中某个数据项的值,用它可以标志一个数据元素。
当数据元素只有一个数据项时,其关键字即为该数据元素的值。
3.查找表查找表是指由同一类型的数据元素构成的集合。
一般情况下,我们可以对查找表进行四种操作:查询特定的数据是否在表中;检索摸个特定元素的各种属性;在查找表中插入数据;从查找表中删除数据元素。
4.静态查找表静态查找表是指如果只在查找表中进行查找特定元素与检索数据属性操作,则该查找表就被称为静态查找表。
5.动态查找表动态查找表是指若在查找过程中同时向查找表中插入不存在的数据元素或者从查找表中删除某个已存在的数据元素,则称此查找表为动态查找表。
6.平均查找长度平均查找长度(ASL)是指在查找过程中,一次查找长度指的是查找关键字过程中的比较次数。
平均查找长度指查找过程中进行关键字比较次数的平均值。
二、顺序查找法1.顺序查找概念顺序查找,又称为线性查找,其基本思想是从表的一端开始扫描,顺序扫描线性表,依次扫描到的结点关键字与给定值K相比较.如果当前扫描到的结点关键字与给定值K相等,则查找成功;若扫描结束后,仍未找到关键字与给定值K相等,则查找失败。
2.顺序查找算法实现顺序查找算法既适用于顺序存储结构,也适用于线性表的链式存储结构。
对于一般线性表的顺序查找算法实现如下:3.顺序查找算法分析(1)哨兵的作用在此算法中,a[0]被称为哨兵,引入哨兵后,不必再判断数组是否越界。
因为当i=0时,循环一定会跳出程序的。
通过引入哨兵,可以减少程序中很多不必要的判断语句,提改编程效率。
(2)平均查找长度 对于顺序查找算法,一个有n 个关键字的表,对于给定的k 值,如果在表中存在该数据,则查找必定成功,查找成功时的ASL=1(n i 1)nii P =-+∑,当每个数据查找概率相等时,即P i =1/n ,此时平均查找长度为(n+1)/2。
李春葆《数据结构教程》(第4版)章节题库-文件(圣才出品)
第12章文件一、选择题1.哈希文件使用哈希函数将记录的关键字值计算转化为记录的存放地址,因为哈希函数是一对一的关系,则选择好的()方法是哈希文件的关键。
A.哈希函数B.除余法中的质数C.冲突处理D.哈希函数和冲突处理【答案】D【解析】哈希表是根据文件中关键字的特点设计一种哈希函数和处理冲突的方法将记录散列到存储设备上。
2.下述文件中适合于磁带存储的是()。
A.顺序文件B.索引文件C.哈希文件D.多关键字文件【答案】A【解析】磁带存储是一种顺序存储,顺序文件(sequential file)是记录按其在文件中的逻辑顺序依次进入存储介质而建立的,即顺序文件中物理记录的顺序和逻辑记录的顺序是一致的。
因此顺序文件适合磁带存储。
二、判断题1.倒排文件是对次关键字建立索引。
()【答案】√【解析】倒排文件是对每一个次关键字项建立次关键字索引(称为倒排表),将所有具有相同次关键字的记录的物理记录号都填入倒排表为此次关键字的表中。
2.倒排序文件的优点是维护简单。
()【答案】×【解析】倒排文件的优点是检索记录较快。
特别是对某些询问,不用读取记录,就可得到解答。
3.哈希表与哈希文件的唯一区别是哈希文件引入了“桶”的概念。
()【答案】×【解析】哈希文件是使用一个函数(算法)来完成一种将关键字映射到存储器地址的映射,根据用户给出的关键字,经函数计算得到目标地址,再进行目标的检索。
哈希表是根据关键码值而直接进行访问的数据结构。
4.文件系统采用索引结构是为了节省存储空间。
()【答案】×【解析】是为了缩短查找的时间,牺牲了一部分存储空间。
5.对处理大量数据的外存介质而言,索引顺序存取方法是一种方便的文件组织方法。
()【答案】×【解析】索引顺序存取方法插入操作比较麻烦,对于处理大量数据,会有大量的记录进入溢出区,而基本区中又浪费很多空间。
6.对磁带机而言,ISAM是一种方便的文件组织方法。
全国硕士研究生入学统一考试408计算机学科专业基础综合章节题库-数据结构第五章至第七章【圣才出品】
9.设无向图的顶点个数为 n,则该图最多有( )条边。 A.n-1 B.n(n-1)/2 C.n(n+1)/2 D.n2 【答案】B 【解析】对无向图来说边数最多的情况是任意两顶点之间都有边,即
1 / 125
圣才电子书 十万种考研考证电子书、题库视频学习平台
3.下列关于无向连通图特性的叙述中,正确的是( )。 Ⅰ.所有顶点的度之和为偶数 Ⅱ.边数大于顶点个数减 1 Ⅲ.至少有一个顶点的度为 1 A.只有 B.只有Ⅱ C.Ⅰ和Ⅱ D.Ⅰ和Ⅲ 【答案】A 【解析】基础题,略。
6.在一个具有 n 个顶点的无向图中,要连通全部顶点至少需要( )条边。 A.n B.n+1 C.n-1 D.n/2 【答案】C 【解析】假设每顶点都和其他顶点有边,则至少需要 n-1 条边将所有顶点连通。
7.若将数据结构中的数据元素称为结点,则一般没有开始结点和终端结点的数据结构 是( )。
A.树 B.图 C.多维数组 D.线性表 【答案】B
2 / 125
圣才电子书 十万种考研考证电子书、题库视频学习平台
B.用邻接矩阵法存储图,占用的存储空间数只与图中边数有关,而与结点个数无关 C.用邻接表法存储图,占用的存储空间数只与图中结点个数有关,而与边数无关 D.用邻接表法存储图,占用的存储空间数只与图中边数有关,而与结点个数无关 【答案】A 【解析】对于 n 个节点的图来说,用邻接矩阵法存储图,需要 n×n 个存储单元,只与 图中结点个数有关,与边数无关;用邻接表法存储图,与图的结点个数和边数都有关。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章绪论
一、单项选择题
1.每个存储结点只含有一个数据元素,存储结点存放在连续的存储空间,另外有一组指明存储位置的表,该存储方式是()存储方式。
A.顺序
B.链接
C.索引
D.散列
【答案】C
【解析】根据索引的定义,除表本身以外,还需建立一个“索引表”,这个表指明存储位置加快结点的查找过程。
2.在()存储结构中,数据结构中元素的存储地址与其关键字之间存在某种映射关系。
A.树形存储结构
B.链式存储结构
C.索引存储结构
D.散列存储结构
【答案】D
【解析】散列存储结构中是根据设定的哈希函数和处理冲突的方法将一组关键字映像到一个连续的地址集上,并以关键字在地址集中的象作为记录在表中的存储位置。
而树形存储
结构、链式存储结构和索引存储结构中关键字在结构中的相对位置是随机的。
3.以下属于逻辑结构的是()。
A.顺序表
B.哈希表
C.有序表
D.单链表
【答案】C
【解析】数据结构分别为逻辑结构、存储结构(物理结构)和数据的运算。
数据的逻辑结构是对数据之间关系的描述,与数据元素本身的形式、内容、相对位置、所含结点个数都无关。
顺序表、哈希表、单链表都涉及到数据的存储结构,有序表是指表中数据有序,与逻辑结构无关。
4.以下与数据的存储结构无关的术语是()。
A.循环队列
B.链表
C.哈希表
D.栈
【答案】D
【解析】数据元素之间的关系有两种不同的表示方法:顺序映象和非顺序映象,并由此得到两种不同的存储结构:顺序存储结构和链式存储结构,它们是数据的两种最基本的存储结构。
ABC三项,都属于链式存储结构。
D项,栈则是指从应用的角度来说的一种后进先
出的线性表结构,与具体的存储结构无关。
5.在数据结构中,与所使用的计算机无关的是数据的()结构。
A.逻辑
B.存储
C.逻辑和存储
D.物理
【答案】A
【解析】物理结构又称存储结构。
逻辑结构描述的是数据元素之间的关系,与所使用的计算机无关,而存储结构是逻辑结构在计算机中的表示,与具体使用的计算机有关。
6.数据结构是具有()的数据元素的集合。
A.性质相同
B.特定关系
C.相同运算
D.数据项
【答案】B
【解析】数据结构由数据元素集合和数据元素关系两部分组成。
7.以下说法正确的是()。
A.数据结构的逻辑结构是指数据的各数据项之间的逻辑关系。
B.数据元素是数据结构的最小单位。
C.数据结构的基本操作的设置的最重要的准则是,实现应用程序与存储结构的独立。
D.判断某个算法是否容易阅读是算法分析的任务之一。
【答案】C
【解析】A项,数据结构的逻辑结构是指数据的各数据元素之间的逻辑关系,而不是数据项之间的逻辑关系。
B项,数据元素是数据结构的基本单位,数据结构的最小单位是数据项。
D项,算法分析是一个软件的验证确认任务,用于保证选择的算法是正确的、合适的和稳定的,并且满足所有精确性、规模和时间方面的要求,保证产品高质量高效率的运行。
容易阅读是增加算法的可读性,不是算法分析的任务。
8.数据的存储结构是指()。
A.数组类型
B.指针类型
C.数据之间的逻辑关系
D.数据之间的物理关系
【答案】D
【解析】数据的存储结构就是物理结构,指数据之间的物理关系。
9.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储()。
A.数据的处理方法
B.数据元素的类型
C.数据元素之间的关系
D.数据的存储方法
【答案】C
【解析】在存储数据时,需要存储数据元素的值和数据元素之间的关系。
10.在计算机的存储器中表示时,各元素的物理地址和逻辑地址的相对顺序相同并且是连续的称之为()。
A.逻辑结构
B.顺序存储结构
C.链式存储结构
D.以上都对
【答案】B
【解析】顺序存储结构是一种直接映射。
这种结构把逻辑上相邻的元素存储在物理位置上相邻的存储单元里,直接反映数据元素之间的逻辑关系。
11.下面术语中,与数据的存储结构无关的是()。
A.循环队列
B.栈
C.散列表
D.单链表
【答案】B
【解析】只有栈是逻辑结构,其他选项都是存储结构(或物理结构)。
12.可以用()定义一个完整的数据结构。
A.数据元素
B.数据对象
C.数据关系
D.抽象数据类型
【答案】D
【解析】抽象数据类型描述了数据的逻辑结构和抽象运算,构成了一个完整的数据结构定义。
13.可以用()、数据关系和基本操作集定义一个完整的抽象数据类型。
A.数据元素
B.数据对象
C.原子类型
D.存储结构
【答案】B
【解析】抽象数据类型可用(数据对象,数据关系,基本操作集)三元组来表示。
14.下面程序段中,执行S语句的次数为()。
for(int i=1;i<=n;i++)
for(int j=1;j<=i;j++)
S;
A.n2
B.n2/2。