数据结构-学习笔记01
基本概念 数据
- 数据:是描述客观事物的符号,使计算集中可以操作的对象,使能够被计算机识别,并输入给计算机处理的符号集合.
- 数据必须具备的两个特性
- 可以输入都计算机中
- 能够被计算机处理
- 数据不仅仅包括整型,实型等数值类型,还包括字符,声音,图像,视频等非数值类型
- 对于字符数据类型,要进行非数值的处理,而声音,图像,视频可以通过编码的手段来变成字符数据来处理
- 数据元素 : 是组成数据的,有一定意义的基本单位,在计算及中通常作为整体处理,也称为记录
- 如,一本书的书目信息为一个数据元素,而书目信息的每一项(如书名 作者名等)为一个数据项
- 数据项:一个数据元素可以由若干个数据项组成
- 数据项是数据不可分割的最小单位,但是解决问题的时候,数据元素才是数据结构中建立数据模型的重点
- 数据对象:是性质相同的数据元素的集合,是数据的子集
- 什么叫做性质相同的,是指数据元素具有相同数量和类型的数据项
- 数据结构:是相互之间存在一种或者多种特定关系的数据元素的集合
- 在现实世界中,不同的数据元素之间不是独立的,而是存在特定的关系,我们将这些关系称之为结构
- 在计算机中,数据元素并不是独立,杂乱无序的,而是具有内在联系的数据集合,数据元素之间存在的一种或多种特定关系,也就是士数据的组织形式
- 逻辑结构:是指数据对象只能怪数据元素中间的相互关系
- 集合结构:集合结构中的数据元素除了同属于一个集合外,它们之间没有其他的关系.类似于数学中的集合,数据元素之间是平等的,如下图
文章图片
1.png 2.线性结构
- 线性结构:线性结构中的数据元素之间是一对一的关系
文章图片
2.png 树形结构
- 树状结构:树形结构中的数据元素之间存在一种一对多的层次关系
文章图片
3.png 图形结构
- 图形结构:图形结构的数据元素是多对多的关系
文章图片
4.png
- 注意:
- 讲一个数据元素看做一个节点,用圆圈标识
- 元素之间的逻辑关系用结点之间的连线表示,如果之歌管是有方向的,那么就用带箭头的连线表示
- 物理结构:是指数据的逻辑结构在计算机种的存储形式
- 数据结构的存储结构应正确的反应数据元素之间的逻辑关系,如何存储数据元素之间的逻辑关系,是实现物理结构的重点和难点
- 数据元素的存储结构形式有两种:顺序存储,链式存储
- 顺序存储:是指把数据元素存放在地质连续的存储单元里,其中数据的逻辑关系和物理关系一致
文章图片
5.png 链序存储结构
- 链序存储结构:是吧数据元素存放在任意的存储单元里面,这组存储但愿可以是连续的也可以是连续的,数据元素的存放关系不能直接反应器逻辑关系.因此需要用一个指针存放数据元素的地址,这样就可以通过地址找到相关联的数据元素的位置
文章图片
6.png 抽象数据类型
- 数据类型:是指一组性质相同的值的集合及定义在此合集上的一些操作的总称
- C语言中,按照取值的不同,数据类型可以分为两种
-
原子类型
:是不可再分解
的基本类型
,包括整型
,实型
,字符型
等; -
结构类型
:有若干个类型组合
而成,是可以再分解
的,例如,整型数组是有若干个整型数据组成的
-
抽象是指抽取出失误具有的普遍性的本质,他是抽出文的特征而忽略非本质的细节,是对具体事务的一个概括,抽象是一种思考问题的方式,它隐藏了复杂的细节,只保留实现目标所必须的信息
抽象数据类型
- 抽象数据类型(Abstrct Data Type ,ADT):是指一个数据模型及定义在该模型上的一组操作,
- 描述抽象数据类型的标准格式:
ADT 抽象数据类型名Data
数据元素之间的逻辑关系的定义Operation操作1
初始化条件
操作结果描述
操作2
......
操作n
......
endADT
总结
- 数据的组成
文章图片
7.png
- 由上图可知,数据结构就是相互之间存在一种或者多中国特定的关系的数据元素的集合
- 【数据结构-学习笔记01】数据结构的逻辑结构和物理结构
文章图片
8.png
推荐阅读
- EffectiveObjective-C2.0|EffectiveObjective-C2.0 笔记 - 第二部分
- 由浅入深理解AOP
- 继续努力,自主学习家庭Day135(20181015)
- python学习之|python学习之 实现QQ自动发送消息
- Android中的AES加密-下
- 一起来学习C语言的字符串转换函数
- 定制一套英文学习方案
- 漫画初学者如何学习漫画背景的透视画法(这篇教程请收藏好了!)
- 《深度倾听》第5天──「RIA学习力」便签输出第16期
- 如何更好的去学习