
【大学课程之算法分析与设计】
小巫技术博客
如果你想成功你不应该成为一个普通的可被随意替代的人你应该成为稀缺的不可替代的那类人
展开
-
求最大公约数的三种算法实现
#include#includeusing namespace std;/*** 程序功能:求最大公约数* author: wwj* 2013/3/4 **///求两个数的较小值int min(int a, int b){ int result = 0; if(a > b) { result = b; } else { result = a; } r原创 2013-03-06 12:07:10 · 3977 阅读 · 0 评论 -
算法设计--串匹配问题:BF算法、KMP算法、BM算法
#include#includeusing namespace std;/** BF算法* 基本思想:*从主串S的第一个字符开始和模式T(子串)的第一个字符进行比较,若相等,则继续比较两者的后续字符;*若不相等,则从主串S的第二个字符开始和模式T的第一个字符进行比较,重复上述过程,若T中的字符全部比较完毕,则说明本趟匹配成功;*若最后一轮匹配的起始位置是n-m(n为主串的长度,m原创 2013-03-18 20:48:44 · 4350 阅读 · 1 评论 -
算法设计--八枚硬币问题
八枚硬币问题问题描述:在八枚外观相同的硬币中,有一枚是假币,并且已知假币与真币的重量不同,但不知道假币与真币相比较轻还是较重。可以通过一架天平来任意比较两组硬币,设计一个高效的算法来检测出这枚假币。解决思路:假定输入的八枚硬币:a、b、c、d、e、f、g、h实验解决思路:把硬币分成三组,从八枚硬币中任取六枚a、b、c、d、e、f,在天平两端各放三枚进行比原创 2013-04-28 14:56:48 · 22386 阅读 · 6 评论 -
算法设计--蛮力法&&分治法求最近对问题(C++实现)
最近对问题?设p1=(x1,y1), p2(x2,y2), ....,pn=(xn,yn)是平面上n个点构成的集合S,最近对问题就是找出集合S中距离最近的点对。两种算法思想:1. 蛮力法:顾名思义,利用正常的思维,使用强硬的方式求解出结果。2. 分治法:分治,分而治之,把大问题分解为小问题,主要有三个过程:划分、求解子问题、合并。直接上代码:蛮力法求解最近对问题:原创 2013-04-21 10:05:27 · 14206 阅读 · 0 评论 -
算法设计与分析--霍夫曼树编码(C++实现)
问题描述:设需要编码的字符集为{d1, d2, …, dn},它们出现的频率为{w1,w2, …, wn},应用哈夫曼树构造最短的不等长编码方案。Huffman算法:给定实数w1,w2,···,wt且 w1(1)连接w1,w2为权的两片树叶,得一分支点,其权为w1+w2 ;(2)在w1+w2, w3+···+wt中选出两个最小的权,连接它们对原创 2013-05-27 19:29:05 · 10485 阅读 · 4 评论 -
算法设计与分析--求最大子段和问题(蛮力法、分治法、动态规划法) C++实现
算法设计与分析--求最大子段和问题问题描述:给定由n个整数组成的序列(a1,a2, …,an),求该序列形如 的子段和的最大值,当所有整数均为负整数时,其最大子段和为0。利用蛮力法求解:int maxSum(int a[],int n){ int maxSum = 0; int sum = 0; for(int i = 0; i < n; i+原创 2013-05-13 20:43:53 · 27470 阅读 · 8 评论 -
算法分析与设计--0/1背包问题(回溯法)
算法分析与设计--0/1背包问题(回溯法)问题描述:给定n种物品和一个容量为C的背包,物品i的重量是wi,其价值为vi,0/1背包问题是如何选择装入背包的物品(物品不可分割),使得装入背包中物品的总价值最大?#includeusing namespace std;const int n = 3; //物品个数const int C = 25; //背包容量in原创 2013-06-10 09:23:44 · 9074 阅读 · 1 评论 -
大学算法分析与设计复习总结
大学算法分析与设计复习总结为了拿大学的那悲剧的学分,好好弄懂以下所有知识点吧。把老师的复习的提纲,特意汇总了所有考点,方便童鞋们复习。不喜勿喷!!!这本书是《算法设计与分析》 王红梅 编著一共有以下12章,我们学了1、3、4、5、6、7、8、9分别是“绪论、蛮力法、分治法、减治法、动态规划法、贪心法、回溯法、分治限界法第1章 绪论考点:1、原创 2013-06-08 11:49:20 · 39992 阅读 · 6 评论 -
算法设计--电路布线问题(分支限界法求解)
电路布线问题--分支限界法求解一 问题描述:布线问题:印刷电路板将布线区域划分成n×m个方格阵列,要求确定连接方格阵列中的方格a的中点到方格b的中点的最短布线方案。在布线时,电路只能沿直线或直角布线,为了避免线路相交,已布了线的方格做了封锁标记,其他线路不允许穿过被封锁的方格。二 算法应用:用分支限界法解此布线问题。分支限界法类似回溯法,也是一种在问题的解空间树T上搜索问题解的算法原创 2013-06-24 16:36:58 · 19728 阅读 · 1 评论