大话数据结构

数据结构

相互之间存在一种或多种特定关系的数据元素的集合。
简单来说,就是数据中的元素之间存在着某种关系(比如分子结构,就是说组成分子的原子之间的排列方式)
严格来说,数据结构是指各个组成部分相互搭配和排列的方式


数据结构的起源

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


计算机中的数据

计算机中的数据是啥?

描述客观事物的符号 / 计算机可操作的对象
能被计算机识别并输入给计算机处理的符号集合
数据不仅仅包括整型实型等数值类型,还包括字符及声音图像视频等非数值类型。

计算机中的数据需具备两个条件:

  • 可以输入到计算机中
  • 能被计算机程序处理

数据计算方式:

  • 整型、实型等数值类型 —> 可进行数值计算
  • 字符数据类型(声音、图像、视频等) —> 可通过编码的方式变成字符数据来处理。

数据元素

计算机中,数据元素并不是孤立、杂乱无序存在的,而是具有内在联系的数据集合。
数据元素之间存在的一种或多种特定关系,也就是数据的组织形式。

什么是数据元素?

在计算机中通常作为整体处理,也被称为记录。

生活中的例子什么是数据元素?

人类的数据元素 —
畜类的数据元素 — 等动物

数据项

1.一个数据元素由若干个数据项组成。
2.数据项定义为数据中的最小单位

例子:

  • 比如人这样的数据元素可以有:这些数据项
  • 也有姓名年龄身高体重性别出生地址联系电话等数据项

数据对象

什么是数据对象?

性质相同的数据元素的集合,数据的子集
数据元素具有相同数量和类型的数据项


逻辑结构与物理结构

数据结构又分为:逻辑结构和物理结构


逻辑结构

什么是逻辑结构?

简单来说,逻辑结构是指数据对象中数据元素之间的相互关系

逻辑结构又分为四种

  • 1.集合结构
  • 2.线性结构
  • 3.树形结构
  • 4.图形结构

集合结构

  • 集合结构中的数据元素除了同属于一个集合外,之间没有其他关系,各个数据元素之间是“平等”的
  • 数据结构中的集合关系就类似于数学中的集合。

线性结构

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

树形结构

  • 树形结构中的数据元素之间是一对多的层次关系

图形结构

  • 图形结构的数据元素是多对多的关系

物理结构

  • 物理结构也叫存储结构,数据的逻辑结构在计算机中的存储形式

如何把数据元素储蓄到计算机的存储器中。

数据元素的存储结构形式

数据元素的存储结构形式分为:顺序存储链式存储

顺序存储结构

什么是顺序存储结构?

数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致

例子:

排队占位、按先后顺序排列,计算机语言中数组就是这种顺序存储结构。

链式存储结构

什么是链式存储结构?

数据元素存放在任意的存储结构单元里,这组存储单元可以是连续的,也可以是不连续的。
链式结构更加灵活、数据存在哪里不重要,只要有一个指针放了相应的地址就能找到它。

为什么需要链式存储结构呢?

因为数据元素的存储关系并不能反映其逻辑关系,因此需要用一个指针存放数据元素的地址,通过地址就可以找到相关联数据元素的位置,也就是链式存储数据结构。


逻辑结构和物理结构解决了什么问题?

逻辑结构:

为了解决具体某个问题,怼问题理解的基础上,选择一个合适的数据结构来表示数据元素之间的逻辑关系。(面向问题而存在)

物理结构:

面向计算机而存在,基本目标是将数据及其逻辑关系存储到计算机的内心中。