关于数据结构
一、什么是数据结构:
数据结构是研究非数值计算的,主要解决程序设计过程对象操作的问题,以及对象之间的关系和操作的相关问题(对象之间的关系,对象的操作)。
1、数据结构的起源
起源于1968年,美国的高纳德教授开设一门《基本算法》的课程,这门课程开创了数据结构课程体系的先河。
2、程序设计=数据结构+算法
二、数据结构的基本概念:
数据:所有能输入到计算机中用来描述客观事物的符号。
数据项:有独立含义的数据的最小单位,也叫作域。
数据元素:数据的的基本单位,也称为节点,或记录。
数据结构:若干数据元素和数据元素关系组成的集合。
算法:狭义的算法指的是一种数据结构能够具有的操作,广义上的算法指挥是对特定问题求解步骤的描述(指令的有限序列)。
三、数据结构的三个方面:
数据的逻辑结构
数据的存储结构
数据结构的运算
四、四种基本的逻辑结构:
集合结构:元素之间除了同属一个区间外没有任何关系。
线型结构:元素之间存在一对一关系。
树型结构:元素之间存在一对多关系。
图型结构:元素之间存在多对多关系。
五、数据结构的存储方式:
顺序存储:元素之间是连续的,使用的是段连续的内存空间用数据元素在内存的相对位置来表示数据之间的关系。
优点:能够随机访问,访问效率、速度极高。
缺点:空间的利用率比较低(对内存的要求高,必须是整块的内存),元素的和删除不方便。
链式存储:元素之间是分散的,每个元素存储在彼此独立的内存空间,每个元素中有一个指针记录了下一个元素的内存首地址。
优点:插入、删除方便,空间的利用率高(对内存的要求低,内存可以是分散的)。
缺点:不能随机访问,只能逐个遍历,访问效率、速度低。