算法
SakuraMashiro
研究兴趣:深度学习,计算机视觉,计算机图形学,AR ,
编程能力:C++,Java,Python
座右铭:关注积累,关注成长
展开
-
算法设计与分析(二)分治
一、分治法基本思想 1.求解问题算法的复杂性一般都与问题规模相关,问题规模越小越容易处理。 2.分治法的基本思想是,将一个难以直接解决的大问题,分解为规模较小的相同子问题,直至这些子问题容易直接求解,并且可以利用这些子问题的解求出原问题的解。各个击破,分而治之。 3.分治法产生的子问题一般是原问题的较小模式,这就为使用递归技术提供了方便。递归是分治法中最常用的技术。二、分治法解决问题的先决条原创 2017-11-06 09:07:42 · 1423 阅读 · 0 评论 -
算法设计与分析(一) 蛮力法
一、概述 蛮力法是一种简单直接地解决问题的方法,常常直接基于问题的描述和所涉及的概念定义。也可以用“just do it!”来描述蛮力法的策略。一般来说蛮力策略也常常是最容易实现的方法。 二、优缺点 虽然巧妙和高效的算法很少来自于蛮力法,但它在算法设计策略中仍然具有重要地位. 1.蛮力法适应能力强,是唯一一种几乎什么问题都能解决的一般性方法。 2.蛮力法一般容易实现,在问题规模不大的情况下原创 2017-11-05 23:30:32 · 11454 阅读 · 0 评论 -
算法分析与设计(四)动态规划(二)
动态规划的概念复习 每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。动态规划的思想和策略 将待求解的问题分解为若干个子问题,按顺序求解子阶段,前一子问题的解,为后一子问题的求解提供了有用的信息。 适合用动态规划求解的问题,经分解后得到的子问题往往不是互相独立的。(这一点与分治法不同)能用动态规划求解的问原创 2017-12-14 19:55:31 · 415 阅读 · 0 评论 -
算法设计与分析(三)动态规划(一)
基本思想 1.动态规划是一种使多阶段决策过程最优的通用方法。2.动态规划算法与分治法类似,其思想把求解的问题分成许多阶段或多个子问题,然后按顺序求解各子问题。最后一个阶段或子问题的解就是初始问题的解。3.动态规划中分解得到的子问题往往不是互相独立的。但不同子问题的数目常常只有多项式级。用分治法求解时,有些子问题被重复计算了许多次,从而导致分治法求解问题时间复杂度较高。 4.动态规划基本思想是保留原创 2017-11-27 11:15:15 · 969 阅读 · 0 评论 -
算法分析与设计(五)回溯法
回溯法的基本思想回溯法有“通用的解题法”之称。该方法系统地搜索一个问题的所有解或任一解。问题解的表示:回溯法将一个问题的解表示成一个n元式(x1,x2,…,xn)的形式。 显示约束:对分量xi的取值限定。 隐示约束:为满足问题的解而对不同分量之间施加的约束。 解空间:对于问题的一个实例,解向量满足显式约束条件的所有多元组,构成了该实例的一个解空间。回溯法通常将问题解空间组织成“树”结构,通过采原创 2017-12-31 19:37:06 · 3066 阅读 · 1 评论