`
sunqing0316
  • 浏览: 41122 次
  • 性别: Icon_minigender_2
文章分类
社区版块
存档分类
最新评论

软考进行时——数据结构

 
阅读更多
	软考第一章就是数据结构。这门课自考也有,而且米老师也给多次讲过,结合老师讲的和自己的理解在这里总结一下。
	现在一提起数据结构就很自然的想起一张图和有关数据结构的整体知识框架。不过我们最先需要解决的问题就是,为什么要学习数据结构,为什么它处在了软考视频当中的第一章,可见其基础和重要。
	第一步先要明确计算机是干嘛用的?没错,处理数据的,而且是大量的数据。无论数据在计算机中是以怎样的方式存储的,处理10条和处理100条是看不出效率上的差别的。但是当处理上万条,上千万条数据的时候,处理效率就会有很大的差别了。为了更好的利用空间和时间,让计算机在处理数据的时候能有更高的效率,才有了数据结构。可见,数据结构是计算机运行效率的基础。
接下来,就让我们看一下在计算机中都有怎样的数据结构。
	
	以上这幅图是从两个方面来说明数据在计算机中存储的方式的:逻辑上和物理上。不管在逻辑上是如何存储的,在物理上都可以用顺序和链式两种方式来存储。顺序方式是指数据在硬盘上是连续存储的,这个的限制比较大,必须保证硬盘上有足够大的空间,否则就不能实现。而链式结构恰好可以弥补这一缺陷。
	
顺序和链式对比:
顺序
	优点:遍历方便。遍历的时候只要输入你要查找的位置,他可以自己计算内存大小,(因为元素时顺序存储的,所以元素的存储位置之间有一定的关系),直接访问,无论你要访问哪里,只需要一步定位。如果数据元素个数已知,较链式存储节省空间。
	缺点:存储空间固定,可扩展性差,删除,插入操作需要花费很多时间在移动元素上。
链式
	优点:插入和删除元素方便,开销小。可扩展性强
	缺点:遍历也就是浏览就比较费时了.他是根据每个元素存储的下一位的地址来访问的.比如要访问第九个就必须从第一个开始,第一的问第二,第二问第三.比较费时。
	说完了物理存储,接下来看看逻辑结构。在逻辑结构上其实可以用一个演化图来表示:
	当数据在集合中是没有关系的,杂乱的,就是下面这幅图的样子。
	
	数据可以连接成一条线的时候,就是数据结构,这个就会涉及到数据的直接前驱和直接后继,这个在下图中可以很明显的看出来。
	
	当数据之间的关系变得更加复杂的时候,不仅仅只是一对一的关系的时候,就变成了树形结构
	
	数据之间的关系再次演化,更加复杂,变成了多对多的时候,就是下面的图。
	
	数据之间的逻辑结构是根据数据之间的关系的不同而不断变化的,但是,不论逻辑上的数据结构怎么变化,在物理上它都是以线性的方式来存储的,无论是顺序的还是链式的(无论空间是否连续),它们都是线性的。
	既然知道了数据的存储结构,那么接下来要做的自然是利用这些数据了,并且是高效的利用。说道高效,就要考虑用什么方式来提取这些数据了。这就像用斧头和锯砍树一样,不同的工具自然得到不同的效率。
	对于数据利用来说,最直接的首先就是查看
	
	其次就是排序。
	
	排序这一部分在这里就不详细说了,以后还有后续总结。
	总结:
	数据结构的整体框架也就那么回事,从简单的集合,到线性表(一对一),树(一对多),图(多对多),然后就是针对这几种不同的数据结构进行的查找及排序操作。具体的内容其实还有,但是首先要宏观掌握,这是第一步,以后还要继续深入研究。今天就先到这吧。
	
	
	
	

	

分享到:
评论

相关推荐

    软考必备知识点——操作系统知识.pdf

    ### 软考必备知识点——操作系统知识 #### 一、操作系统基本概述 操作系统是一种复杂的软件系统,其核心目的是为了提高计算机系统的资源(包括硬件和软件资源)利用率,并为用户提供便捷的使用体验。操作系统具备...

    软考辅导-数据结构与算法(“结点”文档)共134张.pptx

    "软考辅导-数据结构与算法(“结点”文档)共134张.pptx" 本资源摘要信息是关于数据结构与算法的知识点总结,涵盖了数据结构的概念、逻辑结构、存储结构、常用数据结构、算法基础、排序算法、查找算法、数值计算、...

    软考网络工程师常用协议名称——必背.doc

    【软考网络工程师常用协议名称——必背】 网络工程师在准备软考时,需要掌握一系列的网络协议,这些协议构成了互联网及其相关应用的基础。以下是一些重要的协议和相关概念: 1. SAP(Service Access Point)- 服务...

    软考程序员历年真题下载

    1. **基础理论**:包括数据结构、算法、计算机网络、操作系统、数据库原理等基础知识。 2. **编程语言**:根据考试大纲,掌握至少一种编程语言,如C++、Java、Python等,理解其语法特性、数据类型、流程控制、函数...

    软考中级数据库系统工程师备考资料——xmind思维导图(配合第四版教程).zip

    《软考中级数据库系统工程师备考指南——Xmind思维导图解析》 在信息技术领域,数据库系统工程师是一项重要的专业资质,而“软考中级数据库系统工程师”则是国内对这一职业资格的权威认证。备考这一考试,考生需要...

    软考程序员模拟试题与解析

    基础知识涵盖了计算机系统知识、数据结构、算法、操作系统、网络、数据库等;应用技术则考察编程语言、软件工程、软件测试等相关技能。 3. 模拟试题的作用:通过模拟试题,考生可以了解考试的难度、题型分布,如...

    c常见算法(软考)

    **题目背景**:在计算机科学中,二叉树是一种重要的数据结构。本节将重点介绍如何实现二叉树的中序遍历,并通过一个具体的例子来帮助理解。 **题目解析**:根据题目给出的部分代码来看,其主要目标是实现一个二叉...

    软考-软件设计师学习文档(应用技术)总结.pdf

    在准备软考——软件设计师的考试过程中,理解并掌握应用技术是非常关键的。本文档重点总结了应用技术领域的一些核心知识点,包括结构化设计方法、数据库设计步骤以及面向对象设计中的关系。 首先,结构化设计方法是...

    希赛——软件设计师考试笔记

    在提供的文件内容中,我们可以看到考试笔记包含了多个考点的知识点,例如线性表、树与二叉树、数据结构与算法基础、排序算法、查找算法以及编译原理等。以下是对这些考点的详细解读: ### 线性表 线性表是最基本、...

    软考复习文档.docx

    在准备软考中级的软件设计师考试时,理解并掌握计算机的基本组成与体系结构是至关重要的。本复习文档将深入探讨相关主题,帮助考生全面掌握核心知识点。 一、数据的表示 数据在计算机内部以二进制形式存在,包括...

    历年软考程序员真题.zip

    软考程序员级别的考试主要测试考生的编程基础、数据结构、算法分析、操作系统、数据库系统、网络基础、软件工程等方面的知识。考生可以通过这些真题和模拟题来检验自己的知识掌握程度,同时熟悉考试的答题节奏和时间...

    软件设计师考试考点分析与真题详解(第4版)最新版

    《软件设计师考试考点分析与真题详解(第4版)最新版》是一本针对中级软考——软件设计师资格认证考试的辅导书籍。其内容主要涵盖数据结构与算法设计的基础知识、常用数据结构和算法的定义、存储、操作以及算法设计...

    软考程序员历年真题2010上、下

    1. 上午试卷:通常侧重于理论知识的考察,包括计算机基础知识、数据结构、算法、操作系统、网络等。考生需要对这些基本概念有深入理解,并能运用到实际问题中。 2. 下午试卷:主要考察编程能力,包括C、C++、Java等...

    软考中级-软件设计师知识点

    数据的物理独立性是指当数据库的内模式发生改变时,数据的逻辑结构不变。由于应用程序处理的只是数据的逻辑结构,这样物理独立性可以保证,当数据的物理结构改变了,应用程序不用改变。但是,为了保证应用程序能够...

    软考中级软件设计师历年真题.zip

    2. **数据结构与算法**:数据结构是编程的基础,包括数组、链表、栈、队列、树、图等。算法分析则涉及排序、查找等基本操作的效率评估,如冒泡排序、快速排序、二分查找等。 3. **计算机网络**:理解网络协议,如...

    2024-高项第四版速记词——51CTO软考内部资料_1-3.pdf

    - **可用性**:保证信息在需要时可以正常访问。 ### 12. 信息系统安全层次 - **设备安全**:物理设备的保护措施。 - **数据安全**:存储和传输中的数据保护。 - **内容安全**:内容本身的保护措施。 - **行为安全*...

    2012上半年软考网络工程师 上午试题

    因此,说法错误的是C选项——三层交换机只能根据第三层协议进行交换。 #### 题目十二:以太网交换机应用 **题目概述:** 考查以太网交换机的功能。 **解析:** 通过以太网交换机连接的工作站组成了一个广播域,但...

Global site tag (gtag.js) - Google Analytics