数据结构与算法应用
学习《数据结构与算法》过程中遇到的一些问题的代码实现
过客WZX
认认真真吃饭,老老实实减肥。
展开
-
图——最小生成树
文章目录最小生成树(Minimum Spanning Tree,简称MST)求一棵树的最小生成树Prim算法Kruskal算法最小生成树(Minimum Spanning Tree,简称MST)定义生成树一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。最小生成树所有生成树中边的权值之和最小的生成树。性...原创 2020-02-16 21:27:03 · 207 阅读 · 0 评论 -
并查集
文章目录并查集并查集问题中集合如何存储实现并查集集合的运算:交、并、补、差和判断一个元素是否属于某一集合。并查集:集合的合并、判断一个元素是否属于某一集合的操作。并查集问题中集合如何存储可以用树结构表示集合,每棵树代表一个集合,树的每个节点一个集合的元素。例:怎么更加方便的表示一棵树?答案是用数组。数组元素类型如下:Typedef struct SetNode{ ...原创 2020-02-16 21:18:03 · 152 阅读 · 0 评论 -
图——最短路径算法
文章目录最短路径算法单源最短路径算法多源最短路径算法最短路径算法单源最短路径算法单源最短路径问题(Single-Source Shortest Path):给定有向图(或无向图)G=(V,E)G=(V,E)G=(V,E)和源点v0∈Vv_0 \in Vv0∈V,求从v0v_0v0到GGG中其余各顶点的最短路径(路径上的权值和达到最小)。有权图的单源最短路径算法例:求...原创 2020-02-10 21:32:56 · 1364 阅读 · 0 评论 -
一元多项式的乘积与和(C语言)
文章目录数据结构-浙江大学-陈越、何钦铭——第一讲示例代码:一元多项式的乘积与和(C语言)数学表示输入与输出代码(C语言)数据结构-浙江大学-陈越、何钦铭——第一讲示例代码:一元多项式的乘积与和(C语言)注:以下代码是根据个人理解所写,与教学视频中代码略有出入,如有错误,烦劳指出。数学表示(1)3x4−5x2+6x−2(1) 3x^4-5x^2+6x-2(1)3x4−5x2+6x−2(2...原创 2019-07-21 00:09:04 · 783 阅读 · 0 评论 -
无头结点链表逆置函数(C语言)
将链表(无头结点)逆置函数(C语言)List Reverse(List head){ List FirstPtr = NULL, SecPtr = NULL, TempPtr = NULL; //链表为空,直接返回头指针 if (head == NULL) { return head; } //链表只有一个结点,直接返回头指针 else if (head->Next ...原创 2019-09-12 16:03:56 · 411 阅读 · 0 评论 -
叉树同构代码示例(C语言)
文章目录二叉树同构问题题目输入求解思路二叉树的表示程序框架如何建立二叉树如何判断两二叉树是否同构代码示例二叉树同构问题题目给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。现给定两棵树,请你判断他们是否是同构的。例如:同构的树:不是同构的树:输入输入格式:输入两棵二叉树的信息先在一行中给出该树的结点数N;输入N行,第i...原创 2019-08-30 20:53:05 · 265 阅读 · 0 评论 -
堆栈应用:表达式求值(C语言)
文章目录堆栈应用:表达式求值(C语言)两个定义大致过程具体代码堆栈应用:表达式求值(C语言)两个定义中缀表达式:运算符号位于两个运算数之间。如:a + b * c - d / e后缀表达式:运算符号位于两个运算数之后。如:a b c * + d e / -大致过程用后缀表达式求值:对于后缀表达式,可以比较容易处理。大致过程为:将后缀表达式从左到右扫描,遇到数字就将数字压如堆...原创 2019-08-15 11:34:20 · 1878 阅读 · 1 评论 -
算法复杂度:最大子列和问题四种解法(C语言)
文章目录算法复杂度:最大子列和问题四种解法(C语言描述)问题描述算法算法一:穷举法算法二:穷举法的优化算法三:递归算法算法四:在线处理算法测试代码算法复杂度:最大子列和问题四种解法(C语言描述)问题描述百度百科:在计算机科学中,最大子数列问题的目标是在数列的一维方向找到一个连续的子数列,使该子数列的和最大。例如,对一个数列 −2, 1, −3, 4, −1, 2, 1, −5, 4,其...原创 2019-07-19 00:04:13 · 1139 阅读 · 0 评论