摘要: 本博文主要是我以前写过的一些算法程序,里面主要从简单的插入排序到希尔排序说明。#include#includevoid shellSort(int *arr,int len); //在插入排序基础上进行修达到希尔排序void shellSortReal(int *arr,int len); //简化... 阅读全文
posted @ 2015-07-18 16:40 yml435 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 我曾经写在新浪博客上面,后来复制到这,图片就不行了。原文地址转载 LWIP协议中tcp_seg结构相关指针的个人理解(http://blog.sina.com.cn/s/blog_7e5869850102wii6.html) 阅读全文
posted @ 2015-07-18 16:38 yml435 阅读(414) 评论(0) 推荐(0) 编辑
摘要: 这方法倒是好暴力!其实我们知道,如果继承的话,编译器在派生类的构造函数中插入一些代码(嗯,是的插入代码,这个不足为怪吧,像有些合的构造函数(就是编译器帮你生成的,非自己写的)那也是插入的代码)。那么在派生类的构造函数中会插入基类的构造函数的代码。#ifndef CLASS_NO_INHERIT_H#... 阅读全文
posted @ 2015-07-18 16:14 yml435 阅读(217) 评论(0) 推荐(0) 编辑
摘要: #ifndef SELF_SUM_H#define SELF_SUM_H#includeunsignedintSum_solution1(int n_value);classSumDefaultConstruct{private:staticunsignedint countN;staticunsi... 阅读全文
posted @ 2015-07-18 12:24 yml435 阅读(516) 评论(0) 推荐(0) 编辑
摘要: 贪心算法问题: 活动安排: 见《算法导论》一书P238.对于活动的安排问题理解:.由知Aij表示在活动i的开始后,活动j结束前的活动安排。则由知Aij=Aik+ak+Akj.由知 Aik表示在活动i结束后,活动k开始前的活动数。 Akj表示在活动k结束后,活动j开始前的活动数。因此... 阅读全文
posted @ 2015-07-17 20:02 yml435 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 算法导论 16.1-4题(多个教室活动选择的问题): CLRS 16.1-3 假设要用很多个教室对一组活动进行调度。我们希望使用尽可能少的教室来调度所有的活动。请给出一个有效的贪心算法,来确定哪一个活动应使用哪一个教室。来源: http://blog.csdn.net/heyongluoyao8/article/details/69341... 阅读全文
posted @ 2015-07-17 20:01 yml435 阅读(1137) 评论(0) 推荐(0) 编辑
摘要: 贪心算法的原理与设计 贪心算法的设计步骤 1、将最优化问题转化为这样的形式:对其做出一次选择后,只剩下一个子问题要求解。 这个问题可以引用前面得到的活动选择问题进行说明 ,如在活动选择问题中,设Aij 代表的是活动ai​ 结束后开始,且在aj结束之前进的一个子问题,于是 ... 阅读全文
posted @ 2015-07-17 20:00 yml435 阅读(420) 评论(0) 推荐(0) 编辑
摘要: 背包问题 对于0-1背包问题,由于我们对一个商品只有两种选择:要或者不要。于是我们的背包问题不是一个贪心算法问题,很简单 如果选用贪心算法,我们肯定是决定选用“商品单位重量价值最高“,如下面的例子则相反了如上图中有3种商品的价值以及重量,背包容量为50.那么如果选用贪心算法,则商品1的单位重量价值最高为60/10=6.而商品2和商品3的分别为100/20和120/30... 阅读全文
posted @ 2015-07-17 19:59 yml435 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 背包问题(二维数组解法)参考文章: http://www.cnblogs.com/Anker/archive/2013/05/04/3059070.html 对于背包问题的解答又冒出一个新的解法,这是一种自顶向下的解法: 设一个二维数组select[i][v]表示的是,将前i个物品放入到容量为v的背包中所能得到的最大价值。如果使用递归的算法 如何使这人问题转换为多个子问题呢,也就... 阅读全文
posted @ 2015-07-17 19:58 yml435 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 0-1背包问题优化关于0-1背包问题的优化,其实一开始也觉得分配的内存确实太多了,对于物品数为N,背包容量为W的背包问题则我们每次需要分配的内存是N*W,这确实不太好。于是我们是否可以使用一个一维数组来代替前面算法的二维数组问题呢? 这好像是可以的,因为我们的想法是自底向上,其实对于W*N的二维数组,对于数组select[i][w]所代表的意思是在背包容量为w,可以选的物品为前i个时它所能达到的最... 阅读全文
posted @ 2015-07-17 19:57 yml435 阅读(395) 评论(0) 推荐(0) 编辑