回溯算法之购物车(0-1 背包问题)

1、问题(参考趣学算法)央视有一个大型娱乐节目— 购物街,舞台上模拟超市大卖场,有很多货物,每个嘉宾分配一个购物车,可以尽情的装满购物车,购物车装的价值最高者取胜。假设 n 个物品和 1个购物车,每个物品 i 对应价值为 vi,重量 wi,购物车的容量为 W(你也可以将重量设定为体积)。每个物品只...

2018-05-14 03:43:01

阅读数 1009

评论数 0

回溯算法之布罗夫卫队(最大团问题)

1、问题在原始部落中,由于食物缺乏,部落居民经常因为争夺猎物发生冲突,几乎每个居民都 有自己的仇敌。部落酋长为了组织一支保卫部落的卫队,希望从居民中选出最多的居民加入 卫队,并保证卫队中任何两个人都不是仇敌。假设已给定部落中居民间的仇敌关系图,编程计算构建部落护卫队的最佳方案。2、分析以部落中的 ...

2018-05-14 03:42:18

阅读数 1747

评论数 0

动态规划之石子合并

1、问题( 1 )路边玩法有 n 堆石子堆放在路边,现要将石子有序地合并成一堆,规定每次只能移动相邻的两堆石子合并,合并花费为新合成的一堆石子的数量。求将这 N 堆石子合并成一堆的总花费(最小或最大)。2、分析( 1 )建立最优值递归式设 Min [i][j] 代表从第 i 堆石子到第 j 堆石子...

2018-03-31 23:49:00

阅读数 8014

评论数 2

动态规划之编辑距离

1、问题例如两个字符串 FAMILY 和 FRAME ,有两种对齐方式:1)、F_A MIL YFRAME2)、_FAMILYFRAME第 1 种对齐需要付出的代价: 4 ,插入 R ,将 I 替换为 E ,删除 L 、 Y 。第 2 种对齐需要付出的代价: 5 ,插入 F,将 F 替换为 R ,...

2018-03-26 21:58:15

阅读数 154

评论数 0

动态规划之两个字符串的最大子序列

1、问题求两个字符串的最大子序列1)、子序列和子字符串有区别,子字符串(子串)必须连续,列如    s1 = "ABCDAB"  s2= "BBCDAAB"s1和s2最大子序列有"BCDA"...

2018-03-24 20:54:10

阅读数 420

评论数 0

分治算法之快速排序

1、快速排序通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序2、思路( 1 )分解:先从数列中取出一个元素作为基准元素。以基准元素为标准,将问题分解为两个子序列,使小于或等于基准元素的子序列在左侧,使大于...

2018-03-17 23:38:16

阅读数 355

评论数 0

分治算法之合并排序

1、问题合并排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列2、思路1、分解:将待排序元素分成大小大致相同的两个子序列2、治理:对两个子序列进行合并排序3、合并:将排好序的有序子序列进行合并,得到最终的...

2018-03-16 23:27:01

阅读数 655

评论数 1

分治算法之二分搜索

1、问题一天晚上,我们在家里看电视,某大型娱乐节目在玩猜数游戏。主持人在女嘉宾的手心上写一个 10 以内的整数,让女嘉宾的老公猜是多少,而女嘉宾只能提示大了,还是小了,并且只有 3 次机会。主持人悄悄地在美女手心写了一个 8。老公:“2。”老婆:“小了。”老公:“3。”老婆:“小了。”老公:“10...

2018-03-06 23:51:11

阅读数 306

评论数 0

贪心算法之用优先队列(priority_queue)实现哈夫曼编码问题

1、问题参考我的博客:贪心算法之哈夫曼编码问题 2、优先队列知识复习参考我的博客: C++之STL之priority_queue 3、代码实现#include <iostream> #include <queue&g...

2018-03-05 22:19:32

阅读数 738

评论数 0

贪心算法之哈夫曼编码问题

1、问题通常的编码方法有固定长度编码和不等长度编码两种。这是一个设计最优编码方案的问题,目的是使总码长度最短。这个问题利用字符的使用频率来编码,是不等长编码方法,使得经常使用的字符编码较短,不常使用的字符编码较长。如果采用等长的编码方案,假设所有字符的编码都等长,则表示 n 个不同的字符需要 ⎡l...

2018-03-04 03:09:45

阅读数 4335

评论数 0

贪心算法之用优先队列解决最短路径问题(Dijkstra算法)

1、问题 最短路径问题(Dijkstra算法)用优先队列实现,问题描述和分析和优先队列先看前面我的几篇博客 贪心算法之最短路径问题(Dijkstra算法) C++之STL之priority_queue 2、用优点队列实现 #include #include #in...

2018-01-25 21:49:10

阅读数 1420

评论数 2

贪心算法之最短路径问题(Dijkstra算法)

1、问题 一个求单源最短路径的问题。给定有向带权图 G =(V, E ), 其中每条边的权是非负实数。此外,给定 V 中的一个顶点, 称为源点。现在要计算从源到所有其他各顶点的最短路径长 度,这里路径长度指路上各边的权之和。 2、分析 3、代...

2018-01-24 21:30:56

阅读数 2552

评论数 0

贪心算法之高级钟点秘书会议安排问题

1、问题 所谓“钟点秘书”,是指年轻白领女性利用工余时间为客户提供秘书服务,并按钟点收取酬金。“钟点秘书”为客户提供有偿服务的方式一般是:采用电话、电传、上网等“遥控”式服务,或亲自到客户公司处理部分业务。其服务对象主要有三类:一是外地前来考察商务经营、项目投资的商人或政要人员,他们由于初来乍到...

2018-01-12 12:06:07

阅读数 336

评论数 0

贪心算法之阿里巴巴与四十大盗(背包问题)

1、问题 有一天,阿里巴巴赶着一头毛驴上山砍柴。砍好柴准备下山时,远处突然出现一股烟尘,弥漫着直向上空飞扬,朝他这儿卷过来,而且越来越近。靠近以后,他才看清原来是一支马队,他们共有四十人,一个个年轻力壮、行动敏捷。一个首领模样的人背负沉重的鞍袋,从丛林中一直来到那个大石头跟前,喃喃地说道:“芝麻...

2018-01-11 23:46:55

阅读数 748

评论数 0

贪心算法之加勒比海盗船最优装载问题

1、问题 在北美洲东南部,有一片神秘的海域,那里碧海蓝天、阳光明媚,这正是传说中海盗最活跃的加勒比海,这里更是欧洲大陆的商旅舰队到达美洲的必经之地,所以当时的海盗活皇家舰......动非常猖獗,海盗不仅攻击过往商人,甚至攻击英国有一天,海盗们截获了一艘装满各种各样古董的货船,每一件古董都价值连城...

2018-01-11 21:39:06

阅读数 877

评论数 0

趣学算法之哥德巴赫猜想的实现

1、哥德巴赫猜想         任意大于2的偶数,都可以表示成为2个素数之和 2、代码实现 #include #include using namespace std; //判断是否是质数 bool isPrime(int n) { ...

2018-01-03 23:52:22

阅读数 350

评论数 0

趣学算法之斐波拉契数列实现

1、斐波拉契数列 f(1) = 1; f(2) = 1; f(3) = f(1) + f(2);以此内推 1 x = 1 f(x) = 1 x = 2 f(x ...

2018-01-02 00:35:20

阅读数 297

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭