if you give someone a program ,you will frustrate them for a day;if you teach them how to program,you will frustrate them for a lifetime!
1.逻辑结构和物理结构
逻辑结构:是数据对象中数据元素之间的相互关系。
逻辑结构包括:集合结构,线性结构,树结构,图形结构
集合结构:集合结构中的数据元素出了属于一个集合外,他们没有其他关系,类似与数学中的集合。
线性结构:线性结构中的元素之间是一对一的关系
树结构:树结构中的元素之间存在一种一对多的层次关系。
图形结构:图形结构的数据元素是多对多的关系
注意事项:
1)将每个数据元素看做一个节点,用圆圈表示
2)元素之间的逻辑关系用节点之间的连线表示,如果这个关系是有方向的,那么用带箭头的连线表示。
物理结构(存储结构):数据的逻辑结构在计算机中的存储形式。实际上就是将数据元素存储到内存中。
物理结构包括:顺序存储和链式存储
顺序存储结构:把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的
说明:数组就是顺序存储结构
链式存储结构:把数据元素存放在任意的存储单元中,这组存储单元可以是连续的也可以不连续
注意事项:
1)数据元素的存储关系并不能反应其逻辑关系,需要用指针存放数据元素的地址。
2.抽象数据类型:
数据类型:一组性质相同的值的集合及定义在此集合上的一些操作的总称。
抽象数据类型:一个数学模型及定义在该模型上的一组操作,抽象数据类型体现了程序设计中的问题分解,抽象和信息隐藏的特性。