数据结构第一章
- 格式:ppt
- 大小:925.00 KB
- 文档页数:50
第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、研究数据结构就是研究(D )。
A. 数据的逻辑结构B. 数据的存储结构C. 数据的逻辑结构和存储结构D. 数据的逻辑结构、存储结构及其基本操作(研究非数值计算的程序设计问题中,计算机操作对象以及他们之间的关系和操作)2、算法分析的两个主要方面是( A )。
A. 空间复杂度和时间复杂度B. 正确性和简单性C. 可读性和文档性D. 数据复杂性和程序复杂性3、具有线性结构的数据结构是( D )。
(线性结构就是:在非空有限集合中,存在为一个被称为第一个的数据元素和最后一个元素,有除了第一个元素,集合中每一个元素均只有一个前驱,除了最后一个元素有唯一后继)(链表、栈、队列、数组、串)A. 图B. 树C. 广义表(线性表的推广)D. 栈4、计算机中的算法指的是解决某一个问题的有限运算序列,它必须具备输入、输出、(B )等5个特性。
A. 可执行性、可移植性和可扩充性B. 可执行性、有穷性和确定性C. 确定性、有穷性和稳定性D. 易读性、稳定性和确定性5、下面程序段的时间复杂度是( C )。
for(i=0;i<m;i++)for(j=0;j<n;j++)a[i][j]=i*j;A. O(m2)B. O(n2)C. O(m*n)D. O(m+n)6、算法是(D )。
为了解决某一问题而规定的一个有限长的操作序列A. 计算机程序B. 解决问题的计算方法C. 排序算法D. 解决问题的有限运算序列7、某算法的语句执行频度为(3n+nlog2n+n2+8),其时间复杂度表示(C )。
A. O(n)B. O(nlog2n)C. O(n2)D. O(log2n)8、下面程序段的时间复杂度为( C )。
i=1;while(i<=n)i=i*3;A. O(n)B. O(3n)C. O(log3n)D. O(n3)9、数据结构是一门研究非数值计算的程序设计问题中计算机的数据元素以及它们之间的(B )和运算等的学科。
数据结构知识点概括第一章概论数据就是指能够被计算机识别、存储和加工处理的信息的载体。
数据元素是数据的基本单位,可以由若干个数据项组成。
数据项是具有独立含义的最小标识单位。
数据结构的定义:·逻辑结构:从逻辑结构上描述数据,独立于计算机。
·线性结构:一对一关系。
·线性结构:多对多关系。
·存储结构:是逻辑结构用计算机语言的实现。
·顺序存储结构:如数组。
·链式存储结构:如链表。
·索引存储结构:·稠密索引:每个结点都有索引项。
·稀疏索引:每组结点都有索引项。
·散列存储结构:如散列表。
·数据运算。
·对数据的操作。
定义在逻辑结构上,每种逻辑结构都有一个运算集合。
·常用的有:检索、插入、删除、更新、排序。
数据类型:是一个值的集合以及在这些值上定义的一组操作的总称。
·结构类型:由用户借助于描述机制定义,是导出类型。
抽象数据类型ADT:·是抽象数据的组织和与之的操作。
相当于在概念层上描述问题。
·优点是将数据和操作封装在一起实现了信息隐藏。
程序设计的实质是对实际问题选择一种好的数据结构,设计一个好的算法。
算法取决于数据结构。
算法是一个良定义的计算过程,以一个或多个值输入,并以一个或多个值输出。
评价算法的好坏的因素:·算法是正确的;·执行算法的时间;·执行算法的存储空间(主要是辅助存储空间);·算法易于理解、编码、调试。
时间复杂度:是某个算法的时间耗费,它是该算法所求解问题规模n的函数。
渐近时间复杂度:是指当问题规模趋向无穷大时,该算法时间复杂度的数量级。
评价一个算法的时间性能时,主要标准就是算法的渐近时间复杂度。
算法中语句的频度不仅与问题规模有关,还与输入实例中各元素的取值相关。
时间复杂度按数量级递增排列依次为:常数阶O(1)、对数阶O(log2n)、线性阶O(n)、线性对数阶O(nlog2n)、平方阶O(n^2)、立方阶O(n^3)、……k次方阶O(n^k)、指数阶O(2^n)。
数据结构题集第一章绪论一、单选题1.在数据结构中,从逻辑上可以把数据结构分成【C 】。
A。
动态结构和静态结构B。
紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构2.数据结构在计算机内存中的表示是指【A 】。
A.数据的存储结构B.数据结构C。
数据结构的逻辑结构 D.数据元素之间的关系3. 【A 】是数据的最小单位,【B 】是数据的基本单位。
A。
数据项B。
数据元素C.信息项D.表元素4。
计算机所处理数据一般具有某种内在联系,这是指【B 】.A.数据与数据之间存在某种关系B.数据元素与数据元素之间存在某种关系C.元素内部存在某种结构D.数据项与数据项之间存在某种关系5。
算法分析的目的是【C 】.A.找出数据结构的合理性B.研究输入和输出的关系C.分析算法的效率以求改进D。
分析算法的易懂性6。
在存储数据时,不仅要考虑存储各数据元素的值,而且还要存储【C 】。
A。
数据处理的方法B。
数据元素的类型C.数据元素之间的关系D。
数据的存储方法7.算法分析的主要任务是分析【D 】。
A.算法是否具有较好的可读性B。
算法中是否存储语法错误和逻辑错误C.算法的功能是否符合设计要求D.算法的执行时间与问题规模之间的关系。
8.数据的运算【A 】。
A.效率与采用何种存储结构有关B.是根据存储结构来定义的C.有算术运算和关系运算两大类D。
必须用程序设计语言来描述9.算法的计算量的大小称为算法的【B 】。
A.效率B。
时间复杂度 C.现实性 D.难度10.连续存储分配时,存储单元的地址【A 】。
A.一定连续B。
一定不连续C。
不一定连续 D.部分连续,部分不连续二、判断题1。
数据元素是数据结构的最小单位【.×】。
2。
数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的存储结构【×。
】.3.数据的逻辑结构指数据元素的各数据项之间的逻辑关系【×。
】。
4。
算法的优劣与算法的描述语言无关,但与使用的计算机有关【。
数据结构知识整理(部分)第一章:绪论1.数据:数据是外部信息的载体,他能够被计算机识别、存储和加工处理,是计算机程序加工的原料;2.数据元素:数据元素是数据的基本单位,在计算机中通常被作为一个整体进行考虑和处理;3.一个数据元素可由若干个数据项组成。
数据项是不可分割的、含有独立意义的最小数据单位,数据项有时也称为字段或域;4.数据结构是相互之间存在的一种或多种特定关系的数据元素的集合。
在任何问题中,数据元素之间都不是孤立的,而是存在着一定的关系,这种关系称为结构;5.4种基本数据结构:集合:只有“同属一个集合”的关系;线性结构:存在着一对一的关系;树形结构:存在着一对多的关系;图状结构:存在着多对多的关系;6.数据结构包括数据的逻辑结构和物理结构。
逻辑结构:从具体问题抽象出来的数学模型,与数据在计算机中的具体储存没有关系。
从逻辑上可以把数据结构分为线性结构和非线性结构,其中集合、树、图形结构属于非线性结构;7.数据的物理结构又叫存储结构,是数据在计算机中的表示和存储,包括数据元素的表示和存储以及数据元素之间关系的表示和存储,存储结构必须依赖于计算机。
数据元素之间的关系在计算机中的表示有两种:顺序映像和非顺序映像。
分别对应两和数据的存储结构:顺序存储结构和链式存储结构;顺序存储结构是指把逻辑上相邻的数据元素存储在物理位置相邻的存储单元中;链式存储结构不要求必须相邻。
链式存储结构中的数据元素叫做结点,在结点中附近设地址域来存储与该结点相邻的结点的地址来实现结点之间逻辑关系;8.在软件设计中,抽象数据类型通常包括定义、表示和实现三部分9.算法:是指在有限的时间范围之内为解决某一问题而采取的方法和步骤的准确完整的描述,他是一个有穷的规则序列,这些规则决定了解决某一特定问题的一系列运算;10算法的特征:有穷性,确定性,可行性,输入,输出;算法+数据结构=程序;11.评价一个算法的主要标准:正确性,可读性,健壮性,运行时间,占用空间;健壮性要求算法要全面细致的考虑所有可能出现的边界情况和异常情况;实际上,算法的时间效率和空间效率经常是一对矛盾,相互抵触,我们要根据实际问题进行处理,有时要牺牲空间换取时间,有时要牺牲时间换取空间。
数据结构题集第一章绪论一、单选题1.在数据结构中,从逻辑上可以把数据结构分成【C 】。
A.动态结构和静态结构B.紧凑结构和非紧凑结构C。
线性结构和非线性结构D。
内部结构和外部结构2。
数据结构在计算机内存中的表示是指【A 】。
A。
数据的存储结构B。
数据结构C.数据结构的逻辑结构D。
数据元素之间的关系3。
【A 】是数据的最小单位,【B 】是数据的基本单位。
A.数据项B.数据元素C.信息项D.表元素4. 计算机所处理数据一般具有某种内在联系,这是指【B 】.A.数据与数据之间存在某种关系B。
数据元素与数据元素之间存在某种关系C.元素内部存在某种结构D。
数据项与数据项之间存在某种关系5.算法分析的目的是【C 】.A.找出数据结构的合理性B。
研究输入和输出的关系C.分析算法的效率以求改进D.分析算法的易懂性6。
在存储数据时,不仅要考虑存储各数据元素的值,而且还要存储【C 】。
A。
数据处理的方法 B.数据元素的类型C。
数据元素之间的关系D。
数据的存储方法7。
算法分析的主要任务是分析【D 】。
A.算法是否具有较好的可读性B.算法中是否存储语法错误和逻辑错误C。
算法的功能是否符合设计要求D。
算法的执行时间与问题规模之间的关系。
8.数据的运算【A 】。
A.效率与采用何种存储结构有关B.是根据存储结构来定义的C。
有算术运算和关系运算两大类D.必须用程序设计语言来描述9。
算法的计算量的大小称为算法的【B 】.A.效率B.时间复杂度C.现实性D。
难度10.连续存储分配时,存储单元的地址【A 】.A.一定连续B。
一定不连续C。
不一定连续 D.部分连续,部分不连续二、判断题1.数据元素是数据结构的最小单位【。
×】.2。
数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的存储结构【×.】.3。
数据的逻辑结构指数据元素的各数据项之间的逻辑关系【×。
】。
4。
算法的优劣与算法的描述语言无关,但与使用的计算机有关【.×】。
一、选择题1、数据结构通常是研究数据的()及它们之间的相互联系。
A、存储和逻辑结构B、存储结构C、顺序结构D、链式存储结构2、数据在计算机存储器内表示时,物理地址和逻辑位置相同并且是连续的,称之为()A、存储结构B、逻辑结构C、顺序存储结构D、链式存储结构3、线性结构是数据元素之间存在一种()A、一对多关系B、多对多关系C、多对一关系D、一对一关系4、计算机算法指的是(),它具备输入、输出和()等五个特性。
1)A、计算方法B、排序方法C、解决问题的有限运算序列D、调度方法2)A、可行性、可移植性和可扩充性B、可行性、确定性和有穷性C、确定性、有穷性和稳定性D、易读性、确定性和安全性5、在计算机中数据有链式和顺序两种存储方式,在存储空间利用率上,链式存储比顺序存储更()A、高B、低C、相同D、不确定6、计算机内部数据处理的基本单位是()A、数据B、数据元素C、数据项D、数据库7、设语句x++的时间是单位时间,则语句:for(I=1;I<=n;I++)x++;时间复杂度为()A、O(1)B、O(n)C、O(n2)D、O(n3)二、填空题1、数据结构按逻辑结构可分为两大类,分别是(线性结构)和(非线性结构)。
2、一个算法的效率可分为(时间)效率和(空间)效率。
3、在树型结构中,根结点没有(双亲)结点,其余每个结点有且只有(一)个前驱结点;叶子结点没有(孩子)结点,其余每个结点的都可以(一个或多个)个这种结点。
4、下面程序段的时间复杂度是(O(N1/2))I=s=0;while (s<n){I++;s+=I;}5、下面程序段的时间复杂度是(O(N2))s=0;for(I=0;I<n;I++)for(j=0;j<n;j++)s+=B[I][j];sum=s;6、下面程序段的时间复杂度是(O(LOG3N))I=1;while (I<=n)I=I*3;7、下面程序段的时间复杂度是(O((N-1)*N/2))x=0;for(I=1;I<n;I++)for(j=I+1;j<=n;j++)x++;8、下面程序段的时间复杂度是(O((N-1)*N/2))x=0;for(I=1;I<n;I++)for(j=1;j<=n-I;j++)x++;9、下面程序段的时间复杂度是(O(N3))int I,j,k;for(I=0;I<n;I++)for(j=0;j<n;j++){C[I][j]=0;for(k=0;k<n;k++)C[I][j]=A[I][k]*B[k][j];}10、下面程序段的时间复杂度是(O(N))I=n-1;while ((I>=0)&&(A[I]!=k))i--;return I;。
数据结构习题集(2022)第一章绪论1.下面是几种数据的逻辑结构S=(D,R),分别画出对应的数据逻辑结构,并指出它们分别属于何种结构。
D={a,b,c,d,e,f}R={r}(a)r={,,,,}(b)r={,,,,}(c)r={,,,,}2.分析下列程序段的时间复杂度(a)for(i=0;ifor(j=0;jfor(i=0;ifor(j=0;jWhile(i3.在数据结构中,与所使用的计算机无关的是A.存储结构B.物理结构C.物理和存储结构D.逻辑结构4.非线性结构中每个结点A.无直接前驱结点B.只有一个直接前驱和直接后继结点C.无直接后继结点D.可能有多个直接前驱和多个直接后继结点5.可以把数据的逻辑结构划分成A.内部结构和外部结构B.动态结构和静态结构C.紧凑结构和非紧凑结构D.线性结构和非线性结构6.算法的时间复杂度取决于()。
A.问题的规模B.待处理数据的初态C.A和B7.计算机算法指的是(),它必须具备()这三个特性。
(1)A.计算方法B.排序方法C.解决问题的步骤序列D.调度方法(2)A.可执行性、可移植性、可扩充性B.可执行性、确定性、有穷性C.确定性、有穷性、稳定性D.易读性、稳定性、安全性第二章线性表一、单项选择题1.下面关于线性表叙述中,错误的是_(1)_。
(1):A.顺序表必须占用一片地址连续的存储单元B.链表不必占用一片地址连续的存储单元C.顺序表可以随机存取任一元素D.链表可以随机存取任一元素2.在表长为n的单链表中,算法时间复杂度为O(n)的操作是(2)。
(2):A.查找单链表中第i个结点B.在p结点之后插入一个结点C.删除表中第一个结点D.删除p结点的直接后继结点3.单链表的存储密度(3)(3):A.大于1B.等于1C.小于1D.不能确定4.在表长为n的顺序表中,算法的时间复杂度为O(1)的操作是(4)(4):A.在第n个结点之后插入一个结点B.在第i个结点前插入一个新结点C.删除第i个结点D.求表长5.在下列链表中不能从当前结点出发访问到其余各结点的是(5)。