怎样理解“算法+数据结构=程序”这个公式
算法是语句序列解决特定问题的固有程序片段
数据结构是确定数据间的关系
从具体问题抽象出一个合适的数学模型、然后设计一个解决此数学模型的算法,最后编写出程序
寻求数学模型的是指就是数据结构要完成的工作
参看书 p1 前两段的描述
数据结构的概念,它包含哪三方面的内容
数据结构:是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间饿关系和操作的学科
参看书 p3 包含三方面的内容:1、数据之间的逻辑关系 2、数据在计算机中的存储方式 3、在数据上定义的运算的集合
数据、数据元素、数据项的基本概念
举例说明数据元素和数据项的联系与区别
数据:描述客观事物的数字、字符以及所有能直接输入到计算机中并被计算机程序处理的符号的集合
数据元素:数据的基本单位,在计算机程序中通常作为一个整体进行考虑或处理
数据项:数据项是具有独立含义的最小标识单位,是数据元的一个具体值,是数据记录中最基本的、不可分的有名数据单位
例 1: class A { int c[123]; int i; }; class B { A a; } B b; b
a 是数据项,B 是数据元素 例 2:一本书的数目信息为一个数据元素,而数目信息中每一项(如书名、作者名等)为一个数据项
从逻辑结构来看,数据结构有哪四种基本结构,各自的特点是什么
1、集合(数据元素之间同属于一个集合,再无其他关系) 2、线性结构(数据元素之间存在一对一的关系) 3、树形结构(数据元素之间一对多的关系) 4、图状结构或网状结构(数据元素之间多对多的关系) 5
从物理结构来看,数据结构有哪两种基本结构,各自的特点是什么
1、顺序存储结构 特点:借助元素在存储器中的相应位置来表示数据元素之间的逻辑关系
2、链式存储结构 特定:借