摘要: 一、对回溯法的理解 回溯法和暴力法其实是同理的,向着其中一条路无限走下去,直到尽头,再回头。把所有的路走完为止,然后找到解。在这个过程中,可以增加限制条件来减少路的数目,达到优化的效果。 二、子集和问题 void dfs(int num){ if(flag1){ return; } if(sum== 阅读全文
posted @ 2019-12-19 20:25 小懒瓜子 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 1、贪心算法的理解 贪心算法的注重点在于局部,而不是全局,因为贪心算法主要是得到当前问题的最优解,且并不考虑之后的影响。所以,贪心算法的结果一定是问题的较优解,但不一定是最优解。 2、汽车加油问题 汽车加油问题,主要是让汽车加一次油的情况下,走最远的距离,停下加油的次数最少,就是汽车加油问题的贪心算 阅读全文
posted @ 2019-11-26 19:01 小懒瓜子 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 1、实践题目 程序存储问题 2、问题描述 3、算法描述 #include<iostream> #include<algorithm> using namespace std; int main(){ int n,L; cin >> n; cin >> L; int l[n]; for(int i = 阅读全文
posted @ 2019-11-18 13:06 小懒瓜子 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 一、动态规划 动态规划的实质是分治法和解决冗余。所以,动态规划就是将原问题分解成规模更小的子问题,且原问题的最优解与子问题的最优解相关。动态规划将问题实例分解为更小的/相似的子问题,并存储子问题的解,使得每个子问题只求解一次,最终获得原问题的答案,以解决最优化问题。 二、编程 1、单调递增最长子序列 阅读全文
posted @ 2019-11-03 13:33 小懒瓜子 阅读(606) 评论(0) 推荐(0) 编辑
摘要: 题目: 算法描述: 1 #include <iostream> 2 using namespace std; 3 4 int main() { 5 int n; 6 cin >> n; 7 int a[n][n]; 8 int m[n][n]; 9 for(int i = 0; i < n; i++ 阅读全文
posted @ 2019-10-21 20:36 小懒瓜子 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 一、分治法体会 分治法的主要思想就是将一个规模较大的问题,分解成若干个想的、规模小的问题。但经常会出现一次分解后,规模依旧较大的情况。这时就要用到递归的方法对其进行递归分解。所以,递归在分治法的使用中占据着重要地位。 分治法最重要的几个例子,如下: 1、快速排序(QuickSort): 1 publ 阅读全文
posted @ 2019-10-14 20:18 小懒瓜子 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 实践报告 一、实践题目 二、问题描述 有一个由n个整数非降序排列组成的数组,用二分查找算法找到固定的一个数,并输出这个数在数组中的下标和算法运行中比较的次数。 三、算法描述 四、算法时间及空间复杂度分析 1、时间复杂度 每次比较皆是比较前数组的中位数,故时间复杂度为O(log2 n) 2、空间复杂度 阅读全文
posted @ 2019-09-22 20:18 小懒瓜子 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 在阅读了《数学之美》的统计语言识别和隐马尔可夫模型后,我想起了自己之前了解过的语音识别系统,本次读后感权当是一次简单的回忆或者笔记吧! 运用sphinx4进行构建连续语音识别系统包含五大方面: 1、预处理模块: 处理原始语音,滤除不重要部分,语音信号的端点检测,语音分帧(10~30ms被认为是短时平 阅读全文
posted @ 2019-09-08 15:58 小懒瓜子 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 1. 标识符命名规范 1.1 概述 标识符的命名力求做到统一、达意和简洁。 1.1.1 统一 统一是指,对于同一个概念,在程序中用同一种表示方法,比如对于供应商,既可以用supplier,也可以用provider,但是我们只能选定一个使用,至少在一个Java项目中保持统一。统一是作为重要的,如果对同 阅读全文
posted @ 2019-09-08 14:53 小懒瓜子 阅读(207) 评论(0) 推荐(0) 编辑