![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
短腿小王
这个作者很懒,什么都没留下…
展开
-
图的两种表示方法及它们的创建
图的两种表示方法及 图的两种表示方法:邻接矩阵和邻接表。 优缺点: 邻接矩阵 优点:表示方便,容易理解,可以方便的求出顶点的出入度。 缺点:当为稀疏图的时候,大量空间储存的是无效数据。 邻接表 优点:灵活的储存空间,稀疏图的时候节省空间。 缺点:有向图中求入度不方便(但是可以借助逆邻接表解决),另外稠密图就浪费空间了(申请结点所占的空间,权值所占空间)。 代码如下: 1)邻接矩阵的表示 #def...原创 2019-11-18 21:04:27 · 473 阅读 · 0 评论 -
《数据结构》二叉树的存储结构,遍历以及建立2019/10/16
存储结构 二叉树的顺序存储结构一般只用于完全二叉树(其他的二叉树结构会造成存储空间的浪费),因为对于一般二叉树,层序编号不能反应其逻辑关系,需要把不存在的结点设置成“#”,如果该二叉树为深度为K的右斜树,那么空间会有很大的浪费。所以链式存储结构适用面更广。 二叉链表 一个数据域,两个指针域:左孩子域和右孩子域。 代码如下: typedef struct BinTNode { TElemType ...原创 2019-10-16 22:36:27 · 274 阅读 · 0 评论 -
《数据结构》树的存储结构2019/10/15
树的存储结构 定义:1)只有一个根结点;2)其余结点为几个不相交的有限集,他们本身也是一棵树,且被称为根的子树。 树的定义就用到了递归的方法。 几个概念 结点的度:该结点拥有的子树的数量 叶结点:度为0的结点 树的度:结点度的最大值 层次:根结点为第一层,其孩子为第二层,以此类推。 深度:结点的最大层数 高度:数量和深度一致,不过是自底向上计数,叶结点的高度为1 树的存储结构 1)双亲表示法 ...原创 2019-10-15 22:38:07 · 174 阅读 · 0 评论 -
《数据结构》堆栈2019/09/05
堆栈 栈是一种特殊的线性表,具有LIFO(LAST IN FIRST OUT)的性质,栈或许是除了数组之外应用最广的数据结构了。许多操作都需要借助栈来实现:浏览网站的“后退”键;WORD、PS中的撤销(CTRL+Z)等等——限定在表尾进行插入(入栈)、删除(出栈)操作的线性表。 堆栈的顺序存储实现 定义: typedef int Position; typedef struct SNode * P...原创 2019-09-05 22:05:39 · 167 阅读 · 0 评论 -
《数据结构》队列的循序存储结构2019/9/11
在开始今天的笔记之前,想先谈一谈最近 对于函数中指针和“return”的一点思考 对于整个线性表来说,针对“插入”、“删除”等会改变 线表本身的操作,有两种的思路: 一种是通过return直接返回L,来确保函数内部对L的操作再函数外部也能实现; 另一种是通过再建立函数时,用*L做其形参,如此一来就不需要再占用return来返回L了,相反可以统一函数返回值的数据类型。 比...原创 2019-09-10 22:03:57 · 213 阅读 · 0 评论 -
《数据结构》队列的链式存储2019/09/16
队列的链式存储 队列的链式存储结构其实也就是前面线性表的单链表,只不过限定了头出尾进。我们一般将队列的头Front指向链表的头结点,Rear指向链表的尾结点(由于队列是头出,也就是在队列头部进行删除操作,如果反过来将Front指向链表的尾结点,那么删除元素之后Front要指向前一结点,但在单链表中并不只知道其前置的地址),空队列时,front与rear均指向头结点。 定义 typedef in...原创 2019-09-16 22:06:24 · 225 阅读 · 0 评论