来自PHP的仰望《大话数据结构》读书笔记 - 第1章 数据结构绪论

目录

起源

基本概念

​逻辑结构与物理结构


起源

数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科

 

基本概念

数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别并输入给计算机处理的符号集合

数据元素:是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理、也被称为记录

数据项:一个数据元素可以由若干个数据项组成,数据项是数据不可分割的最小单位

数据对象:是性质相同的数据元素的集合,是数据的子集

数据结构:是相互之间存在一种或多种特定关系的数据元素的集合

来自PHP的仰望《大话数据结构》读书笔记 - 第1章 数据结构绪论_第1张图片

逻辑结构与物理结构

按照视点的不同,我们把数据结构分为逻辑结构和物理结构

来自PHP的仰望《大话数据结构》读书笔记 - 第1章 数据结构绪论_第2张图片

逻辑结构是指数据对象中数据元素之间的相互关系,分为以下四种

1.集合结构:集合结构中的数据元素除了同属于同一个集合外,它们之间没有其他关系

来自PHP的仰望《大话数据结构》读书笔记 - 第1章 数据结构绪论_第3张图片

2.线性结构:线性结构中的数据元素之间是一对一的关系

来自PHP的仰望《大话数据结构》读书笔记 - 第1章 数据结构绪论_第4张图片

3.树形结构:树形结构中的数据元素之间存在一种一对多的层次关系

来自PHP的仰望《大话数据结构》读书笔记 - 第1章 数据结构绪论_第5张图片

4.图形结构:图形结构的数据元素是多对多的关系

来自PHP的仰望《大话数据结构》读书笔记 - 第1章 数据结构绪论_第6张图片

我们用示意图表示数据的逻辑结构时,要注意两点:

(1)将每一个数据元素看做一个结点,用圆圈表示

(2)元素之间的逻辑关系用结点之间的连线表示,如果这个关系是有方向的,那么用带箭头的连线表示

物理结构:是指数据的逻辑结构在计算机中的存储形式

数据元素的存储结构形式有两种:顺序存储和链式存储

1.顺序存储结构:是把元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的

数组就是这样的顺序存储结构,当你告诉计算机,你要建立一个有9个整型数据的数组时,计算机就在内存中找了片空地,按照一个整型所占位置的大小乘以9,开辟一段连续的空间,于是第一个数组数据就放在第一位,第二个数据放在第二位,依次摆放

(这里的数组并不 === PHP中的数组,因为似乎在JAVA和C中数组都是定长的,在声明时就要决定其长度,而PHP中的数组像是已经被封装过的数组,长度可自行伸缩)

2.链式存储结构:把数据元素存放在任意的存储单元里,这组存储单元可以是连续的,也可以是不连续的。数据元素的存储关系并不能反映其逻辑关系,因此需要用一个指针存放数据元素的地址,这样通过地址就可以找到相关联数据元素的位置

来自PHP的仰望《大话数据结构》读书笔记 - 第1章 数据结构绪论_第7张图片

 

个人感悟:因为这本书的示例代码都是用C语言写的,所以对于我这个学PHP的来说,其实大部分代码我都看不懂,但幸好作者有先见之明,在代码部分都有稍作介绍其作用,所以,各位PHP的道友没必要去深究其代码,只需明白它是用来干什么的即可,然后想办法能不能使用PHP实现一下,毕竟数据结构和算法以及设计模式都是不限语言的

你可能感兴趣的:(集思广益)