软考之数据结构

讲到数据结构,那么我们先来认识一下数据结构。

       数据结构是在整个计算机科学与技术领域上广泛被使用的术语。它用来反映一个数据的内部构成,即一个数据由那些成分数据构成,以什么方式构成,呈什么结构。一句话就是数据在程序中长什么样,怎么用。

       那么就先来认识一下数据长什么样子。

       在数据结构中,他的样子被叫做结构,然后结构被分成逻辑结构和存储结构,就好像我们穿衣服,逻辑结构就是我们如何搭配,而存储结构就是我们穿好衣服的样子。

1、结构

       那么在数据结构中他们是如何搭配的呢,在现实中,冬天我们穿棉服,而夏天我们就是半袖加短裤和拖鞋,而女生冬天这是打底裤加棉服,夏天则是裙子或者是短裤加T恤,那么数据呢,那么就为他们介绍一下吧。

      1.1、 逻辑结构

       线性结构就是一组不同的节点(衣服)连接而成的一个结构。

       树结构是节点后边还有不同的节点,这样在我们选择衣服的时候也就有了一个选择。比如说要传裤子,那么我们是选择长裤还是短裤呢,这就是一个典型的树形结构。

     图就是各个节点没有一定的顺序,在我们搭配衣服的时候由于衣服太多的原因就是我们没有顺序呀,尤其是那些整天喊着没有衣服了的女生。



       1.2、存储结构

       顺序存储:就是一组数据是相对的前后有序,比如说我们夏天过去了,那么我们就会秋天的衣服放在夏天的后边,以后直接拿就可以。

       链式存储:链式存储与顺序存储相反,连接不一定是相对的位置,只要我们知道在哪就可以,衣服可以乱扔,但是我们要是在衣服上连接一条线,在夏天过了的时候我们要换秋天的衣服了,但是柜子里边都是夏天的衣服,但是我们柜子上连接的一条线,下一个季节的衣服知道在哪就可以了。

       那么有了这两个搭配,我们穿衣服是不是就不用愁了呢

       2、整理

       但是又有一个问题呀,我从小就有一个问题,那就是爱买衣服,柜子里边衣服太多了,找起来有点困难,那么数据多了也是一个道理,所以在数据结构中我们又有了查找的办法。

2.1、查找

       二分查找:比如我们是一个有讲究的人,在放衣服的时候我们会按大小,或者颜色放好,那么我们要传神色的衣服的时候就可以直接在一堆衣服中分开,然后根据接下来的在接续一半一半的分,直到找到合适自己的衣服。

索引查找:这种查找衣服的方法当然前提我们还是要有一个好的习惯,春夏秋冬的衣服我们还是要分好类的,这样我们查找的时候就直接去秋天的衣服去找。

顺序查找:My God,我没有好习惯,那没办法了,你就从你那一对衣服里边一件一件的去找吧。

2.2、算法

看到这里我们会发现一个好的习惯有多么的重要了吧,如何养成一个好的习惯呢?方法非常的重要。所以这里我们引出了算法,根据我们的情况不同,选择一个好的算法把我们的衣服排好顺序。

   插入:直接找到要安放的衣服,然后放在他合适的位置,当然这个方法会让你的和以前放好的衣服可以依次比较一次。最少也是比较一次,也就是最后一个。

交换:就是把衣柜的衣服依次的和旁边的比较,前后正确就OK,不一样的画交换顺序,比较完第一件后再比较第二件,依次类推。

选择:选择排序和交换很像,他不再局限和旁边的比较,而是和后边的所有衣服都一样的进行比较,然后交换。

好吧,说道这里,貌似衣服放也放好了,搭配也没问题了,那么我要添加新衣服呢,或者有些衣服不要了,要扔了,这就又涉及到衣服的删除和添加。

2.3、添加和删除

如果我们把衣服按照链式存储放在一起,那么我们就要添加一件衣服,那么就找到合适的位置,然后让前后的衣服都指向他,或者是删除一件衣服的话,就把他们前后连起来,把他一扔就可以了,

如果我们是顺序存储的放在一起,那么我们就要把衣服找到合适的位置,然后把他后边的衣服依次的向后移动,最后在添加,删除就把后边的衣服依次向前移动。

话说了这么多,如果有什么看的困难,大家可以根据这个思维导图来看看这篇文章。

其实数据结构看上去貌似很难,但是如果大家和我们生活在联系起来,生活中的结构无处不在,而我们学习的时候就是应该是新知识,用旧学,联系生活,编制我们的知识网。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值