第一章 入门 数据结构 精辟
知识点一:
数据结构:
完整意义的数据结构应该是顺序栈等。既有逻辑结构,又有存储结构和运算。
通常所讲的数据结构是指逻辑结构。
逻辑结构==数据+逻辑关系。
逻辑结构分为线性结构和非线性结构。
集合,树,线性表,图。
存储结构分为顺序,链式,索引,散列。
数据结构(data structure),是指相互之间存在一种或多种特定关系的数据元素所组成的集合。具体来说,数据结构包含3个方面的内容,即数据的逻辑结构、数据的存储结构和对数据所施加的运算(也称操作)。
这3个方面的关系为:
(1)数据的逻辑结构独立于计算机,是数据本身所固有的。
(2)存储结构是逻辑结构在计算机存储器中的映像,必须依赖于计算机。
(3)运算是指所施加的一组操作的总称。运算的定义直接依赖于逻辑结构,但运算的实现必须依赖于存储结构。
低级语言无数据类型,用户需要了解对位进行实际的操作和存储。
C语言,基本数据类型封装了位的操作和存储表示。
用户只需了解整数的加法或取模运算的抽象特性,而不必了解“位运算”细节。
C++语言,结构数据类型封装了属性的操作和存储表示。
用户只需采取面向对象的方式编程。
由操作位,到数,到对象,这样我们操作的数据就越就越接近现实世界物体。
数据类型是一组存在相同逻辑关系数据(数据逻辑结构)和这些数据操作集合,独立于计算机而存在。
程序设计语言为它所提供数据类型每个数据加以固定存储表示(存储结构)。
在某种意义上说数据类型是被程序设计语言实现的数据结构。