一、定义:
数据:所有能够输入到计算机中,且能倍计算机处理的符号的集合。
数据结构中主要讨论结构化数据。
数据项:用于描述数据元素(基本单位)
数据元素(基本单位)
数据项(最小单位)
数据对象(具有相同性质的若干个元素的集合,如整数数据对象是所有整数的集合)
默认情况下数据结构中讨论的数据都是数据对象
数据结构=数据对象 + 结构
数据结构中讨论的元素关系主要是指 相邻关系或邻接关系
一个数据的构成
逻辑结构:数据元素之间的逻辑关系(面向用户的)
表现逻辑结构的方式:
表格,二维表,图形
存储结构:数据元素及其关系在计算机存储器中的存储方式(面向程序员的)
逻辑结构=》映射=》存储结构
设计存储结构的这种映射应该满足两种要求
1、存储所有元素、
2、存储数据元素间的关系
顺序存储结构、
·所有元素占用一整块内存空间
逻辑上相邻的元素,物理上也相邻
链式存储结构、
一个逻辑元素用一个节点存储,每个结点单独分配,所有结点的地址不一定是连续 的
用指针来表示逻辑关系
数据运算:市价在该数据上的操作
数据运算是对数据的操作,分为两个层次:运算描述和运算实现
结论:同一逻辑结构可以对应多种存储结构
同样的运算,在不同的存储结构中,其实现过程是不同的。
逻辑结构的类型:
1、集合
元素之间的关系:无
特点:数据元素之间除了“属于同一个集合”的关系外,别无其他逻辑关系。是最松散的,不受任何制约的关系。
2、线性结构
元素之间的关系:一对一
特点:开始元素和终端元素都是唯一的,除此之外,其余元素都有且仅有一个前驱元素和后继元素
3、树形结构
元素之间的关系:一对多
特点:开始元素唯一,终端元素不唯一。除终端元素以外,每个元素有一个或多个后续元素;除开始元素外,每个元素有且仅有一个前驱元素。
列提:
4、图形结构
元素之间的关系:多对多
特点:所有蒜素都可能有多个前驱元素和多个后继元素
2、存储结构类型
顺序存储结构
链式存储结构
索引存储结构
哈希(散列)存储结构
3、数据类型和抽象数据类型
1、数据类型
在高级程序语言中提供了多种数据类型。不同数据类型的变量,其所能取的值的范围不同,所能进行的操作不同,所能进行的操作不同
数据类型:是一个值的集合和定义在此集合上的一组操作的总称
算法及其描述
算法的五个重要特征
1、有穷性(在有穷步之后结束,算法能够停机)
2、确定性 (无二义性)
3、可行性 (可通过基本运算有限次执行来实现,也就是算法中每一个动作能够被机械地执行)
4、有输入
5、有输出 4.5表示存在数据处理
算法通常返回bool值 表示算法是否成功执行。
形参列表:由输入型参数和输出型参数个构成
算法分析的目的:分析算法的时空效率以便改进算法性能
算法分析方式
1、事后分析统计方法:编写算法对应程序,统计其执行时间。
2、事前估算分析方法:认为算法的执行时间是问题规模n的函数;
递归算法的时空复杂度分析
递归算法是指算法中出现调用自己的成分
非递归算法分析也称为定长时空分析。
算法类别分为
1、递归算法
2、非递归算法
——————————————————————————————————————
线性表、
线性表是客观事物的抽象