2017年11月21日

算法复习-深度优先遍历和回溯法的关系

摘要: 深度优先遍历在编码上可以使用栈或者递归实现,当使用递归时就叫做回溯法,,八皇后问题-回溯法,可以求解所有可能的解,而广度优先一般不可以求得所有解,但是可应用于最优解问题,利用分支限界的思想,所以一般求解最优化问题使用广度优先,深度优先也可以。。 另外广度优先求图中两点最短路径,要求是不带权或者每条边 阅读全文

posted @ 2017-11-21 18:12 mdumpling 阅读(2771) 评论(0) 推荐(1) 编辑

分支限界法和回溯法对比

摘要: from http://blog.csdn.net/wzwdcld/article/details/46125259 方法 对解空间树的搜索方式 存储结点的常用数据结构 结点存储特性 常用应用 回溯法 深度优先搜索 堆栈 活结点的所有可行子结点被遍历后才被从栈中弹出 找出满足约束条件的所有解 分支限 阅读全文

posted @ 2017-11-21 17:51 mdumpling 阅读(7631) 评论(0) 推荐(0) 编辑

2017年11月13日

算法复习-活动选择问题(动态规划法和贪心法)

摘要: from https://www.cnblogs.com/Anker/archive/2013/03/16/2963625.html 《算法导论》读书笔记之第16章 贪心算法—活动选择问题 前言:贪心算法也是用来解决最优化问题,将一个问题分成子问题,在现在子问题最优解的时,选择当前看起来是最优的解, 阅读全文

posted @ 2017-11-13 16:53 mdumpling 阅读(881) 评论(0) 推荐(0) 编辑

2017年11月12日

算法复习_线性时间求解Majority Vote Algorithm问题

摘要: 题目来源于Leecode上的Majority Element问题 Majority Element:在一个序列中出现了至少n/2的下界次 使用排序算法取中位数则需要Nlogn http://www.cs.utexas.edu/~moore/best-ideas/mjrty/ 介绍了一种线性时间内的算 阅读全文

posted @ 2017-11-12 20:41 mdumpling 阅读(212) 评论(0) 推荐(0) 编辑

<string> 与<string.h>、<cstring>的区别

摘要: <string.h> <string.h>是C版本的头文件,包含比如strcpy、strcat之类的字符串处理函数。 <cstring> 在C++标准化(1998年)过程中,为了兼容以前,标准化组织将所有这些文件都进行了新的定义,加入到了标准库中,加入后的文件名就新增了一个"c"前缀并且去掉了.h的 阅读全文

posted @ 2017-11-12 18:39 mdumpling 阅读(640) 评论(0) 推荐(0) 编辑

2017年11月2日

算法复习_动态规划(矩阵链相乘,最长公共子序列,最长递增子序列)

摘要: from http://www.cnblogs.com/huenchao/p/5947403.html 1、矩阵乘法 从定义可以看出:只有当矩阵A的列数与矩阵B的行数相等时A×B才有意义。一个m×r的矩阵A左乘一个r×n的矩阵B,会得到一个m×n的矩阵C。在计算机中,一个矩阵说穿了就是一个二维数组。 阅读全文

posted @ 2017-11-02 15:43 mdumpling 阅读(310) 评论(0) 推荐(0) 编辑

算法复习_迭代与递归

摘要: from https://zhidao.baidu.com/question/1638784639202969220.html 递归和迭代都是循环的一种。 简单地说,递归是重复调用函数自身实现循环。迭代是函数内某段代码实现循环,而迭代与普通循环的区别是:循环代码中参与运算的变量同时是保存结果的变量, 阅读全文

posted @ 2017-11-02 15:26 mdumpling 阅读(326) 评论(0) 推荐(0) 编辑

scipy.sparse 稀疏矩阵

摘要: from 博客园(华夏35度)http://www.cnblogs.com/zhangchaoyang 作者:Orisun 本文主要围绕scipy中的稀疏矩阵展开,也会介绍几种scipy之外的稀疏矩阵的存储方式。 dok_matrix 继承自dict,key是(row,col)构成的二元组,valu 阅读全文

posted @ 2017-11-02 13:54 mdumpling 阅读(4046) 评论(0) 推荐(0) 编辑

2017年10月31日

C++-命名空间

摘要: from http://www.cnblogs.com/yabin/p/6411746.html 1 模块化和界面 任何实际程序都是有一些部分组成的。通过将程序进行模块化可以使我们的程序更加清晰,有助于多人合作和维护。 将一个程序进行模块化以后,当其中一个模块调用另一个模块时,它不需要知道其具体实现 阅读全文

posted @ 2017-10-31 15:13 mdumpling 阅读(305) 评论(0) 推荐(0) 编辑

2017年10月30日

算法复习-欧几里得最大公因子

摘要: #include #include using namespace std; int main (){ int m=20; int n=8; int x=m; int y=n; while((x%y)!=0) { int temp=y; y=(x%y); x=temp; } cout<... 阅读全文

posted @ 2017-10-30 20:54 mdumpling 阅读(303) 评论(0) 推荐(0) 编辑

导航