软考之数据结构

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

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

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

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

1、结构

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

1.1、 逻辑结构

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

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

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

       1.2、存储结构

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

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

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

2、整理

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

2.1、查找

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

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

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

2.2、算法

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

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

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

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

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

2.3、添加和删除

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

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

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

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

时间: 2024-10-06 08:26:45

软考之数据结构的相关文章

软考数据库-数据结构

每年5月22日,是软考数据库考试时间,距现在还有158天,过完年时间就显示非常紧张了,一年一度的软考正在向我们逼近.说起来软考要考的知识还是挺多的,我会用一系列的文章来为大家介绍软考中的各个知识块,大家一起讨论学习,希望明年各位都能领到一个红本本,呵呵. 首先用一个图来看一下数据结构中各个知识点之间的关系. 其中树包括: 图包括: 1.线性表 顺序表与链表部分比较简单.也没多少概念,循环队列的地方注意一下,一般画个图分析一下即可. 2.树 树的部分概念比较多.一般对于基本概念掌握好就Ok.对于某

【软考】数据结构导论

概念 数据结构是这数据元素的集合(或数据对象)及元素间的相互关系和构造方法.元素间的相互关系是数据的逻辑结构,数据元素及元素之间关系的存储形式成为存储结构.学习数据结构能够帮助为应用所设计的数据选择适当的逻辑结构,存储结构及其相应的操作方法.从而提高计算机解决问题的效率. 研究重点 1数据的逻辑结构及各类型的存储. 2对数据的操作:查找,排序 知识概览 (点我查看大图) 纵横比较 1 数据按逻辑结构分为线 树图,三者的区别在哪里? 线 一个父辈一个子辈 树 一个父辈 n个子辈(n=1,2,3..

【软考】数据结构之5大排序(一)

排序,是将一组随意排列的数据元素又一次排列成一个按键值有序的序列的过程,一般以键值的比較和记录移动为标准操作.排序是程序设计的基础.它往往是为检索服务的.一个优秀的算法离不开切实情景的排序方法. 1.分类: 排序有两种: 内部排序(InternalSorting):待排序的记录所有存放在计算机内存中进行排序的过程 外部排序(ExternalSorting):指待排序记录的数量非常大.以至于内存不能容纳所有记录.在排序过程中尚需外存进行訪问的排序过程 我们通常所说的5大排序,是编程者运用到程序中的

软考(3)--数据结构导论

数据结构不仅是软考的内容,也是这次自考的内容,重要性不言而喻.前后看了很多遍,每次看都有不同的感受.看第一遍的时候被开篇的复杂度问题给了一个下马威,不过硬着头皮看下去了,画完一遍导图以后,再看第二遍,已经觉得明晰多了.到现在把整本<数据结构导论>了然于胸,真的觉得学习就是一个反复的过程,反复的强化,增加联系,编织知识网.书本上的知识在逐渐抽象.总结中成为自己的知识. 数据结构导论主要讲了两方面的内容,数据的结构以及对数据操作.一张图胜过千言万语,直接上图了! 数据结构导论从逻辑结构和存储结构两

数据结构——软考探究(一)

继上篇博客之后,对软考涉及的知识有了更深入的研究,本篇博客将会和大家分享对于数据结构的学习.数据结构是软考中比较重要的一块知识,它介绍了计算机中数据的内部构成,即一个数据由那些成分数据构成,以什么方式构成,呈什么结构.对于我们对于计算机知识的深入研究有很好的帮助,同时以此为基础也会很好地帮助我们去挖掘计算机的潜能,实现各方面性能的最优化. 对于数据结构的知识,自己总结了以下的框图: 数据结构是计算机中我们时常会涉及到的基础知识,他对于我们来说是非常重要的,诸如线性表.栈.队列.树图以及各种排序算

我的软考之路(七)——数据结构与算法(5)之查找

上篇博文我重点介绍了八大内部排序,这篇博文(数据结构与算法的最后一课)重点介绍查找,我们依旧沿用上篇博文的风格,先简单介绍,再以例子重点讲解. 下面我们开始今天的旅行,首先祝你旅行愉快,呵呵. 静态查找 若查找目的是为了查询某个特定的数据是否在表中或检索某个特定数据的各种属性,则此类查找表为静态查找表. 1.顺序查找 基本原理:从表一端开始逐个和关键字进行比较,若找到一个记录和给定值相等,则查找成功,反之失败.再简单点就是,一个一个的比大小,看看是否相等. 例子: 顺序查找更适合于顺序存储结构和

软考之路--数据结构之线性表

数据就是数值,也就是我们通过观察.实验或计算得出的结果.数据有很多种,最简单的就是数字.数据也可以是文字.图像.声音等.数据可以用于科学研究.设计.查证等.结构,组成整体的各部分的搭配和安排,两者完美结合在一起,我们这样需要重新认识她,对她重新审视与定义:数据结构是程序设计的重要理论和技术基础,她所讨论的内容和技术,对从事软件项目的开发有重要作用,通过学习数据结构,我们学会从问题出发,分析和研究计算机加工的数据的特性,以便为应用所设计的数据悬着适当的逻辑结构.存储结构及其相应的操作方法,为提高应

我的软考之路(五)——数据结构与算法(3)之图

图跟树一样,也是非线性结构,咋看起来有点复杂,其实它很简单.树具有层次关系,上层元素可以与下一个多个元素连接,但是只能和上层的一个元素连接.在图结构中,节点间的连接是任意的,任何一个元素都可以与其他元素连接. 图相对而言很简单,我们只介绍的图的遍历和最小生成树,现在我们开始. 遍历 1.概念 从图中某一个顶点出发,访问图中的每一个结点,并要求只能访问一次,不能重复访问. 2.方法 (1)广度优先遍历 基本思想:首先访问顶点,再访问顶点的全部未访问的邻结点,再访问邻结点的所有结点即可(类似树的层次

我的软考之路(六)——数据结构与算法(4)之八大排序

排序是编程的基础,在程序中会常常使用,好的排序方法能够帮助你提高程序执行的效率,所以学好排序,打好基础,对于程序的优化会手到擒来.不管你的技术多么强,假设没有基础也强不到哪去. 不多说了,我们直接进入今天的主题. 总有人说排序非常难,可是我总认为非常easy,我们仅仅须要了解基本思想就好了,通过简单的样例来加深理解. 1.直接插入排序 (1)简单介绍:直接插入排序,从字面意思能够看出,直接插入数据完毕排序. (2)基本思想:在插入第i个数时,如果前i-1数已经排好序了,仅仅须要将第i个数插入到i