软考第一章就是数据结构。这门课自考也有,而且米老师也给多次讲过,结合老师讲的和自己的理解在这里总结一下。
现在一提起数据结构就很自然的想起一张图和有关数据结构的整体知识框架。不过我们最先需要解决的问题就是,为什么要学习数据结构,为什么它处在了软考视频当中的第一章,可见其基础和重要。
第一步先要明确计算机是干嘛用的?没错,处理数据的,而且是大量的数据。无论数据在计算机中是以怎样的方式存储的,处理10条和处理100条是看不出效率上的差别的。但是当处理上万条,上千万条数据的时候,处理效率就会有很大的差别了。为了更好的利用空间和时间,让计算机在处理数据的时候能有更高的效率,才有了数据结构。可见,数据结构是计算机运行效率的基础。
接下来,就让我们看一下在计算机中都有怎样的数据结构。
以上这幅图是从两个方面来说明数据在计算机中存储的方式的:逻辑上和物理上。不管在逻辑上是如何存储的,在物理上都可以用顺序和链式两种方式来存储。顺序方式是指数据在硬盘上是连续存储的,这个的限制比较大,必须保证硬盘上有足够大的空间,否则就不能实现。而链式结构恰好可以弥补这一缺陷。
顺序和链式对比:
顺序
优点:遍历方便。遍历的时候只要输入你要查找的位置,他可以自己计算内存大小,(因为元素时顺序存储的,所以元素的存储位置之间有一定的关系),直接访问,无论你要访问哪里,只需要一步定位。如果数据元素个数已知,较链式存储节省空间。
缺点:存储空间固定,可扩展性差,删除,插入操作需要花费很多时间在移动元素上。
链式
优点:插入和删除元素方便,开销小。可扩展性强
缺点:遍历也就是浏览就比较费时了.他是根据每个元素存储的下一位的地址来访问的.比如要访问第九个就必须从第一个开始,第一的问第二,第二问第三.比较费时。
说完了物理存储,接下来看看逻辑结构。在逻辑结构上其实可以用一个演化图来表示:
当数据在集合中是没有关系的,杂乱的,就是下面这幅图的样子。
当数据可以连接成一条线的时候,就是数据结构,这个就会涉及到数据的直接前驱和直接后继,这个在下图中可以很明显的看出来。
当数据之间的关系变得更加复杂的时候,不仅仅只是一对一的关系的时候,就变成了树形结构
当数据之间的关系再次演化,更加复杂,变成了多对多的时候,就是下面的图。
数据之间的逻辑结构是根据数据之间的关系的不同而不断变化的,但是,不论逻辑上的数据结构怎么变化,在物理上它都是以线性的方式来存储的,无论是顺序的还是链式的(无论空间是否连续),它们都是线性的。
既然知道了数据的存储结构,那么接下来要做的自然是利用这些数据了,并且是高效的利用。说道高效,就要考虑用什么方式来提取这些数据了。这就像用斧头和锯砍树一样,不同的工具自然得到不同的效率。
对于数据利用来说,最直接的首先就是查看。
其次就是排序。
排序这一部分在这里就不详细说了,以后还有后续总结。
总结:
数据结构的整体框架也就那么回事,从简单的集合,到线性表(一对一),树(一对多),图(多对多),然后就是针对这几种不同的数据结构进行的查找及排序操作。具体的内容其实还有,但是首先要宏观掌握,这是第一步,以后还要继续深入研究。今天就先到这吧。
您还没有登录,请您登录后再发表评论
### 软考必备知识点——操作系统知识 #### 一、操作系统基本概述 操作系统是一种复杂的软件系统,其核心目的是为了提高计算机系统的资源(包括硬件和软件资源)利用率,并为用户提供便捷的使用体验。操作系统具备...
"软考辅导-数据结构与算法(“结点”文档)共134张.pptx" 本资源摘要信息是关于数据结构与算法的知识点总结,涵盖了数据结构的概念、逻辑结构、存储结构、常用数据结构、算法基础、排序算法、查找算法、数值计算、...
【软考网络工程师常用协议名称——必背】 网络工程师在准备软考时,需要掌握一系列的网络协议,这些协议构成了互联网及其相关应用的基础。以下是一些重要的协议和相关概念: 1. SAP(Service Access Point)- 服务...
1. **基础理论**:包括数据结构、算法、计算机网络、操作系统、数据库原理等基础知识。 2. **编程语言**:根据考试大纲,掌握至少一种编程语言,如C++、Java、Python等,理解其语法特性、数据类型、流程控制、函数...
《软考中级数据库系统工程师备考指南——Xmind思维导图解析》 在信息技术领域,数据库系统工程师是一项重要的专业资质,而“软考中级数据库系统工程师”则是国内对这一职业资格的权威认证。备考这一考试,考生需要...
- **数据传送**: 通过已建立的连接进行数据传输。 - **线路拆除**: 数据传输完成后拆除连接。 3. **缺点**: - **效率低下**: 用户/主机的数据连接状态通常大部分时间处于空闲状态,导致线路资源浪费。 - **固定...
上午部分,侧重于理论知识的考核,试题通常以客观题的形式出现,考生需要具备扎实的数据库理论基础,如数据结构、关系数据库范式等。而下午部分则更偏向于实际应用的考察,试题往往涉及到数据库的详细设计、SQL语句...
在探讨网络工程师的相关知识点时,我们不得不提及计算机网络中一个重要的性能参数——高速缓存(Cache)的命中率。在计算机体系结构中,高速缓存与主存之间的地址映射方式直接影响到系统的读写效率。全相联映射是一...
程序员级别的考试内容一般涵盖基础编程语言知识(如Java、C++等)、数据结构、算法设计、软件工程的基本概念以及开发流程等。这些问题的回答方式往往涉及计算、逻辑推理、代码编写等多个方面,要求考生具有较强的...
磁头在硬盘上写入数据时,通常是串行写入的,即C选项。 7. **Cache和主存地址映射**: 对于容量为64块的Cache,采用4块一组的组相联映射,主存容量为4096块,字块大小为128个字。主存地址需要19位来表示(128*...
基础知识涵盖了计算机系统知识、数据结构、算法、操作系统、网络、数据库等;应用技术则考察编程语言、软件工程、软件测试等相关技能。 3. 模拟试题的作用:通过模拟试题,考生可以了解考试的难度、题型分布,如...
**题目背景**:在计算机科学中,二叉树是一种重要的数据结构。本节将重点介绍如何实现二叉树的中序遍历,并通过一个具体的例子来帮助理解。 **题目解析**:根据题目给出的部分代码来看,其主要目标是实现一个二叉...
在准备软考——软件设计师的考试过程中,理解并掌握应用技术是非常关键的。本文档重点总结了应用技术领域的一些核心知识点,包括结构化设计方法、数据库设计步骤以及面向对象设计中的关系。 首先,结构化设计方法是...
在准备软考中级的软件设计师考试时,理解并掌握计算机的基本组成与体系结构是至关重要的。本复习文档将深入探讨相关主题,帮助考生全面掌握核心知识点。 一、数据的表示 数据在计算机内部以二进制形式存在,包括...
数据结构与算法部分则是考察软件设计师核心能力的重头戏,从线性表、树、图等数据结构到排序、搜索等算法,笔记中都给出了清晰的思路和常见的问题场景,帮助考生提高解决实际问题的能力。数据库设计、网络与操作系统...
首先,在基础知识部分,内容涵盖了操作系统原理、数据库管理、网络技术、数据结构和算法设计等诸多方面。这些是计算机科学与技术领域的核心内容,也是软考笔试中不可或缺的重要组成部分。通过对这部分内容的深入解析...
在提供的文件内容中,我们可以看到考试笔记包含了多个考点的知识点,例如线性表、树与二叉树、数据结构与算法基础、排序算法、查找算法以及编译原理等。以下是对这些考点的详细解读: ### 线性表 线性表是最基本、...
软考程序员级别的考试主要测试考生的编程基础、数据结构、算法分析、操作系统、数据库系统、网络基础、软件工程等方面的知识。考生可以通过这些真题和模拟题来检验自己的知识掌握程度,同时熟悉考试的答题节奏和时间...
《软件设计师考试考点分析与真题详解(第4版)最新版》是一本针对中级软考——软件设计师资格认证考试的辅导书籍。其内容主要涵盖数据结构与算法设计的基础知识、常用数据结构和算法的定义、存储、操作以及算法设计...
相关推荐
### 软考必备知识点——操作系统知识 #### 一、操作系统基本概述 操作系统是一种复杂的软件系统,其核心目的是为了提高计算机系统的资源(包括硬件和软件资源)利用率,并为用户提供便捷的使用体验。操作系统具备...
"软考辅导-数据结构与算法(“结点”文档)共134张.pptx" 本资源摘要信息是关于数据结构与算法的知识点总结,涵盖了数据结构的概念、逻辑结构、存储结构、常用数据结构、算法基础、排序算法、查找算法、数值计算、...
【软考网络工程师常用协议名称——必背】 网络工程师在准备软考时,需要掌握一系列的网络协议,这些协议构成了互联网及其相关应用的基础。以下是一些重要的协议和相关概念: 1. SAP(Service Access Point)- 服务...
1. **基础理论**:包括数据结构、算法、计算机网络、操作系统、数据库原理等基础知识。 2. **编程语言**:根据考试大纲,掌握至少一种编程语言,如C++、Java、Python等,理解其语法特性、数据类型、流程控制、函数...
《软考中级数据库系统工程师备考指南——Xmind思维导图解析》 在信息技术领域,数据库系统工程师是一项重要的专业资质,而“软考中级数据库系统工程师”则是国内对这一职业资格的权威认证。备考这一考试,考生需要...
- **数据传送**: 通过已建立的连接进行数据传输。 - **线路拆除**: 数据传输完成后拆除连接。 3. **缺点**: - **效率低下**: 用户/主机的数据连接状态通常大部分时间处于空闲状态,导致线路资源浪费。 - **固定...
上午部分,侧重于理论知识的考核,试题通常以客观题的形式出现,考生需要具备扎实的数据库理论基础,如数据结构、关系数据库范式等。而下午部分则更偏向于实际应用的考察,试题往往涉及到数据库的详细设计、SQL语句...
在探讨网络工程师的相关知识点时,我们不得不提及计算机网络中一个重要的性能参数——高速缓存(Cache)的命中率。在计算机体系结构中,高速缓存与主存之间的地址映射方式直接影响到系统的读写效率。全相联映射是一...
程序员级别的考试内容一般涵盖基础编程语言知识(如Java、C++等)、数据结构、算法设计、软件工程的基本概念以及开发流程等。这些问题的回答方式往往涉及计算、逻辑推理、代码编写等多个方面,要求考生具有较强的...
磁头在硬盘上写入数据时,通常是串行写入的,即C选项。 7. **Cache和主存地址映射**: 对于容量为64块的Cache,采用4块一组的组相联映射,主存容量为4096块,字块大小为128个字。主存地址需要19位来表示(128*...
基础知识涵盖了计算机系统知识、数据结构、算法、操作系统、网络、数据库等;应用技术则考察编程语言、软件工程、软件测试等相关技能。 3. 模拟试题的作用:通过模拟试题,考生可以了解考试的难度、题型分布,如...
**题目背景**:在计算机科学中,二叉树是一种重要的数据结构。本节将重点介绍如何实现二叉树的中序遍历,并通过一个具体的例子来帮助理解。 **题目解析**:根据题目给出的部分代码来看,其主要目标是实现一个二叉...
在准备软考——软件设计师的考试过程中,理解并掌握应用技术是非常关键的。本文档重点总结了应用技术领域的一些核心知识点,包括结构化设计方法、数据库设计步骤以及面向对象设计中的关系。 首先,结构化设计方法是...
在准备软考中级的软件设计师考试时,理解并掌握计算机的基本组成与体系结构是至关重要的。本复习文档将深入探讨相关主题,帮助考生全面掌握核心知识点。 一、数据的表示 数据在计算机内部以二进制形式存在,包括...
数据结构与算法部分则是考察软件设计师核心能力的重头戏,从线性表、树、图等数据结构到排序、搜索等算法,笔记中都给出了清晰的思路和常见的问题场景,帮助考生提高解决实际问题的能力。数据库设计、网络与操作系统...
首先,在基础知识部分,内容涵盖了操作系统原理、数据库管理、网络技术、数据结构和算法设计等诸多方面。这些是计算机科学与技术领域的核心内容,也是软考笔试中不可或缺的重要组成部分。通过对这部分内容的深入解析...
在提供的文件内容中,我们可以看到考试笔记包含了多个考点的知识点,例如线性表、树与二叉树、数据结构与算法基础、排序算法、查找算法以及编译原理等。以下是对这些考点的详细解读: ### 线性表 线性表是最基本、...
软考程序员级别的考试主要测试考生的编程基础、数据结构、算法分析、操作系统、数据库系统、网络基础、软件工程等方面的知识。考生可以通过这些真题和模拟题来检验自己的知识掌握程度,同时熟悉考试的答题节奏和时间...
《软件设计师考试考点分析与真题详解(第4版)最新版》是一本针对中级软考——软件设计师资格认证考试的辅导书籍。其内容主要涵盖数据结构与算法设计的基础知识、常用数据结构和算法的定义、存储、操作以及算法设计...