自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(98)
  • 资源 (1)
  • 收藏
  • 关注

原创 单例模式的重大失误

if(pSingleton==0)       {           pSingleton=new CImgController;         //  return pSingleton;       }else return pSing

2014-07-17 17:38:21 497

原创 JAVA的File类中应用strategy模式(回调对象)

策略模式:通过传入遵循一个接口的不同的strategy类来增加程序的灵活性     java的file类实际上可以称为是FILEPATH类,最重要的是list方法,可以列出目录中的项目。     在FILE类中的list方法里,传入一个strategy类,该类实现了一个strategy接口,和一个接口的方法accept,然后list方法回调该accept方法,来判断当前查询的文件名是否符合

2014-02-20 21:46:47 602

转载 拷贝构造与深拷贝

对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。#include using namespace std;class CExample {private:    int a;public:    CExampl

2014-02-20 16:03:53 518

原创 cpp内存管理的常见错误delete的pitfall

1 一定不要delete NULL,因此delete前一定要检查是否delete了一个NULL指针2 一定要在delete后把指针置为NULL,这样就不会重复删除3. 不要delete客户创建的内存区域,因为你无法知道客户想干嘛4. 避免对象的值传递,否则处理不好深度拷贝的问题内存会挂,要用引用

2014-02-20 16:01:07 565

原创 动态规划求解合唱队问题的思路

动态规划求解合唱队问题思路:该题的关键是不能置换队员的顺序,这个要求降低了问题的难度,如果可以排列的话就难了,建一个堆总会出现重复的元素,如何调整还没想出来怎么做。考虑不能排列的情况,先对整个队列求一个最长递增子序列再求一个最长递降子序列。则剩下的人数就好算了。因为最长递增子序列是一个典型的动态规划问题,设子问题的解是FAscend[i]和FDescend[i]则合唱队问题的最优解是N-max[i

2014-02-20 15:48:00 1024

转载 转载cnblog

深拷贝与浅拷贝探析                                                    深拷贝与浅拷贝探析1.         深拷贝是指源对象与拷贝对象互相独立,其中任何一个对象的改动都不会对另外一个对象造成影响。举个例子,一个人名叫张三,后来用他克隆(假设法律允许)了另外一个人,叫李四,不管是张三缺胳膊少腿还是李四缺胳膊少腿都不会影响另外一个人。比

2014-02-19 12:17:25 907

转载 java 在芯片上运行的方法

3.3. Java Native InterfaceA distinction is made between programs compiled for the virtual machine andprograms compiled to run on a speci c computation platform, like Intel x86 orARM. Programs co

2014-02-08 10:52:20 1228

转载 linux进程间通信的方法

2.4. Interprocess Communication in LinuxIf one process exchanges data with another process, it is called interprocess com-munication (IPC). Linux o ers a variety of mechanisms for IPC. These are t

2014-02-08 10:49:32 466

转载 用户空间内核空间与ring的概念

2.3. User Space and Kernel SpaceProcesses run normally in an unprivileged operation mode, that means they haveno access to physical memory or devices. This operation mode is called in Linuxuser

2014-02-08 10:42:58 583

转载 多天线技术的天线有相关和无相关时应该采取的策略

作为接收分集的替代或补充,也可以在发射端进行提供分集和波束成型。发射分集一般用于下行,而接收分集一般用于上行,也就是都在基站侧。如果发射端并不能获知下行信道的信息,那么发射端只能进行发射分集,不能提供波束成型。当采用下行发射分集时,不同天线之间应该具有低的相关性。下行空时发射分集空时编码将调制符号映射为时域和空域,通过多个发射天线提供分集。两个天线的空时块编码中的STTD,已经用于WCDM

2014-01-03 12:44:52 2243 1

原创 collision by chaining的hash的cpp模板实现

///////////////////////////////////////////////////////#ifndef _HASHTBL_H#define _HASHTBL_Husing namespace std;/////////////////////////////////////////////////////////常用的Hash函数/* * 字符串Has

2013-12-26 16:14:59 599

原创 滑雪问题的分支限界法求解

首先明白一件事情,最长的路径总是从最高点开始的!import java.util.*;public class Demo{ /** * 计算区域最长长度 * * Michael喜欢滑雪这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜, * 而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michae

2013-12-25 15:50:53 671

原创 过河卒问题的动态规划求解(分支限界或者回溯过于耗时)

如图,A 点有一个过河卒,需要走到目标 B 点。卒行走规则:可以向下、或者向右。同时在棋盘上的任一点有一个对方的马(如上图的C点),该马所在的点和所有跳跃一步可达的点称为对方马的控制点。例如上图 C 点上的马可以控制 9 个点(图中的P1,P2 … P8 和 C)。卒不能通过对方马的控制点。#include #include "OJ.h"    #define  MAX

2013-12-25 11:50:27 749

转载 约瑟夫环的数学解决

约瑟夫环(Josephus)问题是由古罗马的史学家约瑟夫(Josephus)提出的,他参加并记录了公元66—70年犹太人反抗罗马的起义。约瑟夫作为一个将军,设法守住了裘达伯特城达47天之久,在城市沦陷之后,他和40名死硬的将士在附近的一个洞穴中避难。在那里,这些叛乱者表决说“要投降毋宁死”。于是,约瑟夫建议每个人轮流杀死他旁边的人,而这个顺序是由抽签决定的。约瑟夫有预谋地抓到了最后一签,并且,作为

2013-12-25 10:11:54 600

原创 python的排序方法

>>> a.sort()>>> a[1, 2, 3, 4, 5]>>> a=[1,"abc",2,"xxx"]>>> a.sort()>>> a[1, 2, 'abc', 'xxx']L.sort(func)   把func(x,y)作为排序函数,返回-1,0和+1

2013-12-24 16:18:19 514

翻译 备忘录模式

Also Known AsToken MotivationSometimes it's necessary to record the internal state of an object. This is required when implementing checkpoints and undo mechanisms that let users back out

2013-12-24 15:56:39 632

原创 python字符串倒排

对字符串中的所有单词进行倒排。说明:1、每个单词是以26个大写或小写英文字母构成;2、'-‘做为单词连接符使用时,视为单词的一部分,例如“aa-bb”是一个单词;但连续出现2个’-’及以上时视为单词间隔符,如“aa--bb”中的“--”视为间隔符,是2个单词“aa”和“bb”;3、非构成单词的字符均视为单词间隔符;4、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词

2013-12-24 15:18:30 2032

翻译 python的lamda表达式

lambda形式lambda语句被用来创建新的函数对象,并且在运行时返回它们。例15.2 使用lambda形式#!/usr/bin/python# Filename: lambda.pydef make_repeater(n):    return lambda s: s*ntwice = make_repeater(2)print twice('word')p

2013-12-24 11:11:51 737

转载 拷贝构造与深拷贝

对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。#include using namespace std;class CExample {private:    int a;public:    CExampl

2013-12-20 15:58:27 418

原创 python求解一个数的阶乘有几个零

算法: 0的个数为  n/5+n/25+n/125+n/(5^i)'''求一个数的阶乘末尾有多少个0要求:大于或等于0小于10000的整数2.输入非数字或者超过范围,则退出程序用例:输入                  输出'5'        '5! have 1 zero''e'         'e is not a number''10000'  

2013-12-19 16:48:07 2071

原创 图像的四叉树广度优先存储

#include #include #include #include #include#include #include #include using namespace std;typedef struct quardresult_t{    int seq;    char val;}QuadResult;/* 象限 */typedef en

2013-12-18 12:01:48 1294

原创 图像的四叉树深度优先存储

#include #include "QuadTree.h"#include #include #include #include#include #include #include using namespace std;typedef struct structQTree QTree;struct structQTree{ unsigned char pixel;

2013-12-18 08:42:17 1276

原创 长整数相乘的字符串表示法

容易出错的地方在于 字符串的0位恰好代表长整数的高位*详细描述:   char* LongIntegerMul(char* pNum1, char *pNum2);输入参数:         char* pNum1:使用字符串表示的长整数1         char* pNum2:使用字符串表示的长整数2输出参数(指针指向的内存区域保证有效):         

2013-12-18 08:18:55 875

原创 分支限界法解决 二维最长下降序列问题(滑雪场问题)

int [][]all={{1,2,3,4,5},                    {16,17,18,19,6},                    {15,24,25,20,7},                    {14,23,22,21,8},                    {13,12,11,10,9}};数组中的数值表示的是该点的高度

2013-12-17 21:42:58 838

原创 四叉树存储2^n大小的图像

#include typedef struct structQTree QTree;struct structQTree{    unsigned char pixel;    bool isLeaf;    QTree *children[4];};/* 象限 */enum{    TOP_RIGHT = 0,    TOP

2013-12-17 16:26:18 1943

翻译 状态模式实现依赖于状态的行为

应用场景描述: 一个开关可以被pull或者push,共有三种不同的颜色,称为状态,每种不同的颜色下执行push或者pull得到的下一个状态不同,即一个有穷状态机,对不同的输入有不同的响应。因为状态改变比较复杂,因此不用if和else来实现。而是定义一个state的父类,然后开关不同的颜色继承这个state父类。根据不同的pull或者push来改变颜色。the State and Stategy

2013-12-17 14:52:11 619

原创 贪心法求解多处理器问题

有jobNum个任务等待machineNum个处理器去完成,任务不可细分,求最优完成时间。本质是NP问题,但是可以通过贪心法来求近似解:策略: 对jobNum个任务按其占用处理器的时间排序,最重的任务往前排,每次选择最早空出来的处理器安排给最重的任务。例如7个独立作业{2,14,4,16,6,5,3}的三处理器调度为M1:  4M2: 2-7M3: 5-6-3-1

2013-12-17 11:34:23 738

原创 素数筛法计算完全数

完全数的性质: 如果i为质数,且2^i-1为质数,则(2^i-1)*2^(i-1)是完全数public final class Demo{        /**     *      * 完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。     * 它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。    

2013-12-16 22:03:56 801

原创 长整数的乘法

思路比较简单但是编写程序特别容易出错,思路就是用字符串来模拟乘法的计算,错误的地方在于,字符串的低位恰恰是其代表的长整数的高位测试用例#include #include "CExampleTest.h"#include #include #include extern char* LongIntegerMul(char* pNum1, char *pNum2);

2013-12-16 16:22:45 1726

原创 cpp二维数组的创建和删除

int** mk2dArray(int a,int b)// a行b列{    int** m=new int*[a+1];    for(int i=0;i    {        m[i]=new int[b+1];    }    return m;}void del2dArray(int **m,int a,int b){    for(int

2013-12-16 11:19:21 986

原创 0-1背包问题的动态规划求法(开心的小明)

注意:动态规划问题的子问题的解并不包含全局最优解!而是全局最优解包含子问题的解!也即子问题的局部最优解是什么并不能最终决定全局解在该局部的取值。因此动态固化存储了所有的情况,不管这些情况是否会被用到,自底向上的过程中,不知道上层的解应该是怎么样。求解的过程中也没有存储解的结构,而是只计算最优质,最后回溯来获得解的结构。问题描述:给定n种物品和一背包。物品i的重量是wi,其价值为vi,背

2013-12-16 10:21:54 906

转载 蜂窝小区的数学模型

设计模型:1、  设计一个XY轴坐标系,1是原点,坐标(0,0)2、  X轴:49、28、13、4、1、7、19、37、61的六边形中心所在直线(如图),1和7之间的距离是7,对应坐标轴的1个刻度3、  Y轴:45、25、11、3、1、6、17、34、57 的六边形中心所在直线(如图),同样刻度是14、  从内向外都是有一个个圈(Cycle)组成,1是第0圈,2-7是第1圈,8-1

2013-12-14 14:29:33 5491

原创 分治法求解放苹果问题(量子力学的状态问题,完全相同的苹果和完全相同的盘子)

题目描述把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。 输入每个用例包含二个整数M和N。0,1。 样例输入7 3 样例输出8    /**     * 计算放苹果方法数目     * 输入值非法时返回-1     * 1      * @par

2013-12-13 21:51:53 832

原创 java Comparator 接口的用法

import java.uitil.*;class UserComparator implements Comparator {    UserComparator(int flag){ascendFlag=flag;}   int ascendFlag;   public int compare(User o1, User o2)    {         int r

2013-12-13 20:21:06 491

原创 同余方程(线性模方程)求解青蛙约会问题

两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了一件很重要的事情,既没有问清楚对方的特征,也没有约定见面的具体位置。不过青蛙们都是很乐观的,它们觉得只要一直朝着某个方向跳下去,总能碰到对方的。但是除非这两只青蛙在同一时间跳到同一点上,不然是永远都不可能碰面的。为了帮助这两只乐观的青蛙,

2013-12-13 11:46:06 1118

原创 数论基本理论的整理

1. 大整数情况,衡量问题复杂度是输入的整数的位数,衡量效率是位操作的次数。2. 除法定理:a=qn+r, 余数为r3. 取模可以划分等价类,[a]n表示模n后余数为a的数即 a+k*n;  例如[3]7=[-4]7=[10]7中,k分别取 0,-1,1. 等价类的代表元是3,3+k*7即等价类的所有的元素4. 用Zn表示所有的模n的等价类地集合即Zn={[a]n: 05. a

2013-12-13 09:51:21 1403

原创 推广的欧几里得算法--对于求解 线性模方程 有用

问题描述: d=gcd(a,b)=ax+by, (1)求出满足条件的x和y。这个问题的求解有助于计算模乘法的逆。Extended-Eculid要求输入两个非负整数,返回一个满足方程(1)的 triple (d,x,y)a   b   floor(ab) d x y[function begin]extended-euclid(a,b)if b==0 return (a,1,

2013-12-13 08:40:25 1205

原创 注解java并发执行的一个例子(选自thinking in java)

// Demonstration of the Runnable interface.  public class LiftOff implements Runnable {  //实现Runnable接口  protected int countDown = 10; // Default   private static int taskCount = 0;           

2013-12-11 20:23:42 544

翻译 JAVA容器的使用

ArrayList and LinkedList are both types of List, and you can see from the output thatthey both hold elements in the same order in which they are inserted. The difference betweenthe two is not

2013-12-11 15:40:02 426

转载 整数的加法拆分

题目描述一个整数总可以拆分为2的幂的和,例如:7=1+2+47=1+2+2+27=1+1+1+47=1+1+1+2+27=1+1+1+1+1+27=1+1+1+1+1+1+1总共有六种不同的拆分方式。再比如:4可以拆分成:4 = 4,4 = 1 + 1 + 1 + 1,4 = 2 + 2,4=1+1+2。用f(n)表示n的不同拆分的种数,例如f(7)=6.

2013-12-11 08:30:30 2470

java script visual quick start

第八版英文版,本书是新手入门的教材,涵盖的内容很广泛很权威

2013-06-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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