数据结构的基本概念

学习数据结构 是为了 如何让写的程序更加高效,数据结构是数据组成元素关系的学科

数据

是能够被计算机识别,存储和处理的符号总称

数据结构是指内存中的数据

磁盘中的数据属于文件结构

数据元素

是数据的基本单位, 又叫记录

数据项

数据中的最小单位

数据类型

对数据元素取值范围和运算的限定

例如整型变量的取值范围

 

数据相当于一张表.

数据元素对应着表中每一条书籍的记录 。

数据项对应着一个列值.

数据类型对应着每一个列值的取值范围。

顺序存储

如果使用一个结构体数组,来存储这个数据,数据是在内存中是连续的 ,所以称为顺序存储

顺序存储查询很快,只要使用数组的索引号查询就行了,但是增删,需要集体的移动,所以增删效率较低。

链式存储

如果使用的是结构体链表存储这个数据,每一个结构体中存放了相邻结构体的地址形成链状结构,数据在内存中的位置是离散的,通过地址链接起来,则为链式存储。

链式存储,增删效率更高,查找效率低一些

D代表数据 data   

S代表结构 struct

图中   D,R分别用用集合数据对的形式描述了该向量的数据结构

数据结构之间有三种相互关系

逻辑结构

表示数据元素之间的抽象关系

有四种逻辑结构集合结构,线性结构,树形结构 ,图状结构。

存储结构

逻辑结构在计算机内的存储形式。

分为 顺序存储结构,链接存储结构,索引存储结构,散列存储结构

数据运算

对数据结构的操作,如插入,删除,查找,排序等

图中 每一个圆圈代表一个数据元素 ,线表示数据与数据之间的关系

1.他们之间没有联系 ,只有相同的特点,所以放进一个集合

2.例如上述的图书管理图,他们有前驱和后继的关系    前面一个称前驱 ,后一个称为后继,为线性关系

3.树形关系,数据元素之间,为一对多的关系,可以有一个前驱,和多个后继

前驱称为父节点,后继称为子节点,

一个父节点,多个子节点,每一个节点为一个级别,可理解为越上面级别越高。

4.多对多的关系   

这可以说是一个地图染色问题

因为第一个同学报名了A B E  三个项目

所以这三个项目同时比赛,肯定是冲突的

连线表示不能同时进行大项目

那么 A - B , B -E , A -E  连上

地图染色法

使用每一个颜色代表 一个,比赛的时间,染上同一个颜色的点为可以在同一个时间竞赛的项目

得到 4个比赛时间 AC  BD  E    F

步骤:

先染色顶点 ,使用尽量少的颜色 ,对顶点染色

相连的两个顶点不能染同一个颜色  只有C没有和A相连,所以A 和C可以同色

接着看B 与她相连的 E  F    排除AC    那么只有D不相连,染同色

最终抽象成上面这个关系图

和树状结构相比    图状结构有环(闭合),而树状结构无环(开放)

所谓环,例如 ABEFA 一个环  ABFA 一个环

所以树状结构可以说是图状结构的特例  :树是有项但无环的图状

这样树的算法可以用到图里。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值