十分钟带你了解数据结构

689 阅读2分钟

Alt

概念引入

常见术语概念:

为了让我们能够更好的理解数据结构,先引入一些基本的数据结构概念

  1. 数据 :数据是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并能被输入给计算机处理的集合;
  2. 数据元素 :是组成数据的,有一定意义的基本单位,在计算机中,通常作为整体处理,也被称为记录;
  3. 数据项 :一个元素可以由若干个数据项组成,数据项是数据不可分割的最小单位;
  4. 数据对象 :是数据相同的数据元素的集合,是数据的子集;
  5. 数据结构 ,是相互之间存在一种或多种特定关系数据或元素的集合;

好了,了解了这些之后,我们看看结构的划分,走起!

逻辑结构与物理结构

逻辑结构:

逻辑结构是指数据对象中数据元素之间的相互关系,所以当我们在实际开发中遇到问题,不妨试着从以下角度去思考,再将他们之间的关系运用上算法。

  1. 集合结构 :集合结构中的元素除了同属一个集合外,他们没有其它关系-(各个元素是平等的,关系有点像数学中的集合)

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

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

  4. 图形结构 :图形元素的结构中是一种多对多的关系

物理结构

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

  1. 顺序存储结构 :是把数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的
  2. 链式存储结构 :是把数据元素放在任意的存储单元中,这组存储单元可以是连续的,也可以是不连续的

抽象数据类型

  1. 数据类型 :是指一组性质相同的值的集合及定义在此集合上的一些操作的总称。在c预言中,按照取值的不同,数据可以分为两类:(1)原子类型:是不可以再分解的基本类型,包括整形,实形,字符形等。(2)结构类型:由若干个类型组成,是可以再分解的。例如:整形数组是由若干整形数据构成的
  2. 抽象数据类型:是指一个数学模型,以及定义在该模型上的一组操作;(像超级马力的走前进,后退,上,下,打子弹等,一个抽象模型就定义了ps:就是一个基本操作,其它的进行,依赖于基本操作)