随笔分类 - 算法导论复习
摘要:动态规划算法的步骤 1. 刻画一个最优解的结构特征; 2. 递归地定义最优解的值; 3. 计算最优解的值; 4. 利用计算出的信息,构造一个最优解。 钢条切割问题描述 (1)Serling公司购买长钢条,将其切割为短钢条出售。不同的切割方案,收益是不同的,怎么切割才能有最大的收益呢?假设,切割工序本
阅读全文
摘要:最小生成树的形成 (1)一个贪心策略设计如下 每个时刻生长最小生成树的一条边,并在整个策略的实施过程中,遵守下述循环不变式的边集合A: 每一步,选择一条边(u,v)加入集合A,使得A不违反循环不变式。 这样的边使得我们可以“安全地”将之加入到集合A而不会破坏A的循环不变式,因此称之为集合A的“安全边
阅读全文
摘要:BellMan-ford算法描述 1.初始化:将除源点外的所有顶点的最短距离估计值 dist[v] ← +∞, dist[s] ←0; 2.迭代求解:反复对边集E中的每条边进行松弛操作,使得顶点集V中的每个顶点v的最短距离估计值逐步逼近其最短距离;(运行|v|-1次) 3.检验负权回路:判断边集E中
阅读全文
摘要:矩阵链乘法问题( matrix-chain multiplication problem ) (1)问题描述 给定n个矩阵的链<A 1 ,A 2 ,…,A n >,其中i=1,2,…,n,矩阵A i的维数为p i-1 ×p i 。求一个完全“括号化方案”,使得计算乘积A 1 A 2 …A n 所需的
阅读全文
摘要:差分约束系统 (1)在一个差分约束系统中,线性规划矩阵A的每一行包括一个1和一个-1,其它所有项皆为0。由Ax≤b给出的约束条件形式上是m个涉及n个变量的差额限制条件(difference constraints),每个约束条件是以下简单的线性不等关系:。其中1≤i,j≤n,i≠j,并且1≤k≤m。
阅读全文
摘要:广度优先算法描述 (1)给定图G=<V,E>和一个可以识别的源结点s,广度优先搜索对图G中的边进行系统性的探索来发现可以从源结点到达所有节点的路径。该算法能够计算出从源结点s到每个可到达的结点的距离,同时生成一颗广度优先搜索树。该数已源结点s为根节点,包含所有的可能从s到达的点。对于每一个从源结点s
阅读全文
摘要:最优二叉搜索树 (1)二叉搜索树 (二分检索树)二叉搜索树T是一棵二元树,它或者为空,或者其每个结点含有一个可以比较大小的数据元素,且有: a·T的左子树的所有元素比根结点中的元素小; b·T的右子树的所有元素比根结点中的元素大; c·T的左子树和右子树也是二叉搜索树。 (2)最优二叉搜索树 给定一
阅读全文
摘要:最长公共子序列的定义 (1) 子序列 给定两个序列X=<x 1 ,x 2 ,...,x n >和序列Z=<z 1 ,z 2 ,...,z k >,若存在X的一个严格递增下标序列<i 1 ,i 2 ,...,i k >,使得对所有j=1,2,...,k,有x ij =z j ,则称Z是X的子序列。如:
阅读全文

浙公网安备 33010602011771号