什么是数据data..........重修Data Structure笔记

pre-pre Face:用计算机解决问题时,大致需要经过以下步骤:

  1. 从具体问题抽象出一个适当的数学模型;
  2. 设计一个解此数学模型的算法;
  3. 编出程序,进行测试、调整直至得到最终解答。

寻求数学模型的实质是分析问题,从中提取操作对象,并找出这些操作对象之间含有关系,然后数学的语言加以描述。


什么是Data Structure?不就是data + structure啰!!理论是为了用于实践的,用例子说明会更好理解!
请看以下经典问题:

  1. 在图书馆如何检索我想要的图书?
  2. 如何成为棋盘高手?
  3. 如何为交叉路设计最佳路灯方案?
  • 什么是数据
    1. 定义:数据是指由有限的符号(比如,"0"和"1",具有其自己的结构、操作、和相应的语义)组成的元素的集合。
    2. 分类与组成:数值与非数值:一条图书记录为一数据元素,它有图书编号、书名等数据项;多条图书记录组成的表是一个数据对象;同样,一棋盘状态为一数据元素,它的棋子状态为数据项,如此类推……
  • 什么是结构
    1. 定义:数据元素之间的关系称为结构。
    2. 分类与组成:
      1. 集合—“同属于一个集合”
      2. 线性结构—1:1 -----------》是线性结构的(全序关系)
      3. 树形结构—1:N ----------》(偏序或层次关系)
      4. 图状结构或网状结构—N:N---》(局部有序(weak/local orders))是非线性结构
    3. 理解:关键理解数据元素,其可分解为数据项,数据元素间有关系………

1.数据结构一般包括以下三方面内容:

① 数据元素之间的逻辑关系,也称数据的逻辑结构(Logical Structure);
     数据的逻辑结构是从逻辑关系上描述数据,与数据的存储无关,是独立于计算机的。数据的逻辑结构可以看作是从具体问题抽象出来的数学模型。

② 数据元素及其关系在计算机存储器内的表示,称为数据的存储结构(Storage Structure);
     数据的存储结构是逻辑结构用计算机语言的实现(亦称为映象),它依赖于计算机语言。对机器语言而言,存储结构是具体的。一般,只在高级语言的层次上讨论存储结构。

数据的运算,即对数据施加的操作。
  数据的运算定义在数据的逻辑结构上,每种逻辑结构都有一个运算的集合。最常用的检索、插入、删除、更新、排序等运算实际上只是在抽象的数据上所施加的一系列抽象的操作。
     所谓抽象的操作,是指我们只知道这些操作是"做什么",而无须考虑"如何做"。只有确定了存储结构之后,才考虑如何具体实现这些运算。

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页