随笔分类 -  常见算法

常见算法分析及实现(C++)
摘要:1.分枝—限界法的基本原理 分枝—限界算法类似于回溯法,也是一种在问题的解空间树上搜索问题解的算法。但两者求解方法有两点不同:第一,回溯法只通过约束条件剪去非可行解,而分枝—限界法不仅通过约束条件,而且通过目标函数的限界来减少无效搜索,也就是剪掉了某些不包含最优解的可行解;第二,在解空间树上,回溯法以深度优先搜索,而分枝—限界法则以广度优先或最小耗费优先的方式搜索。分枝—限界... 阅读全文
posted @ 2016-07-23 14:06 左昱_leftshine 阅读(13630) 评论(0) 推荐(0) 编辑
摘要:1. 回溯法的基本原理: 回溯算法也叫试探法,它是一种系统地搜索问题的解的方法。回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试。用回溯算法解决问题的一般步骤为: 1、定义一个解空间,它包含问题的解。 2、利用适于搜索的方法组织解空间。 3、利用深度优先法搜索解空间。 4、利用限界函数避免移... 阅读全文
posted @ 2016-07-23 14:04 左昱_leftshine 阅读(12231) 评论(0) 推荐(0) 编辑
摘要:1. 贪心算法的基本原理: 贪心算法总是作出在当前看来最好的选择。也就是说贪心算法并不从整体最优考虑,它所作出的选择只是在某种意义上的局部最优选择。当然,希望贪心算法得到的最终结果也是整体最优的。虽然贪心算法不能对所有问题都得到整体最优解,但对许多问题它能产生整体最优解。如单源最短路经问题,最小生成树问题等。在一些情况下,即使贪心算法不能得到整体最优解,其最终结果却是最优解的很好近... 阅读全文
posted @ 2016-07-23 13:57 左昱_leftshine 阅读(26740) 评论(0) 推荐(0) 编辑
摘要:1.计算连个矩阵乘积的标准算法: //标准算法 void MatrixMultiply(int a[][MAXN], int b[][MAXN], int p, int q, int r) { int sum[MAXN][MAXN]; memset(sum, 0, sizeof(sum)); int i, j, k; /... 阅读全文
posted @ 2016-07-23 13:54 左昱_leftshine 阅读(5898) 评论(0) 推荐(0) 编辑
摘要:C++程序源代码如下: // 棋盘覆盖.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include<iostream> #include<fstream> using namespace std; int tile=1; //L型骨牌的编号(递增) in 阅读全文
posted @ 2016-07-23 13:48 左昱_leftshine 阅读(3231) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示