- 博客(7)
- 收藏
- 关注
原创 算法导论习题分析——23章 最小生成树
算法导论习题分析——23章 最小生成树23-1 次优最小生成树abcd代码实现 23-1 次优最小生成树 a 由于该图中每一条边的权值都不相同,因此对于一个生成树,用一条边替换其中一条边来对生成树做优化,得到新的生成树总代价必定减小,因此最小生成树唯一。对于次优最小生成树,则可存在不同的对最小生成树的松弛操作,次优最小生成树不唯一。 b 对于最小生成树TTT,去掉某一条边,则可将图分为两个连通分量...
2020-04-05 21:37:10
840
原创 算法导论学习—— 23章 最小生成树
算法导论学习—— 23章 最小生成树最小生成树的形成Kruskal算法和Prim算法Kruskal算法Prim算法 最小生成树的形成 采用贪心算法生成最小生成树。考虑这样一个集合AAA,它是一个最小生成树的真子集。每次向AAA中增加边,使得AAA保持为一个最小生成树的真子集,直到加入一条边后AAA也是一个最小生成树。我们称这样的边为安全边。 下面证明这样的定理:对于包含于一个最小生成树的边集合AA...
2020-04-05 09:50:03
235
原创 算法导论习题分析—— 22章 基本的图算法
算法导论习题分析—— 22章 基本的图算法22-2 衔接点、桥和双连通分量abcdefgh代码实现 22-2 衔接点、桥和双连通分量 a 假如根节点在深度优先树中有两个子节点,则其中一个子节点必无法由其他节点搜索得到(否则就不是根节点的子节点了)。因此这个子节点只跟根节点相连,因此根节点是衔接点。 b 当一个节点vvv存在一个子节点,且该子节点与其后代节点不存在指向vvv的真祖先的后向边,则在深度...
2020-04-03 21:02:12
808
原创 算法导论学习—— 22章 基本的图算法
算法导论学习—— 22章 基本的图算法图的表示广度优先搜索深度优先搜索拓扑排序强连通分量 图的表示 邻接表表示方法:经常用于表示稀疏图(边数远小于节点数平方) 邻接矩阵表示方法:可以用于表示稠密图(边数接近节点数平方) 广度优先搜索 采用队列操作,不断取出队首节点,搜索队首节点所邻未访问过的节点入队。记录搜索前驱可得到广度优先树,包含源节点到任意节点的最短路径。 深度优先搜索 采用栈操作,将栈...
2020-03-29 22:34:12
298
原创 算法导论习题分析——15章 动态规划
算法导论习题分析——15章 动态规划15-1 有向图最长简单路径习题分析代码实现 15-1 有向图最长简单路径 习题分析 由题意可知,有向无环图,最长路径长度,无需考虑搜索重复节点、路径成环等问题。 使用动态规划思路分析: 首先证明最优子结构性质。 首先确定一个问题的子问题:在求节点viv_ivi到vjv_jvj的最长距离时,要考虑其相邻节点到vjv_jvj的最长距离。即:子问题为:相邻节...
2020-03-19 18:19:17
795
原创 算法导论学习——16章 贪心算法
算法导论学习——16章 贪心算法应用范围一个例子活动选择问题使用动态规划解决复杂度分析贪心法解决贪心算法实现贪心算法原理贪心选择性质最优子结构性质贪心对动态规划贪心算法应用——哈夫曼编码 应用范围 求解最优化问题中,每个步骤面临多种选择。对于许多最优化问题来说,使用动态规划过于繁琐。对于某些特定的问题,可以通过不断取局部最优化得到全局最优化的方法,这种方法就是贪心算法。 贪心算法不保证得到最优解,...
2020-03-19 09:51:35
551
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人