数据结构基本概念
前世今生:
早起的计算机被人们理解为数值计算的工具
数据结构是一门研究 非数值计算的 曾与设计问题中的操作对象 以及他们之间的关系和操作等相关问题的学科
(是一个对象 针对数字已经无法解决的结构问题 设计结构 以及 结构之间的关系的学科)
数据:
是计算机中可以操作的 对象 是能被计算机识别并输入给计算机处理的 符号
数据元素
和对象很像
组成数据的 有一定意义的基本单位
在计算机中通常作为整体处理 也被称为记录
数据项
是数据不可再分的最小单位(其实就是属性 or 字段)
数据对象
性质相同的数据元素的集合,是数据的子集
举例
数据元素:不知火舞, 亚瑟
数据对象:游戏角色
数据:游戏中不止有游戏角色 还有游戏场景、背景音乐、过场动画等。
数据结构
数据元素之间的爱恨情仇–》数据元素+特定关系 = 数据结构
(相互之间存在一种或多种特定关系的数据元素的集合)
逻辑结构与物理结构
1。逻辑结构
集合结构:集合结构中数据元素属于同一个集合 数据元素之间没有其他关系
线性结构:数据元素之间是一对一的关系
树形结构:数据元素之间存在一种 一对多 的关系
图形结构:数据元素之间是多对多的关系
2. 物理结构
又叫存储结构 指数据的逻辑结构在计算机中的存储形式
顺序存储结构:把数据元素存储在地址连续的存储单元里(数组 不好插队)
链式存储结构:把数据元素存放在任意的存储单元里(链表 方便插队
抽象数据类型
数据类型: 计算机中 内存空间有限 不同类型数据分配的内存空间大小不同(数据类型的设计目的就是解决存储问题)
数据类型是指一组性质想用的值的集合 以及 定义在此集合上的一些操作的总称
在c语言中 按照取值不同数据类型分两类
原子型:不可再分的基本类型 整型、实型、字符型
结构性:有若干类型组成 可以在分解的。整型数组等
抽象数据类型abstruct data type(ADT)
指一首歌数据模型以及定义在该模型上的一组操作
例如:射击游戏有 匍匐 爬 设计 蹲 等等都是抽象 是在概念设计层进行描述 没有具体的实现细节
ADT 角色
Data
武器,姓名
Operation
射击
拥有武器
攻击目标造成伤害
跑
跳
拾取
endADT
抽象数据类型的而标准格式