既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
7、被计算机加工的数据元素不是孤立的,它们彼此之间一般存在某种关系,通常把数据元素之间的这种关系称为()。
A、规则
B、结构
C、集合
D、运算
8、在Data_structure=(D,R)中,D是()的有限集合。
A、数据元素
B、算法
C、数据操作
D、数据对象
解:Data_Structure=(D,S) D是数据元素的有限集合。S是D上关系的有限集。
9、以下关于数据结构的说法中错误的是()。
A、相同的逻辑结构对应的存储结构必然也相同
B、数据结构的讨论包括数据的逻辑结构、存储结构和基本运算等三个方面
C、数据结构基本运算的实现与存储结构有关
D、数据的存储结构是数据的逻辑结构的计算机实现
10、设有如下遗产继承规则:丈夫和妻子可以互相继承遗产,子女可以继承父亲和母亲的遗产,子女间不能相互继承,则表示该遗产继承关系最合适的数据结构应该是()。
A、树
B、图
C、线性表
D、集合
解:数据结构的种类
表结构(描述节点之间简单的的先后次序关系,比如一对一的关系
树结构(描述结点之间的层次关系和嵌套关系), 比如一对多的关系
图结构 (描述结点之间多对多的关系),比如城市的交通网
散结构(结点之间没有关系)
第4关:绪论客观题测试(四)
1、下面关于抽象数据类型的描述错误的是()。
A、数据封装
B、用例驱动
C、信息隐藏
D、使用与实现分离
解:抽象数据类型(ADT)是一种高级编程概念,它封装了数据的实现细节,只对外提供公共的接口来访问数据。抽象数据类型的特点包括:数据封装、信息隐藏和使用与实现分离。因此,选项A、C、D都是正确的。而选项B“用例驱动”不是抽象数据类型的特点,它通常用于面向对象的设计中,通过用例来驱动系统的设计和实现。
2、下列函数的时间复杂度是( )。
int func(int n){
int i=0,sum=0;
while(sum<n)
sum+=++i;
return i;
}
A、O(log2n
)
B、O(n1/2
)
C、O(n)
D、O(nlog2n
)
3、以下选项中()不是算法必须具备的特性。
A、可行性
B、有穷性
C、高效性
D、确定性
**解:**一个算法必须满足5大特性:
1、有穷性:一个算法必须执行有穷步后结束、
2、确定性:对于每种情况下所应执行的操作,在算法中都应该有确切的规定,不会产生二义性,使得算法的执行者和阅读者都能明确其含义以及如何执行。
3、可行性:算法中的所有操作都可以通过已经实现的基本操作运算执行有限次来实现
4、输入:一个算法应该有0个、一个或多个输入。
5、输出:一个算法应该有一个或多个输出。
评价算法的优劣应该从以下几个方面:
1、正确性:你的算法一定是正确的。
2、可读性:你的算法一定易于让别人读懂
3、健壮性:对于非法输入,你的算法一定可以做出判断做出争取的处理,比如打印出:“您的输入非法”等。
4、高效性:你的算法要尽可能的跑的快,占用的空间小。
4、抽象数据类型的三个组成部分分别为()。
A、数据元素、数据结构和数据类型
B、数据元素、逻辑结构和存储结构
C、数据项、数据元素和数据类型
D、数据对象、数据关系和基本操作
5、顺序存储结构中数据元素之间的逻辑关系是由()表示的。
A、线性结构
B、非线性结构
C、指针
D、存储位置
- 6、以下程序段中语句"x++;"的语句频度为()。
for( i=1; i<=n; i++)
for (j=1; j<=i; j++) for (k=1; k<=j;k++)
x++;
A、
B、
C、
D、
- 这个程序段的语句"x++"嵌套在最深层的循环中,即三个循环嵌套的内部循环。第一个循环从1到n,第二个循环从1到i,第三个循环从1到j。
考虑到这一点,可以分析出这三个循环的迭代次数分别是n、n(n+1)/2和n(n+1)(2n+1)/6。由于每次内部循环都会执行一次"x++",因此总频度是这三个迭代次数的乘积,即n(n+1)(2n+1)/6。
- 7、
下面说法错误的是()。
A、某算法的时间复杂度为 O( n2 ) ,表明该算法的执行时间与 n2 成正比
B、在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度 O( 2n ) 的算法
C、所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界
D、算法原地工作的含义是指不需要任何额外的辅助空间
- **解:**算法原地工作是指所需辅助空间是常量
-
- 8、下面算法将一维数组a中的n个数逆序存放到原数组中,空间复杂度为()。
-
for(i=0;i<n/2;i++)
{ t=a[i];
a[i]=a[n-i-1];
a[n-i-1]=t;
}
* A、O(n)
B、O(1)
C、O(log2n)
D、O(n2)
* 9、设n是描述问题规模的非负整数,下列程序段的时间复杂度是( )。
* ```
x=0;
while(n>=(x+1)*(x+1))
x=x+1;
A、O(log2n)
B、O(n1/2)
C、O(n)
D、O(n2)
- 10、以下与数据的存储结构无关的术语是()。
A、链队
B、无向图
C、有序链表
D、顺序表
-
解:与数据的存储结构无关的术语是B、无向图。无向图是一种图论中的基本概念,它由一些节点和连接这些节点的边组成,没有任何方向性。在无向图中,边只是连接两个节点的关系,没有特定的起始节点和结束节点。而链队、有序链表和顺序表都是与数据的存储结构有关的术语。链队是一种特殊的队列,使用链表作为存储结构;有序链表是指元素按照一定顺序排列的链表;顺序表则是指用数组实现的线性表。
第5关:绪论客观题测试(五)
1、数据元素是数据的基本单位。
A、对
B、错
2、记录是数据处理的最小单位。
A、对
B、错
**解:**数据项
3、数据的逻辑结构是指数据的各数据项之间的逻辑关系。
A、对
B、错
解:为数据元素之间的逻辑关系
4、算法的优劣与算法描述语言无关,但与所用计算机有关。
A、对
B、错
5、健壮的算法不会因非法的输入数据而出现莫名其妙的状态。
A、对
B、错
6、数据的物理结构是指数据在计算机内的实际存储形式。
A、对
B、错
7、算法一般用类C语言之类的伪码来描述,如果用C语言等高级语言来描述,则算法实际上就是程序了。
A、对
B、错
**解:**这个说法是错误的。算法是一种抽象的计算思想,它描述了一种解决问题的方法或步骤,而并不特指具体的代码实现。虽然算法通常可以用伪代码或高级语言来描述,但并不意味着用高级语言描述的算法就是程序。程序是实现算法的具体代码,它根据算法的描述进行编写和实现。因此,不能将算法和程序混为一谈。因此,这个说法是错误的。
8、在数据元素内数据项之间也有关系,在讨论数据的逻辑结构时应考虑。
A、对
B、错
**解:**在讨论数据的逻辑结构时,我们主要关注的是数据元素之间的关系,而不是数据项之间的关系。数据项是属于数据元素的,讨论逻辑结构时,一般只考虑数据元素之间的关系。
9、基本运算的定义依赖于逻辑结构,运算的实现也依赖于逻辑结构而与存储结构无关。
A、对
B、错
**解:**运算的实现并不完全依赖于逻辑结构,它还可能受到存储结构的影响。例如,在某些计算机系统中,特定的运算可能会因为存储结构的不同而需要采用不同的算法或程序实现。
10、从逻辑关系上讲,数据结构主要分为两大类:顺序结构和链式结构。
A、对
B、错
**解:**从逻辑关系上讲,数据结构主要分为两大类:线性结构和非线性结构。
第6关:绪论客观题测试(六)
1、顺序存储方式的优点是存储密度大,且插入、删除运输效率高。
A、对
B、错
2、抽象数据类型的定义与计算机内部表示和实现无关。
A、对
B、错
**解:**这个说法是正确的。抽象数据类型(ADT)是一种高级编程概念,它隐藏了数据的实现细节,只提供一组操作来处理数据。这意味着,使用抽象数据类型,我们可以通过定义一组操作来定义一个数据类型,而不需要关心它在计算机内部的表示和实现。这种抽象使得我们可以更方便地使用和重用数据类型,并且可以简化程序的复杂度。因此,抽象数据类型的定义确实与计算机内部表示和实现无关。
3、算法独立于具体的程序设计语言,且与具体的计算机无关。
A、对
B、错
4、同一个算法,实现语言级别越高,算法执行的效率越低。
A、对
B、错
**解:**这个说法是正确的。算法的执行效率通常受到实现语言级别的影响。一般来说,高级编程语言(如Python、Java)相比于低级编程语言(如C、C++)来说,其运行效率较低。这是因为在高级编程语言中,许多底层细节(如内存管理、数据类型转换等)都是由解释器或编译器来处理的,这会增加运行时间和资源消耗。
5、算法的某些步骤可以有二义性。
A、对
B、错
6、算法是有限长的操作序列。
A、对
B、错
7、所谓渐进时间复杂度是在最坏情况下,估计算法执行时间的一个上界。
A、对
B、错
8、算法中语句执行的频度就是算法的时间复杂度。
A、对
B、错
**解:**算法的时间复杂度是衡量算法运行时间的一个重要指标,它考虑了算法中基本操作(例如比较、赋值、循环等)的频度。然而,算法中语句执行的频度只是时间复杂度的一个方面。时间复杂度还需要考虑算法中的其他因素,例如输入数据的规模、算法的具体实现方式等。因此,算法中语句执行的频度并不等同于算法的时间复杂度。
9、在很多情况下,数据元素的取值情况不同,算法的执行时间也不同。
A、对
B、错
10、在很多情况下,数据元素的排列情况不同,算法执行所需时间也不同。
A、对
B、错
11、算法的时间效率和空间效率往往相互冲突,有时很难两全其美。
A、对
B、错
12、在很多情况下,数据元素的查找概率不同,算法的查找时间也不同。
A、对
B、错
解: 在很多情况下,数据元素的查找概率是不同的,这意味着在数据结构中每个元素被访问的概率不一样。这种不同的访问概率会对算法的查找时间产生影响。一些常用的查找算法,如二分查找、线性查找等,其查找时间复杂度就与元素的分布情况有关。如果数据是均匀分布的,那么这些算法的平均时间复杂度可能处于最佳情况;但如果数据分布不均,那么平均时间复杂度可能会增加。因此,算法的查找时间确实会因为数据元素的查找概率不同而有所差异。
第7关:绪论客观题测试(七)
1、链式存储设计时,结点内的存储单元地址()。
A、一定连续
B、一定不连续
C、不一定连续
D、部分连续,部分不连续
2、与数据元素本身的形式、内容、相对位置、个数无关的是数据的()。
A、存储结构
B、存储实现
C、逻辑结构
D、运算实现
3、以下关于数据结构的说法中,正确的是()。
A、数据的逻辑结构独立于其存储结构
B、数据的存储结构独立于其逻辑结构
C、数据的逻辑结构唯一决定其存储结构
D、数据结构仅由其逻辑结构和存储结构决定
4、以下算法的时间复杂度为()。
A、O(1)
B、O(n)
C、O(n2)
D、O(n1/2)
x = 90; y = 100;
while(y > 0){
if(x > 100){
x = x - 10;
y--;
}
else
x++;
}
5、算法的计算量的大小称为计算的()。
A、效率
B、复杂性
C、现实性
D、难度
6、以下说法正确的是()
A、数据项是数据的最小单位
B、记录是数据处理的最小单位
C、无穷性是算法的设计要求
D、算法的优劣与算法描述语言无关,但与所用计算机有关
7、以下算法的时间复杂度为()。
A、O(n)
B、O(1)
C、O(log2n)
D、O(n2)
s = 0;
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
s += B[i][j];
sum = s;
8、以下说法正确的是()。
A、数据元素是数据的最小单位
B、数据项是数据的基本单位
C、数据结构是带有结构的各数据项的集合
D、一些表面上很不相同的数据可以有相同的逻辑结构
9、下面说法错误的是()。 (1)算法原地工作的含义是指不需要任何额外的辅助空间 (2)算法的时间复杂度取决于问题的规模和待处理数据的初态 (3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界 (4)某算法的时间复杂度为O(n2),表明该算法的执行时间与n2成正比
A、(1)
B、(1),(2)
C、(1),(4)
D、(3)
10、树形结构是数据元素之间存在的一种()。
A、一对一关系
B、多对多关系
C、多对一关系
D、一对多关系
第8关:绪论客观题测试(八)
1、设数据结构A=(D,R),其中D={1,2,3,4},R={r},r={<1,2>,<2,3>,❤️,4>,<4,1>},则数据结构A是()。
A、线性结构
B、树结构
C、图
D、集合
2、以下与数据的存储结构有关的术语是()。
A、有序表
B、链表
C、有向图
D、树
3、以下程序段的时间复杂度为()。
A、O(n)
B、O(nlog2n)
C、O(1)
D、O(n1/2)
y=0;
while((y+1)*(y+1)<=n)
y=y+1;
4、以下说法中错误的是()。
A、在很多情况下,数据元素的取值情况不同,算法的执行时间也不同
B、在很多情况下,数据元素的排列情况不同,算法执行所需时间也不同
C、树是非线性数据结构
D、在存储数据时,通常不仅要存储各数据元素的值,而且要存储数据的类型
5、有以下算法,其时间复杂度为()。
A、O(n)
B、O(nlog2n)
C、O( n1/3)
D、O(n1/2)
void fun (int n){
int i=0;
while(i*i*i<=n)
i++;
}
6、计算机所处理的数据一般具备某种内在联系,这是指( )。
A、数据和数据之间存在某种关系
B、元素和元素之间存在某种关系
C、元素内部具有某种结构
D、数据项和数据项之间存在某种关系
7、数据结构在计算机内存中的表示是指( )。
A、数据的存储结构
B、数据结构
C、数据的逻辑结构
D、数据元素之间的关系
8、数据采用链式存储结构时,要求()。
A、每个结点占用一片连续的存储区域
B、所有结点占用一片连续的存储区域
C、结点的最后一个域必须是指针域
D、每个结点有多少后继节点,就必须设多少个指针域
9、对一个算法的评价,不包括如下()方面的内容。
A、健壮性和可读性
B、并行性
C、正确性
D、时空复杂度
10、算法是()。
A、计算机程序
B、解决问题的计算方法
C、排序算法
D、解决问题的有限运算序列
第9关:绪论客观题测试(九)
1、可以用()定义一个完整的数据结构。
A、数据元素
B、数据对象
C、数据关系
D、抽象数据类型
2、以下数据结构中,()是非线性数据结构。
A、图
B、字符串
C、队列
D、栈
3、以下属于逻辑结构的是()。
A、顺序表
B、循环链表
C、有序表
D、单链表
4、以下与数据的存储结构无关的术语是()。
A、循环队列
B、链表
C、堆
D、栈
5、一个算法应该是()。
A、程序
B、要满足五个基本特性
C、问题求解步骤的描述
D、A和C
6、图结构是数据元素之间存在一种()。
A、一对多关系
B、多对多关系
C、多对一关系
D、一对一关系
7、数据结构中,与所使用的计算机无关的是数据的()。
A、存储结构
B、物理结构
C、逻辑结构
D、物理和存储结构
8、算法分析的两个主要方面是()。
A、时间复杂性和空间复杂性
B、正确性和简明性
C、可读性和文档性
D、数据复杂性和程序复杂性
9、计算机算法必须具备输入、输出和()等五个特性
A、可行性、可移植性和可扩充性
B、有限性、确定性、可执行性
C、确定性、有穷性和稳定性
D、易读性、稳定性和安全性
10、数据结构中组成数据的基本单位是()。
A、数据对象
B、数据元素
C、数据项
D、以上都不对
第10关:绪论客观题测试(十)
1、下面关于算法说法正确的是()。
A、算法最终必须由计算机程序实现
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
顺序表
B、循环链表
C、有序表
D、单链表
4、以下与数据的存储结构无关的术语是()。
A、循环队列
B、链表
C、堆
D、栈
5、一个算法应该是()。
A、程序
B、要满足五个基本特性
C、问题求解步骤的描述
D、A和C
6、图结构是数据元素之间存在一种()。
A、一对多关系
B、多对多关系
C、多对一关系
D、一对一关系
7、数据结构中,与所使用的计算机无关的是数据的()。
A、存储结构
B、物理结构
C、逻辑结构
D、物理和存储结构
8、算法分析的两个主要方面是()。
A、时间复杂性和空间复杂性
B、正确性和简明性
C、可读性和文档性
D、数据复杂性和程序复杂性
9、计算机算法必须具备输入、输出和()等五个特性
A、可行性、可移植性和可扩充性
B、有限性、确定性、可执行性
C、确定性、有穷性和稳定性
D、易读性、稳定性和安全性
10、数据结构中组成数据的基本单位是()。
A、数据对象
B、数据元素
C、数据项
D、以上都不对
第10关:绪论客观题测试(十)
1、下面关于算法说法正确的是()。
A、算法最终必须由计算机程序实现
[外链图片转存中…(img-t3AVJaKa-1714975019475)]
[外链图片转存中…(img-C2uwzNAc-1714975019476)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!