首页 > 代码库 > 软考之数据结构
软考之数据结构
讲到数据结构,那么我们先来认识一下数据结构。
数据结构是在整个计算机科学与技术领域上广泛被使用的术语。它用来反映一个数据的内部构成,即一个数据由那些成分数据构成,以什么方式构成,呈什么结构。一句话就是数据在程序中长什么样,怎么用。
那么就先来认识一下数据长什么样子。
在数据结构中,他的样子被叫做结构,然后结构被分成逻辑结构和存储结构,就好像我们穿衣服,逻辑结构就是我们如何搭配,而存储结构就是我们穿好衣服的样子。
1、结构
那么在数据结构中他们是如何搭配的呢,在现实中,冬天我们穿棉服,而夏天我们就是半袖加短裤和拖鞋,而女生冬天这是打底裤加棉服,夏天则是裙子或者是短裤加T恤,那么数据呢,那么就为他们介绍一下吧。
1.1、 逻辑结构
线性结构就是一组不同的节点(衣服)连接而成的一个结构。
树结构是节点后边还有不同的节点,这样在我们选择衣服的时候也就有了一个选择。比如说要传裤子,那么我们是选择长裤还是短裤呢,这就是一个典型的树形结构。
图就是各个节点没有一定的顺序,在我们搭配衣服的时候由于衣服太多的原因就是我们没有顺序呀,尤其是那些整天喊着没有衣服了的女生。
1.2、存储结构
顺序存储:就是一组数据是相对的前后有序,比如说我们夏天过去了,那么我们就会秋天的衣服放在夏天的后边,以后直接拿就可以。
链式存储:链式存储与顺序存储相反,连接不一定是相对的位置,只要我们知道在哪就可以,衣服可以乱扔,但是我们要是在衣服上连接一条线,在夏天过了的时候我们要换秋天的衣服了,但是柜子里边都是夏天的衣服,但是我们柜子上连接的一条线,下一个季节的衣服知道在哪就可以了。
那么有了这两个搭配,我们穿衣服是不是就不用愁了呢。
2、整理
但是又有一个问题呀,我从小就有一个问题,那就是爱买衣服,柜子里边衣服太多了,找起来有点困难,那么数据多了也是一个道理,所以在数据结构中我们又有了查找的办法。
2.1、查找
二分查找:比如我们是一个有讲究的人,在放衣服的时候我们会按大小,或者颜色放好,那么我们要传神色的衣服的时候就可以直接在一堆衣服中分开,然后根据接下来的在接续一半一半的分,直到找到合适自己的衣服。
索引查找:这种查找衣服的方法当然前提我们还是要有一个好的习惯,春夏秋冬的衣服我们还是要分好类的,这样我们查找的时候就直接去秋天的衣服去找。
顺序查找:My God,我没有好习惯,那没办法了,你就从你那一对衣服里边一件一件的去找吧。
2.2、算法
看到这里我们会发现一个好的习惯有多么的重要了吧,如何养成一个好的习惯呢?方法非常的重要。所以这里我们引出了算法,根据我们的情况不同,选择一个好的算法把我们的衣服排好顺序。
插入:直接找到要安放的衣服,然后放在他合适的位置,当然这个方法会让你的和以前放好的衣服可以依次比较一次。最少也是比较一次,也就是最后一个。
交换:就是把衣柜的衣服依次的和旁边的比较,前后正确就OK,不一样的画交换顺序,比较完第一件后再比较第二件,依次类推。
选择:选择排序和交换很像,他不再局限和旁边的比较,而是和后边的所有衣服都一样的进行比较,然后交换。
好吧,说道这里,貌似衣服放也放好了,搭配也没问题了,那么我要添加新衣服呢,或者有些衣服不要了,要扔了,这就又涉及到衣服的删除和添加。
2.3、添加和删除
如果我们把衣服按照链式存储放在一起,那么我们就要添加一件衣服,那么就找到合适的位置,然后让前后的衣服都指向他,或者是删除一件衣服的话,就把他们前后连起来,把他一扔就可以了,
如果我们是顺序存储的放在一起,那么我们就要把衣服找到合适的位置,然后把他后边的衣服依次的向后移动,最后在添加,删除就把后边的衣服依次向前移动。
话说了这么多,如果有什么看的困难,大家可以根据这个思维导图来看看这篇文章。
其实数据结构看上去貌似很难,但是如果大家和我们生活在联系起来,生活中的结构无处不在,而我们学习的时候就是应该是新知识,用旧学,联系生活,编制我们的知识网。
软考之数据结构