![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法zxd
文章平均质量分 86
致命小学期
这个作者很懒,什么都没留下…
展开
-
【算法分析zxd】第 8 章 动态规划
动态规划的基本设计思想 将待求解问题分解成若干个子问题,分阶段求解子问题,前一阶段子问题的解成为求后续阶段子问题的解的计算信息,最后用这些子问题的最优解构造出原问题的最优解。适合用动态规划求解的问题的特征基本性质:(1) 子问题重叠性 ①子问题重复②子问题的解在下一阶段决策中,延续子问题多次使用(2)最优子结构 一个问题的最优解包含着它的子问题的最优解【例8-1】...原创 2022-04-23 09:24:37 · 1720 阅读 · 0 评论 -
第八章动态规划+第九章同余【算法zxd】
算法设计过程:①问题分析 ②算法策略/建立计算模型 ③算法设计与描述 ④算法分析[算法选择] ⑤算法实现 ⑥测试与结果分析 ⑦文档编制原创 2023-10-18 21:07:20 · 95 阅读 · 0 评论 -
【整理】旅行商问题(traveling salesman problem,TSP)
旅行商一个旅行商由某市出发,经过所有给定的n个城市后,再回到出发的城市。除了出发的城市外,其它城市只经过一回。这样的回路可能有多个,求其中路径成本最小的回路。蛮力【穷举】【例4-4】旅行商问题(traveling salesman problem,TSP)——排列树计算模型(1) 存储 图G(V, E)。以邻接矩阵的方式存储,设计如下:(2)计算 设起始点下标为0 生成排列树。设解空间为a,则其解空间的计算过程可描述为: 求回路代价。设sum...原创 2023-10-18 21:09:19 · 1927 阅读 · 1 评论 -
【算法设计与分析zxd】第7章 贪心法
贪心算法的设计技术用贪心法 求问题的解原创 2023-10-18 21:08:24 · 341 阅读 · 0 评论 -
【算法设计与分析】第6章02 分支限界法
分支限界法的设计技术分支限界法:增加约束条件,剪掉解空间中更多分支, 加快算法的执行速度。 约束条件(1)上界函数:用来求得以当前结点为根的可行性解可能达到的极值【估测】。(2)限界值:搜索到某一结点时,已经得到可行解或可能包含可行性解的最优值。(3)评价函数:判定当前所获得路径或值是否为解的函数 剪枝(1)该结点的上界小于界限值,即再往下搜索也不可能有更优的值。【以该节点为根的子树】(2)该结点无法代表任何可行解,因为它已经违反了问题的约束,不能满足评价函数..原创 2023-10-18 21:09:24 · 2511 阅读 · 0 评论 -
【算法设计zxd】第6章 回溯法
6.1 回溯法的设计技术 :四皇后问题皇后可以吃掉——同行 同列 对角线活结点:可以生成子节点扩展结点:死结点:不能再进行子节点生成的回溯法:在约束条件下对解空间树进行深度优先搜索的过 程,并在搜索过程中剪去那些不满足条件的分支。 问题的解:为n元组(X1 ,…,Xi,…Xn),其中Xi 选自有限集S·, 当选出一组值X=(x1 ,…,xi,…xn)能够使评价函数P(x1 ,…,xi,…xn ) 满足问题的某种约束条件或到达极值。.原创 2023-10-18 21:08:11 · 714 阅读 · 0 评论 -
【算法设计zxd】第5章分治法
分治算法策略的设计模式 分治思想:把一个较大的问题分解成几个与原问题相似的 子问题,找到求出这几个子问题的解法后,再以适当的方法组织,把它们合成求整个问题的解。分治算法求解问题的步骤: (1) 分解:将要解决的问题划分成若干规模较小的同类问题; (2) 求解:当子问题划分得足够小时,用较简单的方法解决; (3) 合并:按原问题的要求,将子问题的解逐层合并构成原问题的解。 设计模式算法分析用DC求解规模为n0 的问题耗费1个单位时.原创 2023-10-18 21:08:59 · 413 阅读 · 0 评论 -
【算法设计zxd】第四章蛮力法 1.枚举法 02穷举查找
蛮力法(brute force):直接基于问题的 描述和所涉及的概念定义的进行算法 设计,简单而直接。 使用蛮力法… : (1) 蛮力法所能解决的问题跨越的领域非常广泛。 (2) 对于一些重要的问题,运用蛮力策略可以设计出具备一 定实用价值的算法,并且不用限制实例的规模。 (3) 当要解决的问题实例不多并且可以接受蛮力法的运算速 度时,蛮力法的设计代价通常较为低廉。 (4) 蛮力算法可以作为衡量其它算法的准绳,服务于研究或 教学。 枚举法的算法框原创 2022-03-26 20:29:50 · 4289 阅读 · 0 评论 -
【算法设计zxd】第3章迭代法04 线性规划
线性规划 研究线性约束条件下线性目标函数 的极值问题的数学理论和方法。线性规划问题形式化表达目标函数约束条件线性规划问题的可行性解 线性规划问题的可行区域 线性规划问题的最优解(x1,x2,……,xn的值) 线性规划问题的最优值 单纯形算法特点(1) 只对约束条件的若干组合进行测试,测试的毎一步都使 目标函数的值向期望值逼近; (2) 一般经过不大于m或n次迭代就可求得最优解。 线性规划标准形式 (1)它必须是一个最大化问题。如果是..原创 2022-03-13 19:14:40 · 1975 阅读 · 0 评论 -
【算法设计zxd】第2章 主定理
定理2.6 主定理(Master Theorem) 设a≥1, b>1为常数, f(n)为函数,T(n)为非负整数,且 T(n)=aT(n/b)+f(n)证明:(1)(2)(3)主定理例题:【例2-15】【例2-16】【例2-17】【例2-18】——递归树解:递归之后是二分【例2-19】 二分k也是层数。假设递推方程初值为1,最长路径为k,则有: n*(1/2)k=1 ...原创 2022-03-06 22:18:34 · 1045 阅读 · 0 评论 -
【算法设计zxd】第3章迭代法03 线性代数方程
线性代数方程: 设线性代数方程组具有如下特征: 算法框架 (1)设置线性代数方程组的初值X=(x1,…,xn-1 ,xn);(2)构造迭代方程xi=gi (X) (i=1,…,n-1,n)及精度求解方法;(3)达到迭代次数或精度结束迭代。【例3-8】求下列解线性方程组的解 计算模型算法设计与描述 输入: 输出: Jacobi (x[],k) { ...原创 2022-03-06 21:39:57 · 309 阅读 · 0 评论 -
【算法设计zxd】第3章 求解方程的近似算法 非线性——二分法(穿根),牛顿法(切线),线性代数
非线性方程:非线性方程的收敛性和收敛速度:定义3.1 设x_k是方程f(x)=0的根,若存在xk的一个邻域Δ,当 初值属于Δ时,迭代收敛,则称该迭代过程具有局部收敛性。定义3.2 设为第k次迭代的迭代误差,若【第k+1次迭代误差 与 第k次迭代误差的p次方 同阶。】则称迭代是p阶收敛的。称c为渐近误差常数。定义3.3 称为效率指数,其中,θ表示每次迭代的 计算量,p表示迭代的收敛阶。 建立迭代方程 (1)选取适当的初值x0 (2)建立迭代方程,将方程f...原创 2022-02-28 08:08:56 · 1304 阅读 · 0 评论 -
【算法设计zxd】第3章 迭代法 杨辉三角,穿越沙漠,内存移动,竖式相乘(阶乘)
迭代:(辗转法) 一种 不断用变量的旧值递推新值的过程分类:精确迭代:杨辉三角,内在移动算法 近似迭代:二分法和牛顿迭代法设计方法:确定迭代模型 控制迭代过程【例3-1】 输出如图的杨辉三角形。问题分析:存储:A[n,n]矩阵矩阵:A ={a0,0,a1,0,a1,1,…,ai,0,…,ai,i,…,an-1,n-1} //元素之间的关系:ai,j=ai-1,j-1+ai-1,j计算模型:算法设计与描述...原创 2022-02-05 17:38:36 · 1931 阅读 · 1 评论 -
【算法设计zxd】第2章 算法分析实例 递归非递归——交换,n阶乘,矩阵乘法,汉诺塔,二路归并,
非递归形式算法分析:决定用哪些参数表示输入规模; 找出算法的核心操作,它通常位于算法的最内层循环中; 检查核心操作的执行次数是否只依赖于输入规模。如果 它还依赖于一些其他的特性,则可能需要对最差效率、 平均效率以及最优效率分别研究; 以式(2-1)的思想为核心,建立一个算法基本操作执行次 数的求和表达式; 利用求和运算标准公式和法则来建立一个操作次数的闭合公式,或者至少确定它的增长 次数。非递归形式算法分析: 决定用哪些参数作为输入规模的度量标准.原创 2022-02-05 17:15:39 · 1481 阅读 · 0 评论 -
【算法设计zxd】第2章 分析基础——渐近的界,基本效率类型
算法效率评价的指标:算法对计算机资源的使用:1.计算资源(时间)2.存储资源(内存)计算机资源的计量方法:设输入数据/问题规模为n。假设算法要用到:(1)m种元运算;(2)每种元运算执行的时间为t1,t2,…,tm;(3)每种元运算执行的次数为e1,e2,…,em;(4)元运算与问题规模的关系:∀ ei (n),1≤i≤m。若用T(n)表示时间复杂度,则有...原创 2022-02-01 17:15:31 · 1476 阅读 · 0 评论 -
【算法设计zxd】第一章 算法基础 4.设计工具【三角矩阵,】
目录1. 循环设计(1) 设计思维自底向上的设计(Down - Top Design)自顶向下的设计(Top-Down Design)(2)挖掘内在规律构建计算模型【例1-3】设计算法,输出一个n×n的三角矩阵,如图所示规律。 问题分析:计算模型:算法设计与描述:算法分析:算法实现:(3)改进计算模型提高运算效率【例1-4】问题分析 计算模型算法设计与描述 算法实现:2. 递归设计递归设计的步骤:...原创 2022-01-22 00:57:56 · 1492 阅读 · 0 评论 -
【算法设计zxd】第一章 算法基础 5.基本数据结构
(1)线性数据结构线性表、栈(LIFO)、队列(FIFO)(2) 树树(Tree)是n(n≥0)个结点的有限集。在任意一棵非空树中:①有且仅有一个特定的称为根的结点;②当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2,…Tm,其中每一个集合本身又是一棵树,并且称为根的子树;③T1,T2,…Tm也可能会有若干不相交的子树T1,1,T1,2……Tm,k,依次类推。(2) 树—二叉树【性质1】 在二叉树的第i层至多有2^(i-1)个结点(i≥1..原创 2022-01-22 01:06:42 · 523 阅读 · 0 评论 -
【算法设计zxd】第一章 算法基础 1.基本概念+最大公约数
目录一、基本概念:例1-1:求最大公约数问题分析:计算模型: 1) 穷举法2) 欧几里德算法(辗转相除法)算法设计与描述:算法分析—效率:1) 穷举法:2) 欧几里德算法分析—渐近法算法实现:穷举法欧几里得(辗转相除)关于算法:一、基本概念:算法(Algorithm)是对解题方案准确而完整的描述,是一系列解决问题的清晰指令,代表着用系统的方法描述解决问题的策略机制。算法定位:“算法是计算机科学的核心”“...原创 2022-01-21 23:25:56 · 770 阅读 · 0 评论