简介
程序设计 = 数据结构 + 算法
概念

数据
简单来说,可以被计算机处理的符号,就是数据。
数据对象
数据对象是 性质相同 的数据元素的集合,是数据的子集
数据元素
数据元素是组成数据,有一定意义的基本单位。
数据元素是数据结构中建立模型的着眼点。
数据项
一个数据元素可以由若干个数据项组成,最小单位,不可分割
类比:动物就比如是数据,人类就类比为数据对象,人就好比数据元素,某个人的耳朵、鼻子就好比数据项。
在实际应用中,处理的数据元素通常具有相同的性质,在不产生混淆的前提下,我们通常将数据对象称为数据
什么是数据结构?
在计算机中,数据元素并不是杂乱无序的,而是相互之间存在某种特定的关系。也就是数据的组织形式。
简单理解就是数据之间的关系,数据与数据间是一对一的线形关系、一对多的关系还是多对多的关系。
拆分数据结构

按照视角不同可以将数据结构拆分成 逻辑结构 和 物理结构
逻辑结构
逻辑结构 指 数据对象 中 数据元素 间的相互关系。分为以下四种。
集合结构
集合结构:数据元素仅仅属于同一集合,并没有其他的关系。

-
线性结构
线性结构中的数据元素是一对一的关系。
线性结构
-
树形结构
树形结构中的数据元素存在一种一对多的关系。
树形结构
-
图形结构
图形结构中的数据元素存在一种多对多的关系。
图形结构
逻辑结构的目的
逻辑结构是为了 解决 某个问题,选择合适的数据结构表示 数据 间的 逻辑 关系。
物理结构
指数据的逻辑结构在计算机中的存储形式,也可称为存储结构。
数据元素的存储结构有两种:顺序存储和链式存储
顺序存储结构
顺序存储结构:是把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的。

数组就是这样的存储形式。
链式存储结构
链式存储结构:是把数据元素任意的放在存储单元内,这组存储单元可以是连续的,也可以是不连续的。

逻辑结构是面向问题的,物理结构是面向计算机的,基本的目的是将数据及其逻辑关系存储到计算机的内存中。
抽象数据类型
数据类型
数据类型决定了变量的可操作性以及所占的内存空间大小。
比如说:var int a = 1
这就决定了,变量a
在64位系统中所占的空间为8字节。并且可以进行加减乘除操作。
抽象数据类型
抽象是指抽出事物具有的普遍性的本质。抽象是一种思维方式,忽略实现的细节。
定义:指一个数学模型及定义在该模型上的一组操作
说白了就是你定义了一个人,这个人会跑、会跳。人就是抽象数据类型。
总结

数据
- 数据是可以被计算机识别的符号。是所有数据元素的集合
- 数据对象是数据的子集。是某一类性质相同的数据元素的集合。
- 数据元素是组成数据的基本单位。是建立数据结构的着眼点。
- 数据项是数据的最小单位,不可分割。
数据结构
逻辑结构
数据的逻辑结构是为了解决某个问题,选择合适的数据结构表示数据间的逻辑关系。
- 集合结构:集合中的数据元素除了属于同一集合外,没有其他对应关系。
- 线性结构: 数据元素是一对一的关系。
- 树形结构:数据元素是一对多的关系。
- 图形结构: 数据元素是多对多的关系。
物理结构
数据的逻辑结构在计算机中的存储形式,又称为存储结构。
- 线性存储结构:内存地址连续,逻辑关系和物理关系一致。
- 链式存储结构:内存可以连续也可以不连续。
抽象数据类型
- 数据类型:决定了数据所占的内存大小以及可操作性。
- 抽象数据类型:所定义的数据类型及其操作。
逻辑结构是面向问题的,物理结构是面向计算机的,基本的目的是将数据及其逻辑关系存储到计算机的内存中。
参考:上面的内容是我的读书笔记《大话数据结构》有兴趣的可以看看
网友评论