自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

cenjoy

知识是一个不断积累的过程。。。

  • 博客(26)
  • 资源 (14)
  • 收藏
  • 关注

转载 主题:在ant中使用cvs功能自动完成每日构建

实现的主要功能是:自动从cvs中check out模块,然后编译,把编译后的class打成jar,再commit到cvs服务器的指定位置。 build.xml

2012-05-29 10:37:48 878

转载 【查找结构】动态查找树比较

我们这个专题介绍的动态查找树主要有: 二叉查找树(BST),平衡二叉查找树(AVL),红黑树(RBT),B~/B+树(B-tree)。这四种树都具备下面几个优势:(1) 都是动态结构。在删除,插入操作的时候,都不需要彻底重建原始的索引树。最多就是执行一定量的旋转,变色操作来有限的改变树的形态。而这些操作所付出的代价都远远小于重建一棵树。这一优势在《查找结构专题(1):静态查找结构概论 》中

2012-05-08 15:32:57 791

转载 【查找结构】红黑树

红黑树的性质与定义红黑树(red-black tree) 是一棵满足下述性质的二叉查找树:1. 每一个结点要么是红色,要么是黑色。2. 根结点是黑色的。 3. 所有叶子结点都是黑色的(实际上都是Null指针,下图用NIL表示)。叶子结点不包含任何关键字信息,所有查询关键字都在非终结点上。4. 每个红色结点的两个子节点必须是黑色的。换句话说:从每个叶子到根的所有路

2012-05-08 15:27:27 4312

转载 【查找结构】多路查找树/B-树/B+树

在前面专题中讲的BST、AVL、RBT都是典型的二叉查找树结构,其查找的时间复杂度与树高相关。那么降低树高自然对查找效率是有所帮助的。另外还有一个比较实际的问题:就是大量数据存储中,实现查询这样一个实际背景下,平衡二叉树由于树深度过大而造成磁盘IO读写过于频繁,进而导致效率低下。那么如何减少树的深度(当然不能减少查询数据量),一个基本的想法就是:1. 每个节点存储多个元素 (但元素数量不能无限

2012-05-08 15:24:19 1367

转载 【查找结构】平衡二叉查找树

在上一个专题中,我们在谈论二叉查找树的效率的时候。不同结构的二叉查找树,查找效率有很大的不同(单支树结构的查找效率退化成了顺序查找)。如何解决这个问题呢?关键在于如何最大限度的减小树的深度。正是基于这个想法,平衡二叉树出现了。平衡二叉树的定义 (AVL—— 发明者为Adel'son-Vel'skii 和 Landis)平衡二叉查找树,又称 AVL树。 它除了具备二叉查找

2012-05-08 15:21:24 592

转载 【查找结构】二叉查找树

当所有的静态查找结构添加和删除一个数据的时候,整个结构都需要重建。这对于常常需要在查找过程中动态改变数据而言,是灾难性的。因此人们就必须去寻找高效的动态查找结构,我们在这讨论一个非常常用的动态查找树——二叉查找树。二叉查找树的特点下面的图就是两棵二叉查找树,我们可以总结一下他的特点:(1) 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值(2) 若它的右子树

2012-05-08 15:18:09 552

转载 【排序算法】桶排序

从《基于比较的排序结构总结》中我们知道:全依赖“比较”操作的排序算法时间复杂度的一个下界O(N*logN)。但确实存在更快的算法。这些算法并不是不用“比较”操作,也不是想办法将比较操作的次数减少到 logN。而是利用对待排数据的某些限定性假设 ,来避免绝大多数的“比较”操作。桶排序就是这样的原理。桶排序的基本思想假设有一组长度为N的待排关键字序列K[1....n]。首先将这个序列划

2012-05-08 15:10:09 552

转载 【排序算法】内排序算法总结

★ 基于“比较”操作的内部排序性能大PK我们首先总结一下《排序结构专题1-4》中的十种方法的性能((N个关键字的待排序列)):排序方法 平均时间 最坏时间 辅助存储空间稳定性 直接插入排序O(N^2) O(N^2) O(1) √ 折半插入排序O(N^2)O(N^2)

2012-05-08 15:07:32 797

转载 【字典树】串集合查找

Trie 树,又称字典树,单词查找树。它来源于retrieval(检索)中取中间四个字符构成(读音同try)。用于存储大量的字符串以便支持快速模式匹配。主要应用在信息检索领域。Trie 有三种结构: 标准trie (standard trie)、压缩trie、后缀trie(suffix trie) 。 最后一种将在《字符串处理4:后缀树》中详细讲,这里只将前两种。1. 标准

2012-05-08 14:24:08 1058

转载 【后缀树】子串匹配结构

Suffix Trie:又称后缀Trie或后缀树。它与Trie树的最大不同在于,后缀Trie的字符串集合是由指定字符串的后缀子串构成的。比如、完整字符串"minimize"的后缀子串组成的集合S分别如下:s1=minimize s2=inimizes3=nimizes4=imizes5=mizes6=izes7=zes8=e然后把这些子串的公共前缀作

2012-05-08 14:20:58 1165

转载 Visual C++线程同步技术剖析:临界区,时间,信号量,互斥量

使线程同步  在程序中使用多线程时,一般很少有多个线程能在其生命期内进行完全独立的操作。更多的情况是一些线程进行某些处理操作,而其他的线程必须对其处理结果进行了解。正常情况下对这种处理结果的了解应当在其处理任务完成后进行。  如果不采取适当的措施,其他线程往往会在线程处理任务结束前就去访问处理结果,这就很有可能得到有关处理结果的错误了解。例如,多个线程同时访问同一个全局变量,如果都是读取操

2012-03-23 09:14:29 571

转载 C++标准转换运算符dynamic_cast

dynamic_cast (expression)dynamic_cast运算符,应该算是四个里面最特殊的一个,因为它涉及到编译器的属性设置,而且牵扯到的面向对象的多态性跟程序运行时的状态也有关系,所以不能完全的使用传统的转换方式来替代。但是也因此它是最常用,最不可缺少的一个运算符。与static_cast一样,dynamic_cast的转换也需要目标类型和源对象有一定的关系:继承关系。

2012-03-22 21:51:59 526

转载 C++ 扩展和嵌入 Python

Python简介  Python是一种简单易学,功能强大的解释型编程语言,它有简洁明了的语法,高效率的高层数据结构,能够简单而有效地实现面向对象编程,特别适用于快速应用程序开发,也可以用来开发大规模的重要的商业应用。Python是一个理想的脚本语言。  Python免费开源,可移植到多种操作系统,只要避免使用依赖于特定操作系统的特性,Python程序无需修改就可以在各种平台上面运行。

2012-03-16 10:35:45 461

转载 堆和栈的区别

非本人作也!因非常经典,所以收归旗下,与众人阅之!原作者不祥!一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,

2012-03-16 09:38:18 429

转载 常量字符串为什么位于静态存储区?

char *c="chenxi";书上说: "chenxi"这个字符串被当作常量而且被放置在此程序的内存静态区。那一般的int i=1;1也是常量,为什么1就不被放置在此程序的内存静态区了呢?请高手指点!所有的字符窜常量都被放在静态内存区因为字符串常量很少需要修改,放在静态内存区会提高效率例:char str1[] = "abc";char str2

2012-03-07 15:35:30 428

转载 Java: JNI完全手册

最近在公司里做了一个手机的项目,需要JAVA程序在发送短信的时候和第三方的短信服务器连接。短信接口是用C++写的。琢磨了三天,大致搞懂了JNI的主体部分。先将心得整理,希望各位朋友少走弯路。首先引用一篇文章,介绍一个简单的JNI的调用的过程。       JAVA以其跨平台的特性深受人们喜爱,而又正由于它的跨平台的目的,使得它和本地机器的各种内部联系变得很少,约束了它的功能。解决JAVA对

2012-02-22 11:09:30 408

转载 用C++设计一个不能被继承的类

点击打开链接 题目:用C++ 设计一个不能被继承的类。分析:这是Adobe 公司2007 年校园招聘的最新笔试题。这道题除了考察应聘者的C++ 基本功底外,还能考察反应能力,是一道很好的题目。在Java 中定义了关键字final ,被final 修饰的类不能被继承。但在C++ 中没有final 这个关键字,要实现这个要求还是需要花费一些精力。首先想到的是在C++ 中,子类的构造函数

2012-02-20 20:48:23 1305

转载 linux chmod命令参数及用法详解

使用权限 : 所有使用者使用方式 : chmod [-cfvR] [--help] [--version] modefile...说明 : Linux/Unix 的档案存取权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所存取。把计 :mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...

2012-02-17 20:52:44 677

转载 Ubuntu安装配置Mysql

三种安装方式:  1. 从网上安装 sudo apt-get install mysql-server。装完已经自动配置好环境变量,可以直接使用mysql的命令。    注:建议将/etc/apt/source.list中的cn改成us,美国的服务器比中国的快很多。  2. 安装离线包,以mysql-5.0.45-linux-i686-icc-glibc23.tar.gz为例。

2012-02-16 20:41:25 328

转载 Ubuntu10.04中安装配置JDK

首先从SUN网站下载JDK然后在shell中执行:代码:sudo chmod +x jdk-6u17-linux-i586.bin修 改bin文件权限,使其可执行。然后执行代码:./jdk-6u17-linux-i586.bin注意:也可以直接解压bin,输入:sudo sh jdk-6u17-linux-i586.bin将 会出现字幕,持续

2012-02-16 17:29:46 426

转载 在C中引用C++语言中的函数和变量

引用C++语言的头文件需添加extern "C",但是在C语言中不能直接引用声明了extern "C"的该头文件,应该仅将C文件中将C++中定义的extern "C"函数声明为extern类型,希望本文能教会你更多东西。实际上,在连接阶段,连接器会从模块A生成的目标文件moduleA.obj中寻找_foo_int_int这样的符号!加extern "C"声明后的编译和连接方式加extern

2012-02-09 11:28:23 1146

转载 多重继承及虚继承中对象内存的分布

多重继承及虚继承中对象内存的分布篇文章主要讲解G++编译器中虚继承的对象内存分布问题,从中也引出了dynamic_cast和static_cast本质区别、虚函数表的格式等一些大部分C++程序员都似是而非的概念。问题拿捏得十分到位,下面是我对原文的翻译,原文见这里(By Edsko de Vries, January 2006)。本文是介绍C++的技术文章,假定读者对于C+

2012-02-08 21:14:43 841

转载 C++中继承的内存分布

class Base { public:  int m_base; }; class DerivedA: public Base { public:  int m_derivedA; }; class DerivedB: public Base { public:  int m_derivedB; }; class Deriv

2012-02-08 21:10:35 2337

原创 C++不定参数综合实例

#include #include #include using namespace std;/************************************************************************//*   type va_arg(va_list argptr, type);  void va_end(va_list argptr)

2012-02-06 23:17:46 2880

转载 C++不定参数的应用

不定参数当年做为C/C++语言一个特长被很多人推崇,但是实际上这种技术并没有应用很多。除了格式化输出之外,我实在没看到多少应用。主要原因是这种技术比较麻烦,副作用也比较多,而一般情况下重载函数也足以替换它。尽管如此,既然大家对它比较感兴趣,我就简单总结一下它的使用和需要注意的常见问题。原理刚学C语言的时候,一般人都会首先接触printf函数。通过这个函数,你可以打印不定个数的变量到屏幕

2012-02-06 23:07:25 9044

转载 探讨C++中对象的“浅拷贝”与“深拷贝”

C++中对象的复制就如同“克隆”,用一个已有的对象快速地复制出多个完全相同的对象。一般而言,以下三种情况都会使用到对象的复制:(1)建立一个新对象,并用另一个同类的已有对象对新对象进行初始化,例如:class Rect{private:int width;int height;};Rect rect1;Rect rect2(rect1); // 使用rect1初始化rec

2012-02-05 20:20:18 7354

程序员面试题精选100题

程序员面试题精选100题,程序员面试必看!!!

2011-10-13

Visual C++开发的网络监听程序

Visual C++开发的网络监听程序,资源来源于网络,仅供学习

2011-04-22

详细介绍grub2的使用

这篇文章主要介绍grub2的使用,50多页的教程,相信读完之后你一定会对grub有一个更深刻的认识

2011-04-22

KDE与GNOME之圣战

GNOME与KDE都站在一个全新的起点,这篇文章介绍KDE与GNOME的特点和各自的优势所在

2011-04-22

详细介绍GCC的中文手册

详细介绍GCC的中文手册,写得很详细。本手册页内容摘自GNU C编译器的完整文档,仅限于解释选项的含义.

2011-04-22

MFC开发的象棋程序

MFC开发的象棋程序,学习MFC的一个很实用例子

2011-04-22

MFC开发的五子棋程序

MFC开发的五子棋程序,学习MFC的一个很好的实用例子

2011-04-22

MFC实现的MFC麻将程序

这是一本书上找到的MFC实现的麻将程序,供大家学习

2011-04-22

MFC实现的飞行棋程序

这是从一本书上找到的MFC实现的飞行棋程序

2011-04-22

MFC实现的斗地主程序

这是从一本书上找到的MFC实现的斗地主程序

2011-04-22

AutoScreenCapture2(C#)vs2005源码

AutoScreenCapture2(C#)vs2005源码,利用到了构件的思想,本资源来源于开源网站

2010-10-31

积木俄罗斯方块,利用到COM构件思想

积木俄罗斯方块,利用到COM构件思想。选在注册表注册组件才可以使用

2010-10-11

空空如也

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

TA关注的人

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