数据结构系统学习(1)数据类型和数据结构的概念
在现代计算机系统中,计算机更多地用于控制,管理及数据处理等非数值计算的处理工作,而不像之前只需要处理数值型数据。这个时候,数据的类型变为了由字符,表格和图像格式等组合而成的具有一定结构的数据。
而用程序处理如何处理这些数据已经变得越来越重要了,由此产生了一个叫做数据结构的学科。下面就一起来研究它
1.有关数据结构的基本概念和术语
(1)数据
数据是对客观事物的符号表示,是所有能输入到计算机中并被计算机程序处理的符号的总称。
(2)数据元素
数据元素是数据的基本单位,作为一个整体处理,一个数据元素可以由若干个数据项组成。
(3)数据对象
数据对象是性质相同的数据元素的集合,是数据的一个子集。
(4)数据类型
为了刻画操作的数据对象的特性,引入了这个概念。
数据类型是一个值的集合和定义在这个值集上的一组操作的总称。
按照"值的"不同特性,高级程序设计语言可以分为非结构的原子类型和有结构的结构类型(可以看作是一种数据结构和定义在其上的一种操作)。
所以数据结构和数据类型的关系是:
数据类型的结构类型 = 数据结构 + 在这种数据结构上的操作方法。
(5)抽象数据结构
抽象数据类型是三元组(D,S,P)。这里D是数据对象,S是D上的关系集,P是D上的基本操作集。
抽象数据类型按值的不同特性,可细分为三种:原子类型,固定聚合类型和可变聚合类型。
这里的抽象指的是数学的抽象特性。抽象数据类型固有的结构可以不依赖具体硬件和编译器,在大多数机器上均可以运行,可以用多种程序设计语言进行描述。
2.数据结构
我们在解决一个具体问题的时候,具体思路是:
抽象出一个合适的数学模型->设计一个解此模型的算法->编写程序->调试,测试得最终解。
但一些非数值的计算问题无法用数学方程描述,因为这些问题可能遇到的数据并不是数值型的。简单来说:
数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象(特定关系)以及它们之间的关系和操作等的学科。
数据结构是一门介于数学,计算机硬件和计算机软件的核心课程,数据的结构不仅要讨论数据的数学结构,还要考虑数据的存储结构。
计算机的操作对象数据元素不是孤立存在的,是有关系的,就是数据结构。数据结构分为有四种基本结构:
集合,线性结构,树形结构和图状结构。
数据结构的存储结构在计算机中,一个数据元素用一个由若干个位组合起来的位串表示,把位串称之为元素(或结点),一个位用特定结构的二进制数表示。
而数据元素之间的关系有两种,一种是顺序存储结构(用相对位置存储),另一种是链式存储结构(用指针存储)。 在高级程序设计语言中,描述存储结构用"数据类型" 。