![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
李洲谊
这个作者很懒,什么都没留下…
展开
-
数据结构4.1树
定义和基本术语树(tree):是n(n>=0)个结点的有限集。在任意一颗非空树中:有且只有一个称为根(root) 的结点。其余的结点被分为m(m>=0)个互不相交的有限集,其中每个集合本身又是一棵树,称为根结点的子树(sub_tree)。树的表示法:有图示法、集合表示法、广义表表示法和缩进表示法。图示法表示的二叉树中,边的数目(或称分枝数,用e表示)恰好比结点数目(用n表示)少一个...原创 2019-01-17 14:36:22 · 678 阅读 · 0 评论 -
数据结构3.1线性表的推广——数组
数组(array)定义数组可看成一种特殊的线性表,其数据元素本身也是一个线性表。假设一个二维数组A(m*n)有m行n列,那么可以把这个二维数组看成一个线性表:A = (a0,a1…am-1)其中,每个元素ai是一个行向量组成的线性表:ai = (ai 0,ai 1…ai n-1) (0<=i<=m-1)也可以看作是一个由列向量组成的元素组成的线性表。那么以此类推,一个n维数...原创 2019-01-16 16:37:33 · 2628 阅读 · 0 评论 -
数据结构2.2串的模式匹配
子串在主串中的定位操作称为串的模式匹配,记为index(s,t,pos),即在主串s中,从第pos个字符开始查找与子串t第一次相等的位置。若查找成功,则返回子串t的第一个字符在主串中的位序,否则返回0。其中主串称为目标串,子串称为模式串...原创 2019-01-14 15:41:49 · 531 阅读 · 0 评论 -
数据结构6.4文件
文件的基本概念定义文件(file)是由大量性质相同的记录组成的集合。文件的数据量通常很大,被放置在外存储器上。分类一:按其记录类型的不同分为如下两类:1.操作系统的文件:是一维的无结构、无结束的连续字符序列2.数据库文件:是带有结构的记录的集合,每条记录由一个或多个数据项组成。记录是文件中存取的基本单位,数据项是文件中可使用的数据的最小单位。二:按记录长度是否相同分为如下两类:1....原创 2019-01-19 15:07:52 · 1362 阅读 · 0 评论 -
数据结构6.3外部排序
外存储器一般来说计算机存储设备分为主存储器和辅助存储器。主存储器通常指随机存取存储器(RAM),辅助存储器指磁盘(包括磁盘和软盘)和磁带这样的设备。磁盘属于随机存取设备,磁带则属于顺序存储设备。磁盘存储器磁盘是一种直接存取的存储设备(DASD),访问存储在磁盘文件中任何一条记录所花费的时间几乎相同。磁盘实际上是一个扁平的圆盘,在盘面上有许多称为磁道的圆圈,信息就记录在磁道上。由于磁道的圆圈为...原创 2019-01-19 12:41:36 · 447 阅读 · 0 评论 -
数据结构2.1栈、队列和串
特殊线性表栈、队列和串是三种特殊的线性表。其中,栈和队列是操作受限制的线性表,串是数据类型受限制的线性表。栈(stack)栈的定义栈是一种特殊的线性表,只允许在一端进行插入和删除操作。允许插入和删除的一端称为栈顶,另一端称为栈底。处于栈顶位置的元素称为栈顶元素。栈中含有元素的个数称为栈长,含有0个数据元素的栈称为空栈。其特点为后进先出或先进后出,因此栈又称为后进先出的线性表。习惯上,把栈...原创 2019-01-14 11:29:57 · 816 阅读 · 0 评论 -
数据结构6.2内部排序
排序假设含n个记录的序列为{R1,R2,…,Rn}其对应的关键字序列为{K1,K2,…,Kn}这些关键字的排列方式有多种,其中至少有一种排列方式能使得关键字之间存在着这样一个关系:Kp1 <= Kp2 <= … <= Kpn按此关系将记录序列重新排列为{Rp1,Rp2,…,Rpn}即为有序记录,将这一过程称为排序。排序方法的稳定性若在一个记录序列中Ki ==...原创 2019-01-18 20:05:25 · 241 阅读 · 0 评论 -
数据结构1.3线性表的相关设计实现
要求设A和B是两个非递减的顺序表。编写算法,把A和B中都存在的元素组成新的由大到小排列的顺序表C,并分析算法的时间复杂度。实现如下#include <stdio.h>#include <stdlib.h>#define MAXSIZE 10typedef struct node{ int *data; int length; int li...原创 2019-01-13 20:54:03 · 276 阅读 · 0 评论 -
数据结构1.2双链表循环链表以及静态链表
双链表循环链表静态链表原创 2019-01-13 19:14:56 · 153 阅读 · 0 评论 -
数据结构6.1查找
查找的基本概念查找表由类型相同的数据元素(或记录)所组成的集合。查找表中每个记录由若干数据项组成。若表中总有一个或几个属性能够唯一地确定一条记录,则称这个属性(或属性组合)为关键字。查找在含有若干记录的查找表中找出关键字值与给定值相同的记录。若查找成功,返回所找到的记录的信息或返回所找到的记录在表中的位置;否则查找失败,返回空记录或空指针。查找表的基本操作1.查找某个特定的数据元素是否...原创 2019-01-18 17:03:07 · 148 阅读 · 0 评论 -
数据结构1.1线性表与单链表
线性表定义:由零个或多个数据元素组成的有限序列记为:L=(a1,a2…an)———— L-&amp;amp;amp;amp;amp;amp;amp;amp;gt;线性表的名称 n-&amp;amp;amp;amp;amp;amp;amp;amp;gt;线性表的长度 n=0-&amp;amp;amp;amp;amp;amp;amp;amp;gt;空表地址计算方法:LOC(ai)=LOC(a1)+(i-1)*c 其中c为元素类型占用的存储单元线原创 2019-01-13 13:36:14 · 406 阅读 · 0 评论 -
数据结构5.2图的存储与遍历
图的存储原创 2019-01-18 11:49:33 · 185 阅读 · 0 评论 -
数据结构5.1图
定义图(graph)是n(n&gt;=0)个元素的有限集。可以表示成二元组的形式,即:Graph = (V,E)V是图中数据元素的集合,通常称为顶点集;E是数据元素之间关系的集合,通常称为边集。数据元素用顶点表示,数据元素之间的关系用边(无方向)或弧(有方向)表示。其中,边用不带方向的无序偶(x,y)表示,即(x,y)等价于(y,x);弧用带方向的有序偶&lt;x,y&gt;表示,x为弧尾...原创 2019-01-17 19:55:03 · 562 阅读 · 0 评论 -
数据结构4.2赫夫曼树
赫夫曼树定义赫夫曼树又称最优树,是一类带权路径长度最短的树结点之间的路径:从一个结点到另一个结点所经过的结点序列结点之间的路径长度:结点之间的路径上的分支(边)数树的路径长度:从根结点到每个结点的路径长度之和结点的带权路径长度:该结点的权值(w)乘以该结点到根结点的路径长度(l)树的带权路径长度:树中所有叶子结点的带权路径之和赫夫曼树:树的带权路径长度最小的二叉树构造赫夫曼树...原创 2019-01-17 18:27:07 · 202 阅读 · 0 评论 -
数据结构3.2线性表的推广——广义表
广义表的定义广义表的数据元素本身也可以是一个数据结构,但与数组不同,广义表的不同元素可以有不同的结构。广义表是n个元素a1,a2,a3,…,an的有限序列,其中ai或者是原子项,或者是一个广义表。一般记为:LS = (a1,a2,a3,…,an)LS为广义表的名字,n为广义表的长度,若n为0,称为空表。若ai是原子型的数据元素,则称它为LS的原子;若ai是广义表,则它称为LS的子表。称第一个...原创 2019-01-17 08:50:27 · 534 阅读 · 0 评论