自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

笔记

做一棵不断生长的树 安安静静 并且独立 渐渐心境平和 最终郁郁葱葱

  • 博客(51)
  • 资源 (9)
  • 收藏
  • 关注

原创 二叉树的遍历:先序、中序、后序

说明:源码来自作者:http://my.csdn.net/monsion 转载请联系作者!!!main.cpp#include "binaryTree.h"using namespace std;int main(){// int a[]={8,6,10,5,7,9,11}; //以-1标示空节点 int a[]={8,8,7,9,2,-1,-1,-1,-1,4,7};

2013-09-04 21:42:32 811 1

原创 七种排序算法,包括:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序

说明:源码来自作者:http://my.csdn.net/monsion 转载请联系作者!!!main.cpp#include "allSort.h"#include "allSort.cpp"using namespace std;int main(){ //在int上测试 int a[]={3,2,6,7,1,9}; allSort iTest; iTest.i

2013-09-04 21:39:27 1740

转载 面向对象的三个基本特征(讲解)

面向对象的三个基本特征是:封装、继承、多态。封装封装最好理解了。封装是面向对象的特征之一,是对象和类概念的主要特性。封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。继承面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下

2013-06-28 14:31:55 724

原创 char[] 与 char *区别

我们让:char* a ="aaa"     char a[] = "bbb"1. 赋值阶段不同char a[] 是在运行时赋值char* a 在编译时确定的2. 存取效率char a[] 读取时直接把字符串中元素读到寄存器char *a 要先读指针值,然后从指针中读取字符,显然慢得多3. 数据类型不同数组可以自动转换为指针,而指针不能转成数组字符串等价于字符数

2013-05-17 22:21:01 1145 5

原创 动态链接 静态链接

本文主要内容:什么是动态链接、静态链接?静态链接、动态链接的优缺点是什么?1. 什么是静态链接、动态链接静态链接:静态链接是由链接器在链接时将库的内容加入到可执行程序中的做法。链接器是一个独立程序,将一个或多个库或目标文件(先前由编译器或汇编器生成)链接到一块生成可执行程序。动态链接(Dynamic Linking):相对于静态链接而言,要等到程序运行时再将组成程序的目标文件进行链接的

2013-04-17 22:24:16 1083 2

原创 C++ replace() 函数用法详解

本文主要针对c++中常用replace函数用法给出样例程序/*用法一: *用str替换指定字符串从起始位置pos开始长度为len的字符 *string& replace (size_t pos, size_t len, const string& str); */int main(){ string line = "this@ is@ a test string!"; lin

2013-04-17 19:30:28 65230 9

原创 强符号 弱符号

本文的主要内容包括符号指的是什么?为什么要存在强符号,弱符号,什么是强引用、弱引用,它们的作用是什么?最后介绍链接器的COMMON块机制(Common Block)。一、符号----链接的接口:在链接过程这种,目标文件之间相互拼合实际上是目标文件之间对地址的引用,即对函数和变量地址的引用。在链接中,我们将函数和变量统称为符号(Symbol),函数名或变量名就是符号名(Symbol Name

2013-04-11 19:36:31 3767

原创 谈谈编译后的目标文件

本为主要解决三个问题:什么是目标文件?目标文件的格式是怎样的?为什么要设计成这样的格式?什么是目标文件?目标文件就是源代码编译后但是并未进行链接的文件,比如windows下面的 .obj  和Linux下面的 .o 等。目标文件的格式?目标文件一般分成两种,windows下面的PE(Portable Executable)和Linux下面的 ELF(Executable Linka

2013-04-09 16:57:19 1401 3

原创 程序由源码->可执行文件 编译+链接 流程

预编译:处理以#开始的预编译指令                 删除注释                 添加行号标识                处理宏定义 编译:    词法分析、语法分析、语义分析、优化 --> 产生汇编代码汇编:    汇编代码 --> 机器指令链接:    模块拼接、静态链接;每个模块独立编译,然后按需“组装”起来

2013-04-02 11:08:16 766 1

转载 C++ const 和 static 用法

static 是c++中很常用的修饰符,它被用来控制变量的存储方式和可见性,下面我将从 static 修饰符的产生原因、作用谈起,全面分析static 修饰符的实质。static 的两大作用:一、 控制存储方式:static被引入以告知编译器,将变量存储在程序的静态存储区而非栈上空间。1、引出原因:函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,大家知道,函

2013-04-02 10:50:18 957 2

原创 为什么32位操作系统最多只能用到4G内存

最近实验室购进的服务器内存已达到8G,那么经常听zj讲如果安装原有的32位操作系统,那么只能用到4G内存,剩下的内存就浪费了,如果安装64位操作系统,虽然有些程序的兼容性需要重新审核,但确可以充分利用服务器资源。为什么32位OS只能用到4G内存呢?这和计算机的地址空间有关。对于32位的地址空间,大小为2的32次方,也就是从Ox00000000~OxFFFFFFFF 共计 4294967296

2013-04-01 09:41:14 8101 1

原创 计算机的“层”概念

“计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决”“Any problem in computer science can be solved by another layer of indirection.”这句话原本是描述计算机系统软件体系结构采用的一种层结构,那我把这种层结构理解为两个方面,一个是它的本意方面:计算机系统软件结构;另外一个方面:其他领域的计算机应

2013-03-31 20:50:46 2535

原创 为什么是“多核”处理器

随着电子设备配置的不断发展,多核处理器已经很普遍的应用于计算机和手机领域,那么为什么要用多核处理器,为什么不继续提升CPU的频率,多核处理器真的能成倍的增加运算效率吗?    在过去的五十年,CPU的频率从几十KHz到现在的4GHz,提高了几十万倍。平均没18个月翻一番。但是自2004年以来,这种规律似乎已经失效。CPU的频率开始没有质的提高。原因是人们在制造CPU工艺方面已经达到了物理极限。

2013-03-31 19:40:33 1115

转载 Linux 文件编码及转换

处理中文经常会遇到各种编码问题,很让人不爽,看到一篇关于Linux编码查看以及编码转换的文章,先转了,用到的时候再慢慢整理。如果你需要在Linux 中操作windows下的文件 ,那么你可能会经常遇到文件 编码 转换的问题。Windows中默认的文件 格式是GBK(gb2312),而Linux 一般都是UTF-8。下面介绍一下,在Linux 中如何查看 文件 的编码 及如何进行对文件

2013-03-05 11:05:54 782

原创 error: expected constructor, destructor, or type conversion before '.' token

最近的工程中出现一个错误,error: expected constructor, destructor, or type conversion before '.' token  ,纠结了很久,终于找到原因,还是自己c++基本功不好,犯了低级错误,此处写下来,给自己警示!!!C++中,全局阈只能声明、初始化变量; 不能用于赋值、运算、调用函数等!!!关于初始化和赋值:(感谢mon

2013-03-04 19:04:10 70810 6

原创 机器学习 算法之 决策树

一直想着2012年末写下点什么总结下的东西,年末事多,是我给自己没有记下年末尾巴的最好理由。现在在寒假回家前写下写总结这半学期实验科研的小小成果,也好在新学期回忆起这半年的时候有一些笔记供参考。这半年一直在做关于中文指代消解实验,用到的机器学习方法很多,但都是别人的工具包,自己对各种机器学习方法理解的也不深入,直到同学推荐一本《统计学习方法》(李航),发现里面讲了很多关于机器学习的东西正是我需

2013-01-15 14:15:49 161

原创 Linux 下 Grep命令用法

编程时经常会用到字符串搜索功能,之前的字符串搜索功能总是在linux服务器和windows之间切换完成,师兄告诉我grep很方便,写下来,供自己查询使用,以下grep的每调命令均在自己linux环境测试可用:grep: g(global) search for a re(regular expression) andp(print) the results.grep 参数:-i  忽略

2012-12-14 16:40:30 998 2

原创 aiml解析之 LINUX C++ RebeccaAIML解析 测试程序 支持中文处理

最近在弄一些和aiml处理相关的工作,修改别人的工具包,遇到一些问题,记下来,供有需要的人参考使用,也欢迎留言讨论!1.  官网下载RebeccaAIML包: http://www.alicebot.org/downloads/programs.htmlhttp://rebecca-aiml.sourceforge.net/这里下载一些依赖包,也可以在线安装这些依赖包的高级

2012-12-11 16:52:43 1824

原创 aiml解析之 Linux C++ libaiml 编译+执行测试程序+支持中文

最近在搞Linux平台下的C++语言版AIML解析,目的是实现中文的AIML格式文本解析,经历很多波折啊,现在把调试过程记下来,供志同道合者参考和使用,也希望大家多提建议,共同学习。1. 官网下载libaiml包和依赖的std_utils库函数 网址:http://www.alicebot.org/downloads/programs.html2. Linux系统中安装库执行依赖的

2012-12-11 15:50:38 2175

原创 AJAX: 如何使用HttpRequest对象

本文主要介绍如何使用 HttpRequest 对象,如何向服务器发送请求,以及如何处理服务器响应。使用HttpRequest对象发送请求步骤:1. 创建 HttpRequest 对象 var xmlhttp = new XMLHttpRequest();2. 告诉 XMLHttpRequest 对象,当状态发生改变时, 会调用哪个函数。为此,要把 onreadystat

2012-11-20 21:54:38 4659

原创 PHP调用AIML接口,并支持中文

AIML中英双语版PHP接口,下载地址:http://download.csdn.net/detail/ixwolf/4095528里面有详细的readme文档,简单易懂,作者写得很棒!修改接口使之支持中文:详细步骤参照:一、http://leo108.com/pid-1202.asp 二、http://leo108.com/pid-1203.asp三、http://leo

2012-11-20 17:20:06 2898

转载 PHP session原理总结

之前在学校的时候,只知道session与cookie的区别在于:session是保存在服务器端,cookie保存在客户端。session怎么样保存的?以文件的形式保存。自己去测试过。有的忘记了。对应session的id号模糊不清。在开发中,非常有必要弄明白具体细节。不能停留在使用session_start()函数了,然后获取session值。不知道里面的机制,在开发中遇到了新的问题,解决起来比较费

2012-11-09 20:20:27 581

转载 CPU和GPU扫盲

CPU和GPU都是具有运算能力的芯片,CPU更像“通才”——指令运算(执行)为重+ 数值运算,GPU更像“专才”——图形类数值计算为核心。在不同类型的运算方面的速度也就决定了它们的能力——“擅长和不擅长”。芯片的速度主要取决于三个方面:微架构,主频和IPC(每个时钟周期执行的指令数)。   1.微架构从微架构上看,CPU和GPU看起来完全不是按照相同的设计思路设计的,当

2012-11-05 13:57:49 89

转载 Windows/Linux上weka的配置

weka是机器学习和数据挖掘领域使用java语言开发的开源的工具包,最近个人也在学习weka的使用,下面对安装后的配置做些记录,免得以后忘了。(1)获取安装文件weka的工具包可以从waikato的主页http://www.cs.waikato.ac.nz/ml/weka/下载,很方便。从download页面上可以看到,weka支持的版本包括:Stable GUI versio

2012-11-05 09:43:19 915

转载 用C++ ulxmlrpcpp 做服务端,PHP xmlrpc 做客户端,实现前后xml通信

前一阵,想在fedora下用C++服务程序,PHP前台程序,实现一个系统。选择封装完整HTTP协议通信,且实现多线程的程序库:ulxmlrpcpp。但是这个库只封装c++的客户端和服务端,所以决定在客户端使用PHP xml-rpc。然而两个库并不能完全通信,需要修改一些源码(只修改ulxmlrpcpp代码,所以需要重新编译ulxmlrpcpp,而phpxmlrpc不需要修改)。1.程序下载

2012-10-31 14:35:56 9594

原创 C++ atoi() itoa() 字符串-数字相互转换函数

它们都是C语言中原有的字符串转换函数,C++自然将他们加进来。用之前C++引入头文件:#include 或者 #include atoi原型:注意:参数若为string类型一定转换成char*型(str.c_str())#include 或者#includeint atoi(const char *str); atoi作用:把str字符串转换成整型数。如果第一个非空格字符不

2012-10-31 09:16:44 3265

原创 C++泛型算法之 sort() stable_sort() unique() count_if()

首先我们定义要用到的vector:vector words;  words中存储十个元素分别是一下十个单词: the quick red fox jumps over the slow red turtlesort 算法:带有两个迭代器实参,之处要排序的元素范围,使用小于(sort(words.begin(), words.end());排序后结果:fox jumps over q

2012-10-30 16:29:26 2256

原创 C++ 泛型算法之 replace 和 replace_copy

replace算法:对输入序列做读写操作,将序列中特定值替换为新值。relplace的四个参数:一对指定范围的迭代器和两个值,把第一个值替换为第二个值。#include replace(ilst.begin(), ilst.end(), old_val, new_val); //把所有old_val值替换为new_val这个调用将所有old_val替换为new_val。如果不想改变

2012-10-30 15:23:24 2316

原创 vim 多行复制、移动 命令

在VIM中 用正则表达式 批量移动、复制和删除文本::n1,n2 m n3     移动n1-n2行(包括n1,n2)到n3行之下;:n1,n2 co n3    复制n1-n2行(包括n1,n2)到n3行之下;:n1,n2 d        删除n1-n2行(包括n1,n2)行;

2012-10-30 10:52:58 7919

原创 Vim 复制 粘贴 删除 命令

复制:yy 或 Y       复制游标所在整行2yy 或 y2y  复制包括游标行在内的向下数两行y^ 或 y0      复制至行首,不包括游标处字符  y$            复制至行尾,包含游标出字符  yw            复制一个字母  y2w          复制两个词  yG           复制至文档末尾  y1G

2012-10-30 09:54:27 782

原创 Ubuntu 10.04 Gedit 打开txt文件乱码问题

在Windows下编辑好txt文件后在Ubuntu中使用Gedit打开出现乱码;这是编码方式不同造成的。Windows下txt文件的编码格式为GBK,Ubuntu Gedit默认没有对GBK的支持,需要手动配置。1.打开终端,输入"gconf-editor",回车后打开配置编辑器;2.在左边的树节点找到/apps/gedit-2/preferences/encoding

2012-10-25 21:30:31 679

原创 ubuntu 最大化最小化按钮位置设置

1. 首先打开一个终端,在其中输入gconf-editor2. 打开配置编辑器,在apps-metacity-general中找到 button_layout键值,双击   将其中的内容改为menu:minimize,maximize,close,确定后三个按钮就老老实实的回到右边了   这时候的三个键的顺序从左到右依次是最小化、最大化、关闭。

2012-10-25 21:27:53 1201

原创 c++ substr()和assign()函数用法

C++中substr()函数用法substr(起始位置,长度);#include#includeusing namespace std;main(){string s("12345asdf");string a=s.substr(0,4); //获得字符串s中 从第0位开始的长度为4的字符串cout<<a<<endl;}运行结果1234assign()

2012-10-25 21:25:22 12014

原创 c++ 读写文件程序

我的第一个入门C++程序,感谢官山同学对我在C++方面的耐心引导,这将成为我在编程方面的一个里程碑式的开始!#include #include #include using namespace std;int main(){ifstream readfile;readfile.open("c:\\1.txt",ios::in);string line;int start=

2012-10-25 21:07:36 866

原创 C++ 箭头操作符(->) 和 点操作符(.)

一个左边是指针.    一个左边是实体如果p是指针,  p->function();   如果p是对象,  p.function();记住-〉必须是指针,.左边必须是对象或者结构体,一般是类对象比如:容器的迭代器iteriter->function() = (*iter).function();

2012-10-25 21:03:28 782

转载 C++ string类中 .c_str() 和 .data() 区别

二者用法大体一样,区别在于一点:.c_str()   是生成以‘\0’结束的字符串;.data()    生成的字符串没有‘\0’;

2012-10-25 20:58:56 7313

原创 C++ equal_range() 函数

函数原型:#include pair equal_range( forward_iterator first, forward_iterator last, const TYPE& val ); pair equal_range( forward_iterator first, forward_iterator last, const TYPE& val, CompFn comp );

2012-10-25 20:50:49 12340 1

原创 C++ fill() fill_n() back_inserter 简析

fill 和fill_n函数是C++ Primer第十一章泛型算法部分内容,并把它们称为写入元素算法,也就是说这两个函数只能对输入范围内已存在的元素进行写入操作。如果试图对空容器进行fill_n操作,会导致严重的运行错误,所以在对元素进行写入操作时要检查目标的大小是否足以存储要写入的元素。fill函数的作用是:将一个区间的元素都赋予val值。函数参数:fill(vec.begin(), vec

2012-10-25 20:43:47 3945 1

原创 C++ sort() 与stable_sort()

sort的应用;1、可以传入两个参数;     sort(a,a+N) ,其中a是数组,a+N表示对a[0]至a[N-1]的N个数进行排序(默认从小到大排序);2、传入三个参数;     sort(a,a+N,cmp)     cmp第三个参数是一个函数 ;     如果让函数从大到小排序,可以用如下算法实现;bool cmp(int a,i

2012-10-25 20:21:48 2867

原创 C++ 去掉字符串首尾空格

void strim(string &str){str.erase(str.find_last_of(' ') + 1, string::npos); //去掉字符串末尾空格str.erase(0, str.find_first_of(' ')); //去掉字符串首空格}

2012-10-25 20:19:01 7660 4

html页面显示指定网页信息样例

html页面显示指定网页信息样例,可以在指定html页面中插入框架,显示任意网站的网页,代码简洁,测试好用!

2012-11-13

ALICE问答系统的aiml格式对话语料

ALICE问答系统的aiml格式对话语料,比较全的英文问答系统语料,供大家研究使用,可翻译成中文,参考设计中文问答系统。

2012-11-09

svm 工具包 svm_light版本+测试样例+说明文档

svm工具包 svm_light版本+测试样例+说明文档,单独的分类工具包比weka中内嵌libsvm计算速度快,使用灵活方便,本人测试好用,分享给大家!

2012-11-06

BerkeleyParser 伯克利文本分析器

BerkeleyParser 伯克利文本分析器

2012-10-26

Glider-JS 创建优美的页面滑动效果

前台设置页面经常要设置不同页面之间实现滑动的效果,这段代码可以完美实现滑动效果,简单方便使用,测试好用,分享给大家。

2012-10-26

php 编码转换工具包

php编程解决显示乱码问题必备工具,简单好用!好东西一起分享!

2012-10-25

网页取色器 MyColor

好用的网页取色器,是做前台必不可少的工具!

2012-10-25

SQLyog安装+破解软件

首先正常安装exe文件,然后要求输入注册码时关闭程序,单机压缩包中的破解工具,重新打开SQLyog即可使用,经测试好用!分享给大家!

2012-10-25

空空如也

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

TA关注的人

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