1数据结构二元组定义:将数据结构定义为一个二元组,
D表示数据元素的有限集,S是D上的关系的有限集
2数据结构的定义仅是对操作对象的一种数学描述,
是从操作对象抽象出来的数学模型,
3定义中的关系是数据元素之间的逻辑关系,
称为数据的逻辑结构
数据结构在计算中的表示(映像)称为数据的物理结构(存储结构)
4结点:计算机中表示信息的最小单位是bit,
使用若干个bit组成的一个位串表示一个数据元素,
这个位串称为元素(element)/结点(node)
5数据域:数据元素可能由多个数据项组成,
位串中对应于数据项的子位串称为数据域data field
1数据元素之间的关系在计算机中的表示方法:
顺序映像和非顺序映像
2对应于两种不同的存储结构:
顺序存储结构和链式存储结构
3数据的逻辑结构和物理结构是密切相关的两个方面,
任何一个算法的设计取决于选定的数据结构
算法的实现依赖于采用的存储结构
4数据类型data type和数据结构关系密切,
类型明显或者隐含规定了在程序执行器件变量或者
表达式所有可能取值范围和允许的操作
5数据类型:
数据类型是一个值的集合和定义在这个值集上一组操作的总称
6抽象数据类型abstract data type,ADT:
是指一个数学模型和定义在该模型上的一组操作
1算法和算法分析算法algorithm:
对特定问题求解步骤的一种描述,
是指令的有限序列,
每条指令表示一个或者多个操作,
2具有5个特性:
有穷性:
任何合法的输入值在执行有穷步之后结束,
每步都在有穷时间内完成
确定性:
算法中每条指令有确切含义,
任何条件下,
每条指令只有唯一的一条执行路径
即对于相同的输入只能得到相同的输出
可行性:
算法中的操作可以通过已经实现的基本运算
执行有限次来实现
输入:
有零个或者多个输入,
输入来自某个特定的对象的集合
输出:
有一个或者多个输出,
输出量和输入量有着特定关系
3算法设计的要求:
正确性
可读性readability
健壮性robustness:
当输入的数据非法时,
算法也能适当的作出处理效率和低存储量需求
4正确性的4个层次:
程序不含语法错误
程序对于几组输入数据得到正确输出结果
程序对于选择出严苛数据得到正确输出结果
程序对于一切合法输入数据得到正确输出结果