数据结构基本概念
程序=数据结构+算法
↓
研究非数值计算的程序设计中计算机的操作对象以及它们之间的关系和操作
计算机解决问题步骤:
将具体问题抽象为数学模型→设计算法→编程、调试、运行
↓
1、分析问题
2、提取操作对象
3、找出操作对象之间的关系
4、用数学语言描述
对某种线性信息的数据记录进行增删查改→线性表
上一步与下一步操作信息比为1:n→树
各数据为网状结构→图
基本概念与元素
1、数据(Data)能输入计算机且能被计算机处理的各种符号的集合,包括数值型与非数值型
2、数据元素(Data element)数据的基本单位,在程序中作为一个整体考虑处理
3、数据项(Data item)构成数据元素
4、数据对象(Data Object)性质相同的数据元素的集合,数据的一个子集
5、数据结构(Data Structure)数据元素并不孤立,它们之间存在关系,将数据元素相互之间的关系成为结构,相互之间存在一种或多种特定关系的数据元素集合
数据结构
↓
①数据结构之间的逻辑关系,即逻辑结构→数据元素之间的逻辑和关系
②数据元素及关系在将计算机内存中的表示(又称映像),即数据的物理结构或数据的存储结构
↓
数据元素及其关系在计算机存储器中的结构
③数据的运算和实现,对数据元素可以施加的操作以及这些操作在相应的存储结构上的实现
逻辑结构的种类:
划分方式一:
线性结构:一对一关系,线性栈、队列、串
非线性结构:一对多关系,树、图
存储结构的种类:
①顺序存储结构
用一组连续的存储单元一次存储数据元素,由存储位置来表示数据元素之间的逻辑关系
②链式存储结构
用一组任意的存储单元存储数据,数据元素之间的逻辑关系用指针表示
③索引存储结构
在存储结点信息的同时附加上一个索引表
④散列存储结构
根据结点的关键字直接计算出该结点的存储地址
数据类型
数据类型的作用:
①约束变量或常量的取值范围
②约束变量或常量的操作
数据类型(Data Type)一组性质相同的值的集合以及定义于这个集合上的一组操作的总称