数据结构:
相互之间存在一种或多种特定关系的数据元素的集合
![]() | |
---|---|
逻辑结构 | 物理结构 |
用来表示、表达 | 用来告诉计算机怎么存放(按自己的理解写的) |
(补一下结构)
结构
上面说了,数据元素之间存在一种或多种特定关系,我们把这种关系,称为结构。
逻辑结构 | 举个栗子 |
---|---|
集合结构(同属于一个集合) | ![]() |
线性结构(一对一) | ![]() |
树形结构(一对多) | ![]() |
图形结构(多对多) | ![]() |
物理结构 | 说明 | 优缺点 |
---|---|---|
顺序存储结构 | 按顺序存储,先开辟一段连续的空间,然后按照大小分位置(因为相同类型,所以每个位置大小一样),第一个数据放第一个位置、第二个放第二个、以此类推。提醒一下,数组别越界 | 好找(找的时间短即时间复杂度为O(1),也就是所需时间短),事实上总会涉及到插入和删除等操作、此时时间复杂度即为O(n)甚至更大,也就是所需时间长 |
链式存储结构 | ![]() | 插入、删除操作快了、不好找了(想要找到第6个需要先找到第5个,但找到第5个的前提是找到第4个,嗯麻烦、慢时间复杂度O(n)) |
数据类型
是一组性质相同的值的集合及定义在此集合上的一些操作的总称(不太理解定义,不影响了解一下下面的)
八大基本数据类型
整数类型:byte、short、int、long
小数类型:float、double
字符类型:char
布尔类型:boolean
1、 整数数据类型
byte:1个字节,8位,256种状态,取值范围为【-128,127】
short:2个字节,16位,65536种状态,取值范围为【-32768,32767】
int:4个字节,32位,整数类型默认是int类型,取值范围约21亿【-2,147,483,648~2,147,483,647之间)】
long:8个字节,64位,long类型表示long类型常量,要加L或者l
2、 小数数据类型
float:4个字节,32位,单精度,能精确到6~7位,声明一个小数类型,要加F或者f
double:8个字节,64位,双精度,能精确到15~16位,小数类型默认是double类型
3、 字符数据类型
char:2个字节,16位,字符表示Unicode编码表中的每一个符号,每个符号使用单引号引起来,其中前128个符号和ASCII表相同
4、 布尔数据类型
boolean:占1位,有true和false2个值,一个表示真,一个表示假,一般用于表示逻辑运算
抽象数据类型
一个数学模型及定义在该模型上的一组操作
抽象 抽出问题的特征、忽略细节
一个小栗子:3维坐标中的点,Point x,y,z;
描述抽象数据类型的标准格式:(不了解?没事,我也没见过)
ADT抽象数据类型名
DATA
数据元素之间逻辑关系的定义
OPeration
操作1
初始条件
操作结果描述
操作2
·····
操作n
·····
endADT
评论 (0)