首页 > 其他 > 详细

什么是数据结构?

时间:2019-08-08 13:09:40      阅读:92      评论:0      收藏:0      [点我收藏+]

(注意本部分的概述是为了后边更容易学习理解 但这个并不是关键)

计算机的主要功能是数据运算

目的:合理组织数据、高效率地实施数据运算

数据是信息的载体、数据的基本单位是数据元素

数据对象是具有相同类型的数据元素的集合

一个数据元素可以分成很多歌数据项(可称为元素节点或者属性等)

例如在一个学生表单中:一条记录为数据元素 而该学生的姓名就是数据项

数据结构是相互之间存在一种或者多种关系的数据源的集合

 

数据逻辑结构: 数据元素之间的逻辑关系

数据存储结构:数据元素及逻辑关系在计算机存储器内的表示 

数据运算:

  • 定义是基于逻辑结构(运算的功能) 常见运算 :检索 插入 删除 更新 排序等
  • 实现是基于存储结构

例子:

一个学生表

 

 

逻辑结果(元素之间的逻辑关系):

集合(关系松散)

线性结构:一对一关系

树形结构:一对多

图形结构:多对多 也称为网状结构

 技术分享图片

 

逻辑结构可以用多种方式描述这里二元组描述最常见:

S=(D,R)

D={d|1<i<n}

R={r|1<j<m}

D 是元素集合 R为D->D之间的关系集合

<a,b> 有向关系 a为b的前驱元素b为a的后继元素  没有后继元素的元素为终端元素  反过来则为开始元素 处于中间的为内部元素 

技术分享图片

也可使用逻辑结构图表示逻辑关系(可以看出下面的逻辑结构图表示的是一个树形结构  一个元素(树节点)有多个后继元素(分支或者树叶))

技术分享图片

 

存储结构:(存储表示、物理结构)

数据逻辑在计算机存储器当中的表示

 一个数据逻辑可以使用多种存储结构:可根据问题规模和运算种类等因素适当选择

 

简要阐述:

顺序结构

物理存储上一级数据逻辑上均相邻的元素(将数据的逻辑结构直接映射到存储结构)

特点:节省存储空间 逻辑关系没有占用任何额外的空间

可实现元素的随机存储:时间复杂度:O(1) 

缺点:不便于修改 删除 插入 (需要移动一系列元素)技术分享图片

 

 

链式存储:

无需占用一整片空间 但每个节点需要额外的空间保存前后驱节点元素的地址 逻辑相邻 但 存储结构不相邻

 有点:便于修改 插入 删除 仅仅改结点的指针域即可

缺点:不可随机存取   需要额外的空间存储逻辑关系 (空间利用低)

 

 索引存储:

索引表用于存储关键字和对应地址:通过二分查找索引表找到关键字,然后通过对应地址在数据表中找到该记录的数据技术分享图片

优点:查找效率高

缺点:需要建立索引表 增加时间空间开销

 

哈希(散列)存储结构:

通过哈希函数用关键字求得存储地址:

优点:查找速度快

适用于对数据能够进行快速查找插入的场合 采用该方法的关键是选择好的哈希函数 和处理冲突的方法

 

 数据运算:包括运算的功能 和在存储结构上运算的实现 选择好的存储结构可以提高运算的效率

 

什么是数据结构?

原文:https://www.cnblogs.com/webcyh/p/11320286.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!