自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (7)
  • 收藏
  • 关注

原创 git

1. error: The requested URL returned error: 403 Forbidden while accessing https://github.com/test/jekyll_test.git/info/refstest 是github账号的用户名解决方法: vi .git/config 将 url = https://github.com/test/

2015-12-25 14:46:29 366

原创 Linux 虚拟内存

要讲虚拟内存,需要先讲几个概念1. 逻辑地址:逻辑地址是程序产生的段的偏移地址。example: 在C/C++ 中声明一个指针,通过&操作,可以读取这个指针本身值,这个就是逻辑地址,他是相对于当前进程数据段的地址。2. 线性地址:逻辑地址到物理地址变换的中间层。程序代码会产生逻辑地址,也就是段的偏移地址,加上段的基地址就可以构成线性地址。如果没有启用分页机制,那么线性地址就是物理地址。

2015-06-11 09:51:22 381

转载 寻找最近公共祖先

http://www.cppblog.com/myjfm/archive/2011/05/12/146282.aspxhttp://blog.csdn.net/cxllyg/article/details/76359921、看递归就知道其实还是深度遍历这棵树;2、首先使当前节点u的父指针指向自己;3、处理u的所有孩子节点,每处理完一个孩子节点就让孩子节点的父指针

2015-06-10 22:28:26 437

原创 生成随机数

1. 已有一个随机数发生器,生成0的概率是p,生成1的概率是1-p。如何利用该发生器制作一个1~n的概率都是1/n的发生器。1> 1,2   00,01,10,11    01和10都是 p(1-p)2>1,2,3  100,001,010   p*p*(1-p)2. 已知有rand7()的函数,返回1到7随机自然数。利用rand7()构造rand10()随机数1~10    (r

2015-06-10 16:53:12 334

原创 给一个数组,求他的子串,使该子串的和最大

如果f[m-1]>0, f[m]=f[m-1]+a[m]f[m-1]解释如下:如果array[i,...k,....j]就是满足和最大的子串,那么对于任何k(iint kadane(const int array[],int length,int& left,int& right){int i,cur_left,cur_right;int max,cur

2015-06-10 15:46:32 423

原创 判断一个二叉树是否是完全二叉树

思想:采用广度优先遍历,从根节点开始入队,如果队列不为空,循环。遇到第一个没有左/右 孩子的节点,设置标志位,如果之后再遇到有左/右孩子的节点,那么这不是一棵完全二叉树。struct Node  5 {  6     int value;  7     Node* left;  8     Node* right;  9 }; 10 Queue queue; 11

2015-06-10 14:58:15 457

原创 C++ 中的智能指针

1. auto_ptr的使用1> 不用使用operator = ,这样会转移控制权。(下面会给出例子解释)2> 调用release并不会释放释放对象,仅仅是归还控制权。3> 由于operator = 的问题,不能将auto_ptr指针放进STL容器。4> auto_ptr不能指向数组,因为auto_ptr析构调用的时候只能调用delete,不能调用 delete[]cl

2015-06-10 11:25:26 313

原创 C++ 中的类型转换函数

1. 四种: static_cast,dynamic_cast,const_cast,reinterpret_cast2. 他们的使用1>static_cast: 任何隐式转换都可以由它完成,仅当类型之间可隐式转换时(除类层次间的下行转换),static_cast的转换才是合法的,否则将出错。 class A  4 {  5     public:  6     virtu

2015-06-09 22:45:31 482

原创 C++中如何避免内存泄露

1. 在类的构造函数中new ,在类的析构函数中delete2. 函数中申请的内存,一定要在函数结束的时候释放。3. 基类和子类各自管理各自的内存,此时要注意将基类的虚函数声明为虚函数.(这样做是为了确保当用一个基类指针删除一个派生类的对象时,派生类的析构函数会被调用)。4. 同时还要注意的是,记得把重写拷贝构造函数,需要给类增加一个引用计数,记录有多个指针指向这块内存。防止重复当

2015-06-09 22:34:03 562

原创 placement new的用法

1. 平时new一个对象都是在堆上分配内存,但是要先找出哪块内存是空闲的,堆是用链表实现的,这样的话效率有点低,所以可以预先申请出一块比较大的内存,当需要申请对象的时候就在这块已经开辟好的空间分配。   同时也避免了内存分配不足的情况。2. 使用方法:1> 提前分配空间class MyClass{......}char* buf=new char[N*sizeof(MyClass)

2015-06-09 22:03:14 316

原创 socket C/C++ linux

1. socket 其实也是文件描述符,从本质上讲跟普通文件没有什么区别。所以read和write 同样适用于socket,但是linux也提供了专门的接口。2. 对于TCP来说:  size_t recv(int sockfd,void* buf,size_t len,int flags)  前三个参数的意义很好理解,最后一个参数的意义如下所示。  size_t send(int soc

2015-06-09 21:49:37 357

原创 new delete malloc free的区别

1. malloc free 是C中使用的关键字,new delete 是C++中使用的关键字2. new 和delete 分成两步  1> 分配内存空间,会根据类型自行计算   2> 调用构造函数,构造对象 malloc 只是完成了第一步,分配了内存空间。返回的是内存的起始地址,如果分配失败返回NULL。  delete  :  1> 调用析构函数     2> 释放内存空间

2015-06-09 10:57:59 294

原创 C++ 中的map

1. C++ 中的map想必大家都用过,我也是大一的时候就使用过,但是一直到最近的一个项目才发现对于C++中的map,自己认识的竟然是如此粗浅。2. set和map一样都是有序的,用树作为存储结构。主要的函数:1> 构造函数: map MAP;2> 插入数据:1. map.insert(pair(1,"hello"));2. map.insert(map::value_ty

2015-06-09 10:21:59 456

原创 C++ 多态的一些理解

1. C++ 中的多态,简单来说是用基类的指针指向子类的对象,然后用这个基类指针就可以调用子类对象的方法(这些方法在基类中有,且被声明为虚函数);如果一个方法没有被声明为虚函数,则调用哪个方法取决于指针的类型。2. 这是自己写的一个例子class A{public:virtual void say(){cout}};class B:public:

2015-06-09 09:55:27 326

转载 程序员面试题精选(17)-把字符串转换成整数_资料存档

http://zhguiqiang.blog.163.com/blog/static/9993752200861310505693/程序员面试题精选(17)-把字符串转换成整数2007年10月17日 星期三 下午 10:03题目:输入一个表示整数的字符串,把该字符串转换成整数并输出例如输入字符串"345",则输出整数345 分析:这道题尽管不是很

2014-07-31 09:19:04 563

原创 用户

1.1 关键技术1>基于用户的关系,联系,构建模型,推断用户的年龄2>基于用户的互动和关系,在社交网站的留言信息,构建模型,推断用户的性别3>基于用户的基本信息和所在的朋友圈,构建传播模型,推断出用户的行业4>基于用户的网上留言信息和开源数据集的先验知识,采用pageRank算法,推断出用户的兴趣1.2 创新点现有的算法只适合单台服务器和小规模的数据,对于大数据量根本没法承

2014-07-28 12:27:57 571

转载 Java:Ant打包jar文件(有lib目录)

使用Ant打包Jar文件主要是lib/*.jar的路径需要注意: jar包里的jar包是不能被识别为classpath使用方法:如果代码是如下面的目录结构组织的,不需要修改什么,直接在终端运行ant命令即可在out目录输出对应的jar文件。         project        |-bin        |-src        |-lib

2014-07-14 10:26:45 669

转载 [数据挖掘工具] [转载]机器学习-国内牛人网站

http://bbs.pinggu.org/thread-2688533-1-1.html

2014-07-11 09:43:40 448

转载 libsvm 使用的一个很小的例子

package com.svm;import java.io.IOException;import libsvm.svm;import libsvm.svm_model;import libsvm.svm_node;import libsvm.svm_parameter;import libsvm.svm_problem;public class jmain {

2014-07-01 16:52:31 732

转载 编程珠玑-如何给10^7个数据量的磁盘文件排序

http://blog.csdn.net/v_JULY_v/article/details/6451990http://tudian2007.blog.163.com/blog/static/3156641320128116561981/

2014-06-20 17:52:06 393

转载 编程珠玑-如何给10^7个数据量的磁盘文件排序

/磁盘文件排序位图方案的伪代码  //copyright@ Jon Bentley  //July、updated,2011.05.29。    //第一步,将所有的位都初始化为0  for i ={0,....n}         bit[i]=0;  //第二步,通过读入文件中的每个整数来建立集合,将每个对应的位都置为1。  for each i

2014-06-20 17:50:08 450

原创 python 梯度下降应用于线性回归

import osimport os.pathdef lineLogist():    #train data    x = [(1,104,3),(1,100,3),(1,200,3),(1,216,2),(1,300,4)]    #y[i] is the output of y = theta0 * x[0] + theta1 * x[1] +theta2 * x[2]

2014-06-17 14:18:26 500

tcpdump-171218-1649-54.pdf

用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。

2020-06-05

Google_Cpp_Style_guide_CN.pdf

每个较大的开源项目都有自己的风格指南: 关于如何为该项目编写代码的一系列约定 (有时候会比较武断). 当所有代码均保持一致的风格, 在理解大型代码库时更为轻松. “风格” 的含义涵盖范围广, 从 “变量使用驼峰格式 (camelCase)” 到 “决不使用全局变量” 再到 “决不使用异常”. 英文版项目维护的是在 Google 使用的编程风格指南. 如果你正在修改的项目源自 Google, 你可能会被引导至 英文版项目页面, 以了解项目所使用的风格.

2020-06-05

C++11 Memory Model.pdf

内存模型 为 C++ 抽象机的目的定义计算机内存存储的语义。 可用于 C++ 程序的内存是一或多个相接的字节序列。内存中的每个字节拥有唯一的地址。 字节 字节是最小的可寻址内存单元。它被定义为相接的位序列,大到足以保有任何 UTF-8 编码单元( 256 个相异值)和 (C++14 起)基本执行字符集(要求为单字节的 96 个字符)的任何成员。类似 C , C++ 支持 8 位或更大的字节。 char 、 unsigned char 和 signed char 类型把一个字节用于存储和值表示。字节中的位数可作为 CHAR_BIT 或 std::numeric_limits<unsigned char>::digits 访问。 内存位置 内存位置是 一个标量类型(算术类型、指针类型、枚举类型或 std::nullptr_t )对象 或非零长位域的最大相接序列 注意:各种语言特性,例如引用和虚函数,可能涉及到程序不可访问,但为实现所管理的额外内存位置。 线程与数据竞争 执行线程是程序中的控制流,它始于 std::thread::thread 、 std::async 或以其他方式所做的顶层函数调用。

2020-06-05

主成分分析PCA(含有详细推导过程以及案例分析matlab版

这篇文档中详细描述了PCA的过程,并给出了一个简单的例子

2013-09-17

PCA用java实现

我用java实现了PCA算法,其中调用了matlab的函数。

2013-09-17

C#反编译工具

这是C#反编译工具的最新版本,很好用的,此外不仅可以反编译C#,像F#之类的也可以编译

2013-05-06

windows获取无线网信号强度

这个代码中引入了地方的.dll文件,以方便对于无线网信号的操作

2013-05-06

空空如也

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

TA关注的人

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