写在前面:仅供个人学习使用,侵删
数据的专业术语
1.数据
数据是所有能输入到计算机并能对计算机程序处理的符号总称
2.数据元素
数据元素是数据的基本单位
3.数据项
数据项是数据元素的最小单位
4.数据对象
数据对象是指性质相同的数据元素集合,是数据的子集
5.数据类型
数据类型是一个值的集合与定义在此集合上的一些操作的总称
1)原子类型 不可再分
2)结构类型 值可以再分解
6.抽象数据类型(ADT)
通常用(数据对象,数据关系,基本操作)这样的三元组来表述抽象数据类型
定义了一个ADT就是定义了数据的逻辑结构,数据的运算,也就是定义了一个数据结构
7.数据结构
数据结构=逻辑结构+存储结构+运算
数据结构是相互之间存在一种或多种特定关系的数据元素的集合
1)逻辑结构:指数据元素之间的逻辑关系
逻辑结构分为四类:
集合结构
线性结构(一对一 如线性表 栈 队列等)&(树 图 集合这种都是非线性结构)
树形结构(一对多)
图状结构或者网状结构(多对多)
2)存储结构(又称物理结构)
主要由顺序存储 链式存储 索引存储 散列存储
顺序存储各个数据元素在物理上必须连续
非顺序存储则可以离散
数据的存储结构会影响存储空间分配的方便程度和对数据运算的速度。
3)运算:数据的运算是在数据的逻辑结构上定义的操作算法
算法的5个重要特性(出入确可穷)
程序=数据结构(问题信息化)+算法(处理信息并解决实际问题)
1.输入:一个算法有零个或者多个输出
2.输出:一个算法有一个或者多个输出,他们和输入有特定关系
3.确定性:每一条指令都有确切的含义,对于相同的输入只能得出相同的输出
4.可行性:算法中描述的操作都可以通过可用的基本运算实现
5.有穷性:算法指令是有限序列,且可以在某段时间内完成(算法有穷 程序无穷)
算法设计要求
算法的时间复杂度和空间复杂度
(考虑成n就行了)
例题:
(因为n>log2n 所以结果为n^3)
常对幂指阶
复杂度:
最坏时间复杂度:最坏情况下算法的时间复杂度
平均时间复杂度:等概率期望运行时间
最好时间复杂度:最好情况下算法的时间复杂度
知识点回顾