木有寸557

 

05 2014 档案

01背包问题(空间优化)经典代码
摘要:题目有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使价值总和最大。基本思路这是最基础的背包问题,特点是:每种物品仅有一件,可以选择放或不放。用子问题定义状态:即f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。则其状态转移方... 阅读全文

posted @ 2014-05-20 13:06 小猪_你快跑 阅读(1131) 评论(0) 推荐(0)

辗转相除法求最大公约数
摘要:算法描述: 对于整数x、y,用f(x,y)表示x、y的最大公约数。一个数能整除x、y ,则该数必能整除 y、x%y;一个数能整除y、x%y,则该数必能整除x、y(结尾证明)。这样便可将 原问题转化成更小的数的最大公约数,直到其中一个为0。 即 f(x,y) = f(y, x%y) ... 阅读全文

posted @ 2014-05-09 17:58 小猪_你快跑 阅读(446) 评论(0) 推荐(0)

选择排序
摘要:算法描述: 在一个长度为N的无序数组中,第一趟遍历N个数据,找出其中最小的数值与第一个元素交换。第二趟遍历剩下的N-1个数据,找出最小的数值与第二个元素交换......第N-1趟遍历剩下的2个数据,找出其中最小的数据与第N-1个数据交换。排序结束。第二趟遍历: 12 20 80 91 56第三趟遍历... 阅读全文

posted @ 2014-05-08 22:51 小猪_你快跑 阅读(196) 评论(0) 推荐(0)

冒泡的实现及优化
摘要:冒泡排序: 设数组长为N。以升序为例。1 比较相邻的2个前后的数据,如果前面数据大于后面的数据,则2个数据交换2 这样对数组的第0个数据到第N-1个数据进行遍历,则最大的数据会沉到数组的第N-1个位置。3 N = N-1,如果N != 0 就执行第二步。1 void Bubble_Sort( in... 阅读全文

posted @ 2014-05-08 02:07 小猪_你快跑 阅读(216) 评论(0) 推荐(0)

导航