【软考】数据结构导论

概念

数据结构是这数据元素的集合(或数据对象)及元素间的相互关系和构造方法。元素间的相互关系是数据的逻辑结构,数据元素及元素之间关系的存储形式成为存储结构。学习数据结构能够帮助为应用所设计的数据选择适当的逻辑结构,存储结构及其相应的操作方法。从而提高计算机解决问题的效率。

研究重点

1数据的逻辑结构及各类型的存储。

2对数据的操作:查找,排序

知识概览

点我查看大图

纵横比较

1 数据按逻辑结构分为线 树图,三者的区别在哪里?

线
一个父辈一个子辈


一个父辈 n个子辈(n=1,2,3..)


m个父辈n个子辈(n,m=1,2,3..)

概括的说,线和树都是一种特殊的图。

2数据按存储方式分,有顺序存储和链式存储,两者的区别在哪里?

顺序存储,是用一组地址连续的存储单元存储。就好比5个人去教室,坐挨着的一排座位。(假设现在老大做1号,老二坐2号。)一旦有人要插入到老大和老二之间时,只能是从老二到老五依次往后挪一个位置。因为顺序存储和实际的地址有关。

链式存储,不要求地址连续。用结点来存储。包括数据域和指针域。数据域存放元素,指针存放和他相连的下一个地址。如果同样是新人插到老大和老二之间,那么新人可以随便坐,只需要改变老大和新人的指针就行,其他人也不受影响。

3 当栈和队列都采用顺序存储时,区别是什么?

首先相同点都是用连续的地址去存储。不同点是:

顺序栈通常用一个一维数组和一个记录栈顶位置的变量来实现栈的顺序存储。常用的是进栈和出栈操作,在进栈之前应判断是否栈满。

顺序队列:有三个域,data,front,rear.
入队列操作用两条赋值语句。SQ.front=SQ.front+1;SQ.data[SQ.rear]=x完成。

4 当栈,队列,二叉树都采用链式存储时,有什么联系和区别

首先共同点都是依靠指针。

链栈:(方式之一)用带头结点的单链表来实现。假设LS指向链表的头结点,首结点是栈顶结点,LS->next 指向栈顶结点。

链队列:用带头结点的单链表来实现。头指针指向链表的头结点,单链表的头结点的next域执行队列首结点。

没错,上面两句话表达的是一个意思。。。只不过由于二叉树一般会有两个子结点,所以在存储上也有一些差异。

 二叉树:仅拿二叉链表举例,在二叉链表中,会有存放数据的,和存放指向左右孩子的指针域。

总结

用计算机解决任何实际问题都离不开数据表示和数据处理,而数据的表示和处理的核心问题之一就是数据结构及其实现。这正是我们数据结构这一部分要研究的基本内容。当然,它也为我们数据库及其应用,操作系统等课程提供必要的知识基础。同时,也要意识到因为很多算法是受存储方式局限的。所有更应该考虑优先选好到底用什么样的数据存储。这一部分内容框架很清晰,但是知识点还要好好的总结。

学习还在继续。总结不断更新中。欢迎批评与指正。

时间: 2024-10-26 10:58:50

【软考】数据结构导论的相关文章

软考-数据结构

数据结构基本概念 首先了解三个概念 数据:所有能输入到计算机中并能够被计算机程序处理的符号的总称.它是计算机程序加工的原料 数据元素:数据的基本单位,在计算机程序中通常作为一个整体来进行考虑和处理.如数组中一个存储单元里面的数或者链表中一个结点 数据结构:是数据元素相互之间存在的一种或多种特定关系的集合.主要研究数据逻辑结构和存储结构及其运算的实现 数据的逻辑结构:结构定义中的“关系” 描述的是数据元素之间的逻辑关系,又称为逻辑结构,比如平常教学中所画的内存图,数组等为数据的逻辑结构. 数据的物

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

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

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

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

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

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

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

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

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

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

软考数据库-数据结构

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

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

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

我的软考之路(四)——数据结构和算法(2)树和二叉树

上鲍恩描述了数据结构的线性结构,我们引入非线性结构本博客-树和二叉树.我想向大家介绍一些基本概念树,树遍历,然后介绍了二叉树的概念和特征.和二叉树遍历.叉树的对照,总结. 树为了描写叙述现实世界的层次结构,树结构中一个数据元素能够有两个或两个以上的直接后继元素. 树的基本概念: 树的概念是学习树的关键所在.掌握了树的基本概念,学会树与二叉树,so easy. 我通过一棵树来了解树的基本概念.例如以下图 1.结点的度 结点的度是子结点的个数.比如:结点1有三个字结点2,3,4,所以结点1的度为3.

软考软件设计师到底难不难?

软考全称计算机技术与软件专业技术资格水平考试,是由国家人力资源和社会保障部(原人事部).工业和信息化部(原信息产业部)领导的国家级考试,其目的是,科学.公正地对全国计算机与软件专业技术人员进行职业资格.专业技术资格认定和专业技术水平测试.该考试分为 5 个专业类别,并在各专业类别中分设了高.中.初级专业资格考试,囊括了共 28 个资格的考核.通过考试获得证书的人员,表明其已具备从事相应专业岗位工作的水平和能力,用人单位可根据工作需要从获得证书的人员中择优聘任相应专业技术职务. 先介绍下我自己,我