自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

emailed的专栏

最好走的路越走越难,最难走的路越走越容易

  • 博客(45)
  • 资源 (1)
  • 收藏
  • 关注

翻译 Range Minimum Query (RMQ)

RMQ(Range Minimum Query) : 给定一个数组,求给定的两个索引(下标)间最小值元素的索引. 符号意义:假设一个算法有 f(n)的预处理时间和g(n)的查询时间.则这个算法的总的时间复杂度记为 记数组A在索引i和j之间的最小值元素的索引为RMQA(i, j).例子:A[0,9]

2009-11-03 13:33:00 2488 1

转载 Apache的Mod_Rewrite模块设置

 利用apache的mod_rewrite模块的全套重定向方案首先介绍一下怎样打开apache的mod_rewrite功能。首先来重新编译安装apache-2.0.59#tar -zxvf httpd-2.0.59.tar.gz#cd httpd-2.0.59#./configure –prefix=/opt/apache2 –enable-modules=so –

2009-11-20 21:08:00 1339

转载 《Java面向对象编程》学习笔记17--对象的序列化和反序列化

 原文出处:http://blog.csdn.net/gnuhpc/archive/2009/10/24/4722525.aspx 将原文的代码加了main函数 1.定义:序列化--将对象写到一个输出流中。反序列化则是从一个输入流中读取一个对象。类中的成员必须是可序列化的,而且要实现Serializable接口,这样的类的对象才能被序列化和反序列化。这个接口是一个表示型的接口。

2009-11-11 20:12:00 540

转载 《Java面向对象编程》学习笔记14——数组的相关事项

 1.声明数组引用变量时不能指定数组的长度。如:int x[1];这句话非法。2.数组对象的创建,例如:int [] scores = new int[100];首先在堆中分配内存空间,上述的就是400个字节,然后就给其赋默认值,各个数据类型的默认值不同,int为0.3.返回数组对象的引用:int [] x =new int [10]; int size = 10; int

2009-11-11 00:54:00 660

转载 Java中的管道流

 1.引言Java I/O系统是建立在数据流概念之上的,而在UNIX/Linux中有一个类似的概念,就是管道,它具有将一个程序的输出当作另一个程序的输入的能力。在Java中,可以使用管道流进行线程之间的通信,输入流和输出流必须相连接,这样的通信有别于一般的Shared Data通信,其不需要一个共享的数据空间。2.相关类及其关系1)字节流:分为管道输出流(PipedOutputSt

2009-11-11 00:32:00 6081

转载 《Java面向对象编程》学习笔记16—Java I/O系统

原文出处:http://blog.csdn.net/gnuhpc/archive/2009/10/22/4713381.aspx1.基本概念和基本情况:a.流:一组有序的数据序列。b.字节流:数据流中最小的数据单元是字节。c.字符流:数据流中最小的数据单元是字符。d.java.io.InputStream和java.io.OutputStream分别表示字节输入

2009-11-10 23:46:00 749

转载 深刻理解Java编程的7个例子

 深刻理解Java编程的7个例子   佟强 2009年11月7日 http://blog.csdn.net/microtong 1. 阅读下列代码回答问题(第一个Java程序,理解PATH和CLASSPATH,学会使用javac和java命令) view plaincopy to clipboardprint?package cn.edu.uibe;  

2009-11-10 00:02:00 939

原创 Java的深拷贝和浅拷贝(2)

上一篇文章讲述了浅拷贝和深拷贝的含义,并且给出了浅拷贝的一个例子 这篇文章在那个例子的实现上作出修改,实现深拷贝,代码如下: package com.test;public class CloneTest{ public static void main(String[] args) { Student s1 = new Student(); s1.se

2009-11-09 01:54:00 687

原创 Java的浅拷贝和深拷贝(1)

 Java的拷贝分为深拷贝和浅拷贝 浅拷贝:把一个对象中所有的非static成员变量(包括对其它对象的引用,java中的引用相当于C/C++中的指针变量)都拷贝一遍,而不拷贝引用所指向的对象深拷贝:把一个对象中所有的非static成员变量(包括对其它对象的引用)都拷贝一遍,引用所指向的对象也拷贝一份 这篇文章先讲述浅拷贝,深拷贝下篇文章讲述 一个类的对象如果想要具有拷贝

2009-11-09 00:44:00 646

原创 Binary Indexed Tree

 通常对于求数组的两个操作:   一、更新某个元素   二、求数组中某个区间的元素的和对于操作一,在O(1)可完成,对于操作二,在O(n)内可完成,但是如果操作二的次数很多,可能就比较耗时间了,所以这里对于操作二提供另外一种方法,叫做Binary Indexed Tree,时间复杂度为O(logn).假设一共有N个元素,a[N]这里用一个辅助数组tree[N],数组下标从1开始

2009-11-05 21:32:00 683

原创 bit 的 一些有用的操作

ALL_BITS 是所有的位都为1A: 1000 0010B: 1100 11001.对A的所有位取反ALL_BITS ^ A2.将A的第bit位(最右边是第0位)设置为1A |= 1 3.将A的第bit位清0A &= ~(1 4.测试第bit位是否为0      (A & 1

2009-11-03 20:31:00 536

转载 An Introduction to Recursion, Part 2

 Scenario #2: Multiple Related DecisionsWhen our program only has to make one decision, our approach can befairly simple. We loop through each of the options for our decision,evaluate each one

2009-11-03 19:16:00 594

转载 An Introduction to Recursion, Part 1

 Recursion is a wonderful programming tool. It provides a simple,powerful way of approaching a variety of problems. It is often hard,however, to see how a problem can be approached recursively;

2009-11-03 19:10:00 559

转载 三门问题

三门问题又叫蒙提霍尔问题。说的是在一个电视游戏中,参赛者面对三扇一模一样的关闭着的门,其中一扇门后面是汽车,另外两扇后面是山羊。参赛者选择了一扇门,但并没有打开;这时主持人开启了另外一扇门,后面是山羊。主持人问参赛者要不要换另外一扇关着的门。问题是:换另一扇门是否会增加参赛者赢得汽车的概率?注解(引自Wikipedia):Mueser和Granberg透过在主持人的行为身上加上明确

2009-11-01 22:27:00 914

转载 约瑟夫问题的数学解法

在原帖上加了一些内容,便于理解.  无论是用链表实现还是用数组实现都有一个共同点:要模拟整个游戏过程,不仅程序写起来比较烦,而且时间复杂度高达O(nm),当n,m非常大(例如上百万,上千万)的时候,几乎是没有办法在短时间内出结果的。我们注意到原问题仅仅是要求出最后的胜利者的序号,而不是要读者模拟整个过程。因此如果要追求效率,就要打破常规,实施一点数学策略。为了讨论方便,

2009-11-01 16:29:00 595

转载 非递归遍历二叉树

 //使用栈模拟二叉树遍历(非递归)void preOrderNoRecursive(TreeNode* root){ stack s; while ((NULL != root) || !s.empty()) { if (NULL != root) { visit(root);

2009-10-31 01:08:00 611

转载 linux 终端

 tty是Teletype的缩写终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。tty是Teletype的缩写。Teletype是最早出现的一种终端设备,很象电传打字机(或者说就是),是由Teletype公司生产的。设备名放在特殊文件目录/dev/下,终端特殊设备文件一般有以下几种:1.串行端口终端(/dev/ttySn) 串行端口终端(Serial Port

2009-10-29 22:16:00 493

转载 后缀树

 在pongba的讨论组上看到一道Amazon的面试题:找出给定字符串里的最长回文。例子:输入XMADAMYX。则输出MADAM。这道题的流行解法是用后缀树(Suffix Tree)。这坨数据结构最酷的地方是用它能高效解决一大票复杂的字符串编程问题:在文本T里查询T是否包含子串P(复杂度同流行的KMP相当)。文本T里找出最长重复子串。比如abcdabcefda里abc同da都重复出

2009-10-21 20:01:00 2911

原创 java中的锁池和等待池

在java中,每个对象都有两个池,锁(monitor)池和等待池 wait() ,notifyAll(),notify() 三个方法都是Object类中的方法. 锁池:假设线程A已经拥有了某个对象(注意:不是类)的锁,而其它的线程想要调用这个对象的某个synchronized方法(或者synchronized块),由于这些线程在进入对象的synchronized方法之前必须先获得该

2009-10-17 16:59:00 17447 4

转载 三种最基本的排序 选择排序 插入排序 冒泡排序

/* * 选择排序(Selection sort)、插入排序(Insertion sort)与气泡排序(Bubble sort)这三个排序方式是初学排序所必须知道的三个基本排序方式,它们由于速度不快而不实用(平均与最快的时间复杂度都是O(n2)),然而它们排序的方式确是值得观察与探讨的。 * */public class BasicSort{ /* * 选择排序将要

2009-10-17 15:10:00 782

转载 微软面试题和答案

第一组1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?2.你有一桶果冻,其中有黄色、绿色、红色三种,闭上眼睛抓取同种颜色的两个。抓取多少个就可以确定你肯定有两个同一颜色的果冻?3.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出4公升的水?4.一个岔路口分别通向诚实国和说

2009-10-16 22:05:00 1576 1

转载 C语言字节对齐详解

一、什么是对齐,以及为什么要对齐:1. 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。2. 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址

2009-10-16 22:04:00 438

原创 关于继承的几个误区

 1. c++有三种继承方式,public ,protected ,private ,无论哪一种继承,子类都会把父类的所有的成员变量和成员函数给继承下来,只是对于不同的继承方式,父类的成员在子类中的可访问性不同而已 2.对于三种继承来说,继承下来的成员在子类中的访问控制符发生了变化(这会影响到继承于该子类的子类) 2.1.public 继承:父类的public和protecte

2009-10-16 20:46:00 433

转载 Daemon 线程

 注:对原文添加了一些代码和注释,并修改了原文作者的一些笔误 概念类似于Linux的后台守护进程,JVM的垃圾回收线程就是典型的后台线程,它负责回收其他线程不再使用的内存。只有前台的所有线程结束后后台线程才会结束。main线程默认为前台线程,而由前台线程创建的线程都是前台线程(后台创建的则是后台线程)。Thread类的setDaemon()方法设置后台线程(线程启动之前),isDa

2009-10-16 17:47:00 424

原创 覆盖Thread的start()函数后的注意事项

 package com.tju;public class ThreadDemo extends Thread{ private int a = 1; private static int count = 0; @Override public void start() { super.start();// 确保线程创建,调用run()方法 // sta

2009-10-16 16:01:00 891

原创 悟透JavaScript笔记

1.javascript的作用域问题:任何程序都会在一个全局环境中运行。在javascript里的全局环境就是一个对象,这个对象是javascript运行环境的根,对于浏览器中的javascript来说,这个根对象就是我们熟知的window对象(非浏览器宿主程序中可能不叫window)。对于全局的javascript语句来说,window对象就相当于当前作用域。 var myName

2009-10-15 02:33:00 701 2

原创 虚函数的一般实现模型

1.virtual function的一般实现模型:    每一个含有虚函数的class有一个virtual table,内含该class之中,virtual table中存放所有的virtual function的地址,每个object有一个vptr,指向virtual table所在。 2.当一个类继承一个有虚函数的类的时候,该子类的对象会把基类对象的vptr也继承下来 3

2009-10-15 01:06:00 357

转载 五类插入排序

插入排序可分为五类: 1.  直接插入排序算法 基本操作:将一个记录插入到已排好序的有序表中,从而得到一个新的、记录增1的有序表。 时间复杂度:O(n^2) 代码:java表示   /** * 直接插入排序,升序排列。 * * @param data */ public void dirInsertSor(int[] data) { fo

2009-10-15 00:57:00 750

原创 GNU emacs 22.1.1 代码格式对齐

我的系统是ubuntu 8.0.4  想在编辑c++代码的时候,回车后格式自动对齐,不用自己敲tab或者空格 装好emacs 22.1.1 后,发现自己的主目录下没有.emacs文件 于是在主目录下新建一个.emacs文件,在其中写入以下代码: (require cc-mode)(define-key c-mode-base-map (kbd "RET")

2009-09-23 15:53:00 2384

转载 虚函数表解析

C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用

2009-09-23 01:33:00 365

转载 Emacs 学习笔记二

 在这里我们将会学会如何插入和删除文本,在Emacs中进行移动,剪切和粘贴,装入和保存文件.我们还会谈到一些在我们要读入一个新文件时要用到的有用的函数功能.插入和删除文本:在Emacs中插入和删除文本就如我们在打印机上输入文本一样的简单,我们只是简单的输入我们要输入的文本.这样的输入方式是和我们在Vim中所见到的输入方式是不一样的,因为在Vim我们要插入模式下输入文本,而在Emacs中不是

2009-09-23 01:06:00 585

转载 Emacs 学习笔记一

 Emacs是什么?E. M. A. C. S.emacs Makes A Computer SlowEscape Meta Alt Control Shiftemacs Makers Are Crazy Sickosemacs Makes All Computing Simpleemacs Makefiles Annihilate C-Shellsemacs Manu

2009-09-23 01:05:00 561

转载 makefile 的使用

在这一章,我们将会讨论在Linux系统上可用的程序开发工具,其中一些在Unix系统上也可用。除了必须的编译器与调试器以外,Linux提供了一个工具集,其中的每一个工具都完成单独的工作,并且允许开发者以新的方式对这些工具进行组合。这就是Linux所继承的Unix哲学的一部分。在这里,我们将会讨论其中的一些重要工具,并且会讨论使用这些工具解决问题的例子,包括:make命令以及makef

2009-09-23 01:01:00 431

转载 GNOME与KDE的发展

GNOME项目于1997年8月发起,创始人是当时年仅26岁的墨西哥程序员Miguel De Icaza。关于GNOME的名称有一个非常有趣的典故:Miguel到微软公司应聘时对它的ActiveX/COM model颇有兴趣,GNOME(Network Object Model )的名称便从此而来。GNOME选择完全遵循GPL的GTK图形界面库为基础,因此我们也一般将GNOME和KDE两

2009-09-23 00:53:00 917

转载 gcc 精彩之旅

在为Linux开发应用程序时,绝大多数情况下使用的都是C语言,因此几乎每一位Linux程序员面临的首要问题都是如何灵活运用C编译器。目前Linux下最常用的C语言编译器是GCC(GNU Compiler Collection),它是GNU项目中符合ANSIC标准的编译系统,能够编译用C、C++和ObjectC等语言编写的程序。GCC不仅功能非常强大,结构也异常灵活。最值得称道的一点就是

2009-09-23 00:47:00 381

转载 遴选国际一流期刊的评价指标

遴选国际一流期刊的评价指标文献计量学研究中用来评价科技期刊质量的指标有很多,其中期刊的影响因子(IF)、总被引频次(CI)以及最近两年的期刊被引频次(IFCI)可以从不同角度反映期刊的显示度。影响因子(IF)指某期刊前两年发表论文在统计当年被引用的总次数与该刊前两年发表论文数的比值。它可以测度期刊在最近两年中的篇均被引频次,是国际上通行的期刊评价指标,由于它是一个相对统计量,所以能够客观的反映期刊

2009-06-14 10:59:00 1869

转载 SCI期刊影响因子的计算方法(供参考)

SCI(《科学引文索引》,英文全称为Science Citation Index)是美国科学情报研究所(Institute for Scientific Information,简称ISI,网址:http://www.isinet.com)出版的一部世界著名的期刊文献检索工具,其出版形式包括印刷版期刊和光盘版及联机数据库,现在还发行了互联网上Web版数据库。 SCI收录全世界出版的数、理、化、农、

2009-06-14 10:57:00 7192

原创 Tian Ji -- The Horse Racing (TOJ 1188)

1188.   Tian Ji -- The Horse Racing Time Limit: 3.0 Seconds   Memory Limit: 65536KTotal Runs: 419   Accepted Runs: 135 Here is a famous story in Chinese history."That was about 2300 years

2009-06-14 10:55:00 1660

原创 tcpmon工作原理

tcpmon可以截获Webservice的soap包,进行分析Local Port:表示tcpmon监听的端口号,这个端口号只要取一个合理的就行Server Name:Webservice服务器的主机名或者IPServer Port:Webservice服务器所监听的端口号客户端将XXXClient.java中的构造函数中的所连的服务器的端口号改为Local Port即可,这样的话,客户端

2009-06-14 10:53:00 702

原创 Square(TOJ 1398)

1398.   Square Time Limit: 2.5 Seconds   Memory Limit: 65536KTotal Runs: 685   Accepted Runs: 236 Given a set of sticks of various lengths, is it possible to join them end-to-end to form a squ

2009-06-14 10:50:00 666

c++程序设计课件

很好的c++入门教材

2008-03-05

空空如也

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

TA关注的人

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