数据结构

           十一期间在复习软考的时候,以为对数据结构比较感兴趣,所以先复习的他,来看看我总结的数据结构吧!

       数据有四种结构:线性结构,数组、矩阵、广义表,树,图。下面我们来分别整理一下这四种结构需要注意的部分。

       第一种结构,线性结构,包括现行表和链表两种。线性表有顺序存储  、 链式存储两种存储方式。链表是线性表的一种,包括双向链表、循环链表 、静态链表。在这里需要注意一下双向链表,很多时候会考到双向链表。栈和队列也是线性结构。栈:只能通过访问他的一端来实现数据存储和检索的一种线性数据结构(先进后出);队列:是一种先进先出的线性表,只能允许在标的一端插入元素,在表的另一端删除元素。最后一种线性结构是串。串:是由字符构成的有限序列,是取值范围受限的线性表。

       第二种结构,数组、矩阵、广义表。在这里需要注意的是稀疏矩阵。稀疏矩阵的三元组表的顺序存储结构称为三元组顺序表,常用的三元组表的链式存储结构式十字链表。
       第三种结构,树。这里涉及到二叉树的先序、中序、后序遍历。在树这种结构中,我们最需要注意的就是他是怎么实现的,不管是后来的堆排序,还是数据按照树状结构存储,树都是一个很重要的概念。什么是树,为什么要用树,这些都需要好好整理一下。我在这里提出的基本都是我自己感觉自己还有问题的部分。最后还有一种特别常见的树,最优二叉树,又称哈弗曼树,指带权路径长度最短的树。在考试的时候也常常考到树和森林转换成二叉树。
       第四种结构,图。这里我们常见的分为:无向图和有向图。图的遍历包括:深度优先遍历和广度优先遍历。深度遍历和广度便利需要好好看一下,这个地方很容易出错!
      了解完数据结构,就需要学着去用它。有两种方式:查找和排序。我们常见的有查找方法有:顺序查找、折半查找、动态查找。排序方法有:简单排序、希尔排序、快速排序、堆排序和归并排序。简单排序又包括直接插入排序,冒泡排序、简单选择排序。在这里涉及排序的时候,又涉及到排序是否稳定的问题,以及时间复杂度的问题。时间复杂度可以多看看代码,通过循环嵌套,来确定时间复杂度!

你可能感兴趣的:(数据结构)