05 2014 档案

摘要:class parent{public: ~parent() { std::cout children = son; son->parent = father;}在函数 test() 中,father->children = son, 使得 father 的计数器加至 2, son 同理... 阅读全文
posted @ 2014-05-30 23:47 周卓 阅读(1056) 评论(0) 推荐(0) 编辑
摘要:Environment, Ubuntu 14.04set up guideSet up cool compiler1. sudo apt-get install flex bison build-essential csh openjdk-6-jdk libxaw7-dev libc6-i3862.... 阅读全文
posted @ 2014-05-29 10:21 周卓 阅读(564) 评论(0) 推荐(0) 编辑
摘要:这次作业题要求实现25个点的TSP问题TSP的非递归动规解法本身就有一定的难度,但本题的重点却是内存优化,因为25点的 TSP 动规解法需要的内存较多为了优化空间复杂度,这里引入了两个技巧:1. Gosper's hack2.Combinadic首先,还是要清楚了解TSP解法的状态转移方程,这里对状... 阅读全文
posted @ 2014-05-29 07:36 周卓 阅读(324) 评论(0) 推荐(0) 编辑
摘要:题意:所给数据中是否有负环? 没有负环的图中所有路径中最短的值思路:1. bellmanford 判断负环2.flodyWarshall 求所有定点的最短路径细节:1. bellmanford 算法时间复杂度为 o(n^3), 因为图的使用邻接矩阵存储的, 使用邻接表代码会容易理解些, 引用 wik... 阅读全文
posted @ 2014-05-29 06:50 周卓 阅读(415) 评论(0) 推荐(0) 编辑
摘要:题意:what is the largest value ofksuch that there is ak-clustering with spacing at least 3? That is, how many clusters are needed to ensure that no pair... 阅读全文
posted @ 2014-05-29 06:40 周卓 阅读(364) 评论(0) 推荐(0) 编辑
摘要:题意:computing a max-spacingk-clustering.spacing 是指两个 cluster 之间的最小距离输入:[number_of_nodes][edge 1 node 1] [edge 1 node 2] [edge 1 cost][edge 2 node 1] [e... 阅读全文
posted @ 2014-05-29 06:39 周卓 阅读(528) 评论(0) 推荐(0) 编辑
摘要:memcpy() 的解释:void* memcpy(void* dst, const void* src, size_t n);// if copying takes place between objects that overlap, the behavior is undefined.因此自己... 阅读全文
posted @ 2014-05-27 21:03 周卓 阅读(655) 评论(0) 推荐(0) 编辑
摘要:最近被找实习的事情打击的不轻,连讲话都没有底气了。我心里明白做人要无条件自信,但夜幕降临时心中还是充满恐惧。有时灵光一现,觉得自己有无限潜力,觉得自己未来充满希望,可是这种感觉稍纵即逝,维持不起来。有些被称为激励大师的人,我想他们应该有带动别人灵光并将其维持一小段时间的能力。我也想时刻保持这种有灵光... 阅读全文
posted @ 2014-05-24 16:11 周卓 阅读(222) 评论(1) 推荐(0) 编辑
摘要:代码模式为一个对象提供代码,并由代理控制对原对象的引用。在一定的情况下,客户不想或不能操作原对象,就可以通过代理以中介的方式控制。比如 windows 快捷方式模式图总结1. 代理既可以提供对原对象的原始接口引用,也可以扩展原始对象的功能或设置上下文(如上图) 阅读全文
posted @ 2014-05-23 22:30 周卓 阅读(117) 评论(0) 推荐(0) 编辑
摘要:visitor 设计模式封装了施加于对象的操作,不同的对象对应不同的操作。对象的识别需要 instanceof() 的帮助。模式图:代码:总结1. 破坏封装性2. 面对修改开放 阅读全文
posted @ 2014-05-23 22:22 周卓 阅读(100) 评论(0) 推荐(0) 编辑
摘要:桥接模式将抽象化与实例化脱耦,使两者可以独立的变化。一般模式图:更清晰的,一个设计modem的模式图代码:总结1. 桥接模式和策略模式有点相似,但策略模式只是将算法的实现部分抽象出来。桥接模式更加注重抽象化和实例化的分离,往往,策略模式的一部分是纯粹的抽象方法,另一部分是纯粹的实现 阅读全文
posted @ 2014-05-23 22:14 周卓 阅读(265) 评论(0) 推荐(0) 编辑
摘要:策略模式,将一组算法抽象成子类,继承同一个基类,实现相同的接口。将算法的具体实现和需要算法处理的数据分开,是一个解耦合的过程。当需要新的算法或删除某个算法时,不需要做太多的修改。模式图:代码: 阅读全文
posted @ 2014-05-23 21:52 周卓 阅读(126) 评论(0) 推荐(0) 编辑
摘要:观察者模式定义了一种一对多的依赖关系,让多个观察者可以同时监听某一个主题对象。这个主题对象发生变化时,就会通知所有的观察者,使他们能够更新自己。模式图:代码: 阅读全文
posted @ 2014-05-23 13:24 周卓 阅读(173) 评论(0) 推荐(0) 编辑
摘要:装饰者模式用来扩展类的功能,是继承的替代方案。相比于继承,装饰者模式更加灵活。模式图:装饰者模式的实现有两个要点:1. 装饰者和具体的组件类继承同一个抽象组建类2. 装饰者以组合的形式持有抽象或具体的组件类 阅读全文
posted @ 2014-05-23 12:57 周卓 阅读(111) 评论(0) 推荐(0) 编辑
摘要:适配器模式把一个类的接口变换成客户端期待的另一个类的接口,使原本接口不匹配的两个类能够在一起工作。适配器有两张实现形式,分别为类的适配器模式和对象的适配器模式类的适配器模式:我们的目标是将SpecificRequest()转化到Request()。类的适配器解决方案是创建一个类Adaptor继承Ad... 阅读全文
posted @ 2014-05-23 11:20 周卓 阅读(318) 评论(0) 推荐(0) 编辑
摘要:对于某些类,我们需要保证系统中只能有一个实例,这种类的设计用到singleton模式模式。单线程的singleton模式是 straightforward的,下面给出Java和C++11的线程安全singleton实现Java:public class Singleton { private sta... 阅读全文
posted @ 2014-05-23 10:59 周卓 阅读(160) 评论(0) 推荐(0) 编辑
摘要:有时候,我们要求工厂创建一组具有某些属性的产品,比如来一桌法式大餐。具体的菜式属于产品,而法式属于产品的属性。将这两个概念抽象一下,就有了产品族和产品等级结构的概念:同一列的所有产品继承同一个父类,同一行的产品构成一个产品族。模式图从图中看出,抽象工厂可以同时依赖于两个产品类,这两个产品类构成一个产... 阅读全文
posted @ 2014-05-23 10:45 周卓 阅读(123) 评论(0) 推荐(0) 编辑
摘要:当增加新的产品时,我们就需要修改简单工厂类,这违反了涉及模式中的 “对扩展开放,对修改关闭”。解决方案是抽象工厂类,让抽象工厂类的子类去实例化具体产品。在这种设计下,每增加一个产品就需要增加一个对应的具体工厂,看似繁琐,但扩展性好。类图代码 阅读全文
posted @ 2014-05-23 10:00 周卓 阅读(117) 评论(0) 推荐(0) 编辑
摘要:将类的创建任务委托给工厂,包含具体创建哪个类的信息作为参数(通常为String)提交给简单工厂优缺点:1. 工厂模式含有必要的判断逻辑,可以决定在什么时候创建哪一个产品的实例,客户端可以免除直接创建产品的责任,而仅仅需要消费产品。简单工厂通过这种做法实现了责任的分割。缺点:1.系统扩展困难,一旦添加... 阅读全文
posted @ 2014-05-23 09:33 周卓 阅读(236) 评论(0) 推荐(0) 编辑
摘要:注意1. 64bit的hadoop需要自己编译2. 供编译用的hadoop.src文件本身有bug,需要加两条dependencyhadoop的缺省端口50030 mapred.job.tracket.http.addressJobTracker administrative web GUI JOB... 阅读全文
posted @ 2014-05-21 20:23 周卓 阅读(151) 评论(0) 推荐(0) 编辑
摘要:重新刷一遍Leetcode,回忆Java基础知识1)Java中的map有HashMap和TreeMap两种,HashMap通过内部哈希值的映射关系完成查找,而TreeMap的映射关系存在一定的顺序,假如希望容器里的元素是有序的,那么应该选用TreeMap,否则选用HashMap,因为HashMap的... 阅读全文
posted @ 2014-05-21 14:38 周卓 阅读(143) 评论(0) 推荐(0) 编辑
摘要:1. 虚函数虚函数是在某个基类声明为virtual并在一个或多个派生类中重新定义的成员函数。虚函数是C++多态的基础,通过指向类的指针或引用调用,调用的方式是动态联编,到运行时才确定调用的是该虚函数的哪一个实现。非虚函数是静态联编,在编译时刻系统就能根据指针类型确定调用的函数。虚函数一般会有一个默认... 阅读全文
posted @ 2014-05-20 20:45 周卓 阅读(211) 评论(0) 推荐(0) 编辑
摘要:1. 给用户添加任务的接口是 schedule(arg), arg应该如何设置a) 创建 Work class, 将arg设置为 Work*, Work由用户创建,用户删除,线程池内仅保留对Work对象的引用问题:我写完thread_pool后才发现,用户不再知道如何去删除他创建的 Work了,因为... 阅读全文
posted @ 2014-05-19 20:00 周卓 阅读(513) 评论(0) 推荐(0) 编辑
摘要:Boost 是我直接 sudo apt-get install 的,系统会帮我安装到 usr/include/boost 和 usr/lib 下,因此我可以直接使用 -lboost_system 库, 或直接 include 而不用做额外的配置#include #include #include ... 阅读全文
posted @ 2014-05-18 21:07 周卓 阅读(220) 评论(0) 推荐(0) 编辑
摘要:#include #include #include class SpecificWork {private: int p_;public: SpecificWork(int value) : p_(value) { } void operator()() { printf("Value is %... 阅读全文
posted @ 2014-05-18 20:58 周卓 阅读(272) 评论(0) 推荐(0) 编辑
摘要:1. 将 elipse cdt 加入到左侧程序启动栏在 /usr/share/applications 下输入sudo gedit eclipse.desktop, 然后输入[Desktop Entry]Version=1.0Name=eclipseExec=/home/ck/eclipse/ecl... 阅读全文
posted @ 2014-05-18 16:58 周卓 阅读(228) 评论(0) 推荐(0) 编辑
摘要:Launching threadsA new thread is launched by passing an object of a callable type that can be invoked with no parameter to the constructor. The object... 阅读全文
posted @ 2014-05-17 22:23 周卓 阅读(640) 评论(0) 推荐(0) 编辑
摘要:关键字Rabin karp 算法,C++,ubuntu 14.04, linux, big integer, gmp使用 Rabin Karp 算法为一个数据包的负载部分计算哈希序列void HandleAMission(const char *srcFileName, FILE *output, ... 阅读全文
posted @ 2014-05-09 15:50 周卓 阅读(524) 评论(0) 推荐(0) 编辑
摘要:Under ubuntu 14.04 64bit machine1. undefined reference to `__gmpz_init'加入 -L/gmp_install/lib -lgmp对于 c++ 需要再加上 -lgmpxx [3]2. 初始化时, 提示 too large number... 阅读全文
posted @ 2014-05-07 22:02 周卓 阅读(1017) 评论(0) 推荐(0) 编辑
摘要:---恢复内容开始---Example 1Creating and terminating thread by usingpthread_create, pthread_exit(status)#include #include #include using namespace std;#defin... 阅读全文
posted @ 2014-05-05 20:44 周卓 阅读(711) 评论(0) 推荐(0) 编辑
摘要:一 设置, 查看, 删除断点信息b xxx.cpp : num(or function)在 xxx.cpp 的第 num 行设置断点, 假如项目中只有一个 .cpp 文件, 不需要指定 xxx.cpp, 直接 b num 即可info break 查看断点信息, 断点信息中有断点的 index, 通... 阅读全文
posted @ 2014-05-01 10:35 周卓 阅读(138) 评论(0) 推荐(0) 编辑

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