数据结构复盘——第一章:绪论

文章目录

    • 第一部分:数据的专业术语
      • 1、数据
      • 2、数据元素
      • 3、数据项
      • 4、数据对象
      • 5、数据类型
      • 6、抽象数据类型(ADT)
    • 第一部分习题
    • 第二部分:数据结构
      • 1、逻辑结构:
      • 2、存储结构(又称物理结构)︰
      • 3、运算:
    • 第二部分习题
    • 第三部分:算法
      • 1、算法的五个特性
      • 2、算法的设计五个要求
    • 第三部分习题
    • 第四部分:算法分析
      • 1、算法的时间复杂度
      • 2、算法的空间复杂度
      • 第四部分习题


第一部分:数据的专业术语

1、数据

数据是所有能输入到计算机并能被计算机程序处理的符号总称

2、数据元素

数据元素是数据的基本单位

3、数据项

数据项是数据元素的最小单位

4、数据对象

数据对象是指性质相同的数据元素集合

5、数据类型

数据类型是一个值的集合与定义在此值集合上的一些操作的总称
如:int、float、char等

6、抽象数据类型(ADT)

通常用(数据对象、数据关系、基本操作)这样的三元组来表示抽象数据类型

第一部分习题

1.计算机内部数据处理的基本单位是(B) 。
A.数据
B.数据元素(是数据的基本单位)
C.数据项(是数据元素的最小单位)
D.数据库

2.以下说法正确的是(D) 。
A.数据项是 数据的基本 单位
B.数据元素是数据的最小 单位
C.数据结构是带结构的数据项 (数据元素)的集合
D.—些表面上很不相同的数据可以有相同的逻辑结构

3.(D)是具有相同特性数据元素的集合,是数据的子集。
A.数据符号
B.数据对象
C.数据
D.数据结构


第二部分:数据结构

数据结构 = 逻辑结构 + 存储结构 + 运算

1、逻辑结构:

指数据元素之间的逻辑关系,逻辑结构分4类基本结构:
数据结构复盘——第一章:绪论_第1张图片

2、存储结构(又称物理结构)︰

主要有顺序存储,链式存储,索引存储,散列存储

3、运算:

数据的运算是在数据的逻辑结构上定义的操作算法(如:增删改查)

第二部分习题

1.数据结构是指(A)。
A.数据元素的组织形式
B.数据类型
C.数据存储结构(是数据数据结构的组成部分)
D.数据定义(例如int a,明显不是)

2.在数据结构中,与所使用的计算机无关的是数据的(C)结构。
A.存储
B.物理
C.逻辑(属于人脑内的构思)
D.物理和存储

3.如一个结构中的数据元素之间存在一个对多个的关系,则此结构为(C)。
A.集合结构
B.线性结构(一对一)
C.树形结构(一对多)
D.图状结构(多对多)


第三部分:算法

1、算法的五个特性

算法是对特定问题求解步骤的一种描述。算法的五大特性:
(1)输入:一个算法有零个或多个输入。
(2)输出:一个算法有一个或多个输出,它们是与输入有特定关系的量。
(3)确定性:其每一条指令必须有确切的含义。
(4)可行性:算法中描述的操作都是可以通过可用的基本运算实现的。
(5)有穷性:算法指令是有限序列,且算法可以在某段时间内完成。
记忆口诀:“出入确可穷”

2、算法的设计五个要求

评价算法的优劣的基本标准:
正确性:能够确保对于某种相对程度的随机输入有正确的输出。
快速性:算法设计合理,执行时间效率高,可以用时间复杂度度量。
可读性:算法描述清晰易懂,使于修改和移植。
健壮性:当输入非法数据时,算法能作出适当的反应和处理。
节省性:算法占用存储容量合理,可以用空间复杂度或者存储密度度量。
记忆口诀:“正确快读健节”(正确快读见解)

第三部分习题

1.计算机算法指的是(C) 。
A.计算方法
B.排序方法
C.解决问题的有限运算序列
D.调度方法

2.一个算法应该是(B)
A.程序(不仅仅包含算法)
B.问题求解步骤的描述
C.要求满足五个基本特性(不单单只有算法可以满足这些特性)
D.A和C

3.设计一个“好"的算法应考虑(ABCD)-多选题
A.正确性
B.可读性
C.健壮性
D.效率与低存储量需求(节省性换了一种说法)


第四部分:算法分析

1、算法的时间复杂度

时间复杂度是指算法在计算机内执行时所需运行时间的度量
记作:T(n)= O(f(n)),其中 n 为问题的规模大小。

  • 常见的时间复杂度:
    时间复杂度大小关系

2、算法的空间复杂度

空间复杂度是指算法在计算机内执行时所需存储空间的度量
记作: S(n)=O(f(n)),其中 n 为问题的规模大小。

第四部分习题

1.下面程序段的时间复杂性的量级为(D)。

for (i=1; i<=n; i++)
	for (j=1; j<=i; j++)
		for (k=1; k<=j; k++)
			X=X+1;

A.O( 1 1 1)
B.O( n n n)
C.O( n 2 n^2 n2)
D.O( n 3 n^3 n3)

2.下面程序段的时间复杂性的量级(C)。

for (int i=o; i<m; i++)
	for (int j=o; j<n; j++)
		a[i][i]=i*j;

A.O ( m 3 m^3 m3)
B.O ( n 2 n^2 n2)
C.O ( m ∗ n m*n mn)
D.O ( m + n m+n m+n)


你可能感兴趣的:(数据结构,数据结构)