自考总结--数据结构导论

    这次自考有数据结构导论这一门,第一章主要了解概念性的基础东西,例如数据,数据元素和数据项之间的关系,还有数据结构,逻辑结构,基本运算等等的概念、意义及分类。接下来的几章才是重点章节,在老师的那堂课上他利用一张导图进行了分类和归纳,简单清晰易懂。


      自考总结--数据结构导论_第1张图片


    导图从两大方面对数据进行分类,一方面是从结构上分析,另一方面是从算法上对其进行操作。当然,不能只停留在表面上的内容,我们要做到的是能够通过这张简单的图在自己脑海里构建一张更广阔的知识库。不过貌似离那个目标还差一点距离,所以还是翻开课本,对照着每一个章节展开学习。


    一、数据结构

         官方解释:数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关 。

         构成

             1.线:在结构一层的线中,其实核心就是线性表,而栈和队列都可以看做是特殊的线性表。它们的特殊性表现在它们的基本运算是线性表运算的子集,它们是运算受限的线性表。而线性表的基本内容如下:

自考总结--数据结构导论_第2张图片

       (1)线性表(Linear List)主要是一种线性结构,对n(n≥0)个数据元素组成的有穷序列的一种描述。研究的主要内容是线性表的存储结构

            顺序存储:是最简单的一种存储方式,它强调在物理位置上的存储连接,即数据元素在线性表中的邻接关系决定他们在存储空间中的存储位置。这种顺序存储实现的线性表成为顺序表。多用数组表示。实现的基本算法包括插入、删除和定位。

            链式存储:即存储结构是链式的,其中还分为单链表、循环链表和双向链表三类。它强调数据元素之间的逻辑关系。书中用火车的车厢和车钩的例子来说明了单例模式,书中这样描述:每节车厢都由车钩连接起来,车钩相当于单链表的指针,和火车相似,单链表就是数据元素(车厢)用指针(车钩)链接起来的存储结构,指针表示数据之间的逻辑元素。一个数据元素与一个指针组成单链表的一个结点,各结点在内存中的存储位置并不一定连续,可存放在内存的不同位置。链表的结点可以重新链接,相当于火车编组。起初不理解,火车车钩必须链接它的下一节车厢(假设1号车厢连接2号车厢),这不就是顺序存储中的顺序表吗?要是1号车厢的车钩重新连接另一节车厢(假设5号),我就是规定1匹配2,那不就是不符合链式存储了吗?而且链式结构就是要求不管2号车厢在哪个物理地址,1号车厢都要连接上,那书中的这个例子举的合适吗??好吧,我以为我重新理解了,明白了书中的例子,但是写着写着又不明白了,还请小伙伴们帮我解决一下疑惑,我不知道自己钻哪个牛角尖了。。

自考总结--数据结构导论_第3张图片自考总结--数据结构导论_第4张图片

       (2)栈:栈和队列可看作特殊的线性表,它们的特殊性表现在它们的基本运算时线性表的子集,它们是运算受限的线性表。它的原则就是先进后出,后进先出。书中例子:桌子上罗盘子。桌子面可看作栈底,盘子一个一个列队排好后,取盘子时肯定是从上往下先取出最后放上去的那个盘子。其实栈也可看作是个桶。

自考总结--数据结构导论_第5张图片

         (3)队列:如上栈所说,是一种特殊的线性表,区别于栈的是它的进出原则为先进先出,就像去超市结账付款时,都需排队,先到达收银员那付完账的先出来。


自考总结--数据结构导论_第6张图片自考总结--数据结构导论_第7张图片自考总结--数据结构导论_第8张图片

                    2.树(Tree):多么形象的描述啊。前面都是基于线性结构的数据描述,那么层次结构的数据该用什么形式来表示呢,这里就用到了树形结构。它作为一类重要的数据结构出现于此。线性表其实是树的特殊情况。在这里要掌握树的几个表现形式和性质,重点还包括了二叉树、二叉排序树和哈夫曼树等,具体的等学完后再来补充。

自考总结--数据结构导论_第9张图片自考总结--数据结构导论_第10张图片自考总结--数据结构导论_第11张图片

                     3.图:图区别于线性结构与树形结构,分有向图和无向图。整个图包含若干顶点,顶点间关系用边(无向图中)表示,有向图中称为弧。图也拥有多种存储方法,书中主要介绍了邻接矩阵和邻接表两种。这俩还需要进一步了解。关于深度和广度优先搜索,特别简单,只要确定了起始顶点及各相邻的顶点,那其他顺序的排列上就没更多的要求了。算法上的难点应用还有最小生成树的Prim算法,求单源最短路径算法,求拓扑排序算法。自己再探索吧。



    二、算法处理

     这么多数据,处理了解其数据结构外,更需要通过各种排序算法高效对其进行运算。详细内容介绍,请见后续补充。

     自考总结--数据结构导论_第12张图片


你可能感兴趣的:(自考总结--数据结构导论)