数据结构研究主要内容:
1.数据的各种逻辑结构和物理结构,以及它们之间的相应关系
2.对每种结构定义相适应的各种算法
3.设计相应的算法
4.分析算法的效率
常见数据结构:数组、栈、队列、表、串、树、图、文件等
基本术语:
数据(Data):所有能被计算机处理的符号的总称
数据元素(Data Element):数据集合中的一个个体。 eg. D = {d1 ,d2, d3, ...di},di属于D,称di为数据元素
数据项(Data Item):数据元素常常还可分为若干个数据项(若干个数据特性),数据项是数据具有意义的最小单位
数据对象(Data Object):具有相同特性的数据元素的集合
数据结构(Data Structure):带有结构的数据元素的集合(数据及其对应关系的集合,2种集合)
逻辑结构(Logical Structure):数据元素之间的关系
物理结构(Physical Structure):数据结构在机内的表示
算法描述和算法分析
一.算法(Algorithm)
1.算法概念:算法是一个有限的指令集。遵循指令流可以完成特定的功能
2.算法基本特性:
有穷性:算法经有限步骤后结束;
确定性:下一步必须是明确的;
可行性:每一步是可执行的;
3,算法和程序的区别
算法 是解决问题的一种方法或一个过程,考虑如何将输入转换成输出。
程序 是用某种程序设计语言对算法的具体实现
主要区别:有穷性、正确性和描述方法
程序可以是无穷的,例如OS,算法是有穷的
程序可以是错误的,算法必须是正确的
程序是用程序设计语言描述,在机器上可以执行
算法还可以用框图、自然语言等方式描述