如何理解数据结构

作为一个编程技术人员,我们无时无刻不跟数据打交道,那数据和数据结构到底啥关系呢 ?在官方的定义中数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成其实通俗的讲数据结构就是计算机存储、组织数据的方式。

 数据结构分别为逻辑结构存储结构物理结构)和数据的运算。我们存储数据的目的是为了后期能够加以利用,通常,我们开发过程中最常用的是变量或者数据存储数据,如下:

int i=1;

int j=2;

String str="abc";

char arr={'a','b','c'};

然而我们通常会遇到很多数组无法表示或者不直观的问题,这个时候我们还能咋办呢?

比如当我们遇到这样一种问题:一群学生排队,除了第一个学生,其他学生只记得他前一个学生是谁,如图1,用程序该如何表示呢?

    图1

如果用数组来存储图1所示的关系:{'student1','student2'.....'studentN'},数据存储是没有问题,虽然体现数据之间的存储关系,但是却无法体现他们之间的逻辑关系,对于后期根本无法使用。针对以上问题,可以用队列的数据结构来存储。

再比如,我们有一家族成员,他们关系如图2所示,我们要怎样存储他们呢?如果用数组存储我们怎么知道谁是长辈,谁是兄弟姐妹呢?

图2

很明显,这些数据如果使用变量或数组进行存储的话就变成:{'爷爷','奶奶','爸爸','妈妈','我','弟弟',....},根本无法表示他们的关系。不难看出,对于存储之间具有层级关系的数据,如果用数组存储,这样对于数据的使用简直是个悲剧。对于图2我们可以用的数据结构存储。

通过以上我们可以知道,数据结构不仅能帮助我们解决简单的问题,也能处理复杂的数据关系,精心选择的数据结构更能带来更高的运行或者存储效率。

因此,我认为,数据结构是一门思想,它使我们思考”如何高效的存储和组织具有复杂关系的数据,以便更有助于后期的维护和利用“。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值