数据结构+算法=程序
数据结构
就是关系(数据元素相互之间存在一种或多种特定关系的集合),包括:
1.逻辑结构
集合结构:元素同属一个集合,但无关联。
线性结构:元素之间是一对一的关系,连成线,每个元素是一个节点。
树形结构:一对多的层次关系。
图形结构:多对多。
2.物理结构
定义:研究如何把数据元素(后简称元素)存储到计算机的存储器中。
存储器是主要针对内存而言的,像硬盘、软盘、光盘等外部存储器的数据组织通常用文件结构来描述。
元素的存储形式有两种:顺序存储和链式存储。
顺序存储结构:元素存放在地址连续的存储单元,数据间的逻辑关系和物理关系一致。
链式存储结构:元素存放在任意的存储单元,不一定连续,不能反映逻辑关系,需要用一个指针存放元素地址,通过地址找元素位置。
算法
五个基本特性:输入、输出、有穷性、确定性和可行性。(有没有输入都可以,但必须有输出;无二义;
每步都可实现) 另:操作系统普遍存在缓冲区溢出现象
要求:正确性(1.无语法错误;2.合法输入可产生满足要求的输出;3.非法输入可产生满足规格的说明;4.故意刁难的测试输入有满足要求的输出结果)、可读性 、健壮性、时间效率高和存储量低。