数据结构:数据结构三要素

三要素:

数据的逻辑结构:

可以理解为我们看到的程序的样子,比如程序先后做了哪些操作,一个数组里面按照什么样的规律存放了哪些数据等。这是比较直观的。

 常用结构:

  • 集合:只是存在一个相同的空间内,没有其他关系
  • 线性结构:数据之间有一对一的关系,比如排队
  • 树形结构:数据之间是一对多的关系,比如家谱
  • 图状结构或网状结构:数据之间存在多对多的关系,比如老师和学生

===========================================================================

数据的存储结构(物理结构):

相对于逻辑结构来讲,程序的存储结构是对计算机而言的,也就是计算机是怎么将程序存储的,它使用了什么样的结构来存储我们的程序,这个是我们所无法直观看出来的。

存储结构也叫物理结构,这个和计算机语言是有关系的,它就是计算机语言对逻辑结构实现后的东西,比如java、c++、C语言,他们实现的存储结构是各不一样的。

一般主要的有:

顺序存储、表示数据在计算机磁盘上的存储顺序都是相邻的

链式存储、物理位置不一定是相邻的,但是元素之间是有对象具体的位置信息的,通过这个位置信息就可以确定元素的位置

索引存储、这个东西嘛,就是类似于目录,比如数据库加了索引后查找数据更加快捷了,就是这个道理

散列存储、通过关键字和一定的计算方法计算后得出来的元素的具体位置信息,想想数据的加密,是不是有散列密码?

================================================================================

数据的运算:

运算其实就是我们平时所接触到的+-*/(加减乘除),就是数据之间的代数运算或者更加复杂的计算方法

实际上数据的运算包括了运算的定义和实现

比如说,我现在要计算一个班上数学成绩的平均值,那么这个目的该怎么实现?把数学成绩加起来除以总人数是不是就是我们对应的定义,这个东西就是我们上面说到的逻辑结构,而我们定好这个计算框架之后就要交给计算机来运算了,但是它具体是怎么运算的其实我们不知道,这个实现的过程其实就是数据的物理结构。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值