
算法分析与设计
算法分析与设计课总结
AlexTuF
赌一把,权当爱是存在的,然后为之努力。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
算法分析与设计:图的搜索算法
一、图的两种基本遍历1. 邻接矩阵与邻接表● 邻接矩阵● 邻接表2. 广度优先搜索遍历● 基本思想● 算法实现3. 深度优先搜索遍历● 基本思想● 算法实现二、典型问题1. 有向图的强连通分支2. 无向图的双连通分支3. 流网络与最大流问题...原创 2020-05-10 17:05:07 · 1513 阅读 · 0 评论 -
算法分析与设计:分支限界法
一、分支限界法1. 基本思想分支是使用广度优先策略,依次生成扩展结点的所有分支。限界是在结点扩展过程中,计算结点的上界,搜索的同时剪掉某些分支。分支限界法就是把问题的可行解展开,再由各个分支寻找最佳解。与回溯法类似,分支限界法也是在解空间中搜索得到解;不同的是,分支限界法会生成所有扩展结点,并舍弃不可能通向最优解的结点,然后根据广度优先/最小耗费优先,从活结点中选择一个作为扩展结点,使...原创 2020-04-16 17:08:15 · 24678 阅读 · 1 评论 -
算法分析与设计:回溯法
1、回溯法回溯法有“通用解题法”之称,是一种系统地搜索答案的解答方法。● 基本思想回溯法为问题定义一个解空间,该空间至少包含问题的一个解,并可以组织成一棵树;在解空间树中,以深度优先策略搜索,判断当前结点是否包含问题的解:如果不包含,则跳过该结点,回到祖先节点,称为回溯;如果包含,则继续以深度优先策略进行搜索,进入该结点的子树。回溯法的基本思想可以概括为:能进则进,不能进则回。为使用回溯...原创 2020-04-03 15:52:18 · 3176 阅读 · 0 评论 -
算法分析与设计:贪心算法
1、贪心算法贪心算法,是在每一次选择中,总是做出当前看来最好的选择,而不从整体的最优考虑,选择只是某种意义上局部的最优解。生活中很多问题需要对资源优化分配,达到资源利用率最大化。贪心算法虽然不能对所有的问题都求得整体最优解,但是对大部分的问题都能求得最优近似解,对部分问题也能得到最优解,例如单源最短路径、最小生成树等。● 语言描述与基本思想贪心算法的语言描述为:贪心算法一步步进行,每次都对当...原创 2020-03-22 02:00:17 · 9293 阅读 · 0 评论 -
算法分析与设计:动态规划
三、算法分析与设计1、动态规划(1) 基本思想(2) 基本步骤(3) 基本特征2、动态规划典型问题(1) 矩阵连乘问题(2) 最大公共子序列(LCS)(3) 最大子段和(4) 0-1背包问题...原创 2020-03-21 13:37:25 · 614 阅读 · 0 评论 -
算法分析与设计:递归与分治策略
三、算法设计与分析1、递归定义:递归算法是一个过程或函数在其定义或说明中又直接或间接调用自身的一种方法。递归算法可以将一个大型的复杂问题转化为一个与原问题相似的规模较小的问题求解,其优势在于用有限的语句定义无限的集合,可以有效减少代码量,使程序简洁易懂;其缺点在于运行效率低,空间消耗大,容易造成堆栈溢出。递归需要有边界条件,递归前进段和递归返回段。当不满足边界条件时,递归前进;当满足边界条...原创 2020-03-21 13:36:09 · 3128 阅读 · 0 评论 -
算法分析与设计:绪论
● 算法与程序算法是指解决问题的一种方法或一个过程。算法是若干指令的有穷序列,满足性质:(1) 输入:有外部提供的量作为算法的输入。(2) 输出:算法产生至少一个量作为输出。(3) 确定性:组成算法的每条指令是清晰,无歧义的。(4) 有限性:算法中每条指令的执行次数是有限的,执行每条指令的时间也是有限的。程序是算法用某种程序设计语言的具体实现。程序可以不满足算法的性质,例如操作系统。...原创 2020-03-21 13:34:06 · 555 阅读 · 0 评论