1.1--数据结构和算法的基本概念

128 阅读2分钟

先看一眼框架结构:

image.png

一、数据结构的基本概念

什么是数据?

数据是计算机程序加工的原料

什么是数据元素?

数据元素是数据的基本单位,一个数据元素可由若干个数据项组成,数据项是沟通数据元素的不可分割的最小单位。

什么是数据对象?

数据对象是具有相同性质的数据元素的集合,是数据的一个子集。

什么是数据类型?

数据类型是一个值的集合和定义在此集合上的一组操作的总称。可以分为原子类型;结构类型;抽象数据类型

什么是数据结构?

数据结构是相关之间存在一种或多种特定关系的数据元素的集合;讨论的是数据元素之间的关系,这种相互之间的关系称为结构。
数据结构可以分解为三方面的内容:1逻辑结构、2存储结构、3数据的运算。

对上述概念有一定印象理解就好,第一部分主要要掌握数据结构的三要素的细分

(一)数据的逻辑结构,与数据存储无关且独立于计算机。可分为线性结构和非线性结构。

没关系: 集合 一对一关系:线性结构 一对多关系:树形结构 多对多关系:网状结构

具体逻辑结构分类图 image.png

(二)数据的存储结构,也叫做物理结构,是用计算机语言实现的,对数据进行存储

  • 顺序存储

    优点是可以实现任意存取数据,存储在物理位置上是相邻的,比如数组int Array[7]

  • 链式存储

    在物理位置上散落,借助指示元素存储地址的指针来表示元素之间的关系,优点是不会出现碎片现象,缺点只能顺序存取

  • 索引存储

    存储元素信息时建立附加的索引表,通过索引项检索速度快,缺点占用额外存储空间,索引表也需要单独去修改

  • 散列存储

    哈希(Hash)存储,检索、增加和删除结点的操作快,容易增加时间和空间开销

(三)数据的运算

运算的定义是针对逻辑结构,指运算的功能;运算的实现是针对存储结构的,指运算的具体操作步骤

二、算法的基本概念

五个特性:有穷性、确定性、可行性、输入、输出

好算法:正确性、可读性、健壮性、效率与低存储量需求

image.png