先看一眼框架结构:
一、数据结构的基本概念
什么是数据?
数据是计算机程序加工的原料
什么是数据元素?
数据元素是数据的基本单位,一个数据元素可由若干个数据项组成,数据项是沟通数据元素的不可分割的最小单位。
什么是数据对象?
数据对象是具有相同性质的数据元素的集合,是数据的一个子集。
什么是数据类型?
数据类型是一个值的集合和定义在此集合上的一组操作的总称。可以分为原子类型;结构类型;抽象数据类型
什么是数据结构?
数据结构是相关之间存在一种或多种特定关系的数据元素的集合;讨论的是数据元素之间的关系,这种相互之间的关系称为结构。
数据结构可以分解为三方面的内容:1逻辑结构、2存储结构、3数据的运算。
对上述概念有一定印象理解就好,第一部分主要要掌握数据结构的三要素的细分
(一)数据的逻辑结构,与数据存储无关且独立于计算机。可分为线性结构和非线性结构。
没关系: 集合 一对一关系:线性结构 一对多关系:树形结构 多对多关系:网状结构
具体逻辑结构分类图
(二)数据的存储结构,也叫做物理结构,是用计算机语言实现的,对数据进行存储
- 顺序存储
优点是可以实现任意存取数据,存储在物理位置上是相邻的,比如数组int Array[7]
- 链式存储
在物理位置上散落,借助指示元素存储地址的指针来表示元素之间的关系,优点是不会出现碎片现象,缺点只能顺序存取
- 索引存储
存储元素信息时建立附加的索引表,通过索引项检索速度快,缺点占用额外存储空间,索引表也需要单独去修改
- 散列存储
哈希(Hash)存储,检索、增加和删除结点的操作快,容易增加时间和空间开销
(三)数据的运算
运算的定义是针对逻辑结构,指运算的功能;运算的实现是针对存储结构的,指运算的具体操作步骤
二、算法的基本概念
五个特性:有穷性、确定性、可行性、输入、输出
好算法:正确性、可读性、健壮性、效率与低存储量需求