- 博客(22)
- 资源 (7)
- 收藏
- 关注
原创 git
1. error: The requested URL returned error: 403 Forbidden while accessing https://github.com/test/jekyll_test.git/info/refs test 是github账号的用户名 解决方法: vi .git/config 将 url = https://github.com/test/
2015-12-25 14:46:29
451
原创 Linux 虚拟内存
要讲虚拟内存,需要先讲几个概念 1. 逻辑地址:逻辑地址是程序产生的段的偏移地址。example: 在C/C++ 中声明一个指针,通过&操作,可以读取这个指针本身值,这个就是逻辑地址,他是相对于当前进程数据段的地址。 2. 线性地址:逻辑地址到物理地址变换的中间层。程序代码会产生逻辑地址,也就是段的偏移地址,加上段的基地址就可以构成线性地址。如果没有启用分页机制,那么线性地址就是物理地址。
2015-06-11 09:51:22
428
转载 寻找最近公共祖先
http://www.cppblog.com/myjfm/archive/2011/05/12/146282.aspx http://blog.csdn.net/cxllyg/article/details/7635992 1、看递归就知道其实还是深度遍历这棵树; 2、首先使当前节点u的父指针指向自己; 3、处理u的所有孩子节点,每处理完一个孩子节点就让孩子节点的父指针
2015-06-10 22:28:26
488
原创 生成随机数
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
415
原创 给一个数组,求他的子串,使该子串的和最大
如果f[m-1]>0, f[m]=f[m-1]+a[m] f[m-1] 解释如下: 如果array[i,...k,....j]就是满足和最大的子串,那么对于任何k(i int 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
475
原创 判断一个二叉树是否是完全二叉树
思想:采用广度优先遍历,从根节点开始入队,如果队列不为空,循环。遇到第一个没有左/右 孩子的节点,设置标志位,如果之后再遇到有左/右孩子的节点,那么这不是一棵完全二叉树。 struct Node 5 { 6 int value; 7 Node* left; 8 Node* right; 9 }; 10 Queue queue; 11
2015-06-10 14:58:15
501
原创 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
356
原创 C++ 中的类型转换函数
1. 四种: static_cast,dynamic_cast,const_cast,reinterpret_cast 2. 他们的使用 1>static_cast: 任何隐式转换都可以由它完成,仅当类型之间可隐式转换时(除类层次间的下行转换),static_cast的转换才是合法的,否则将出错。 class A 4 { 5 public: 6 virtu
2015-06-09 22:45:31
557
原创 C++中如何避免内存泄露
1. 在类的构造函数中new ,在类的析构函数中delete 2. 函数中申请的内存,一定要在函数结束的时候释放。 3. 基类和子类各自管理各自的内存,此时要注意将基类的虚函数声明为虚函数.(这样做是为了确保当用一个基类指针删除一个派生类的对象时,派生类的析构函数会被调用)。 4. 同时还要注意的是,记得把重写拷贝构造函数,需要给类增加一个引用计数,记录有多个指针指向这块内存。防止重复当
2015-06-09 22:34:03
637
原创 placement new的用法
1. 平时new一个对象都是在堆上分配内存,但是要先找出哪块内存是空闲的,堆是用链表实现的,这样的话效率有点低,所以可以预先申请出一块比较大的内存,当需要申请对象的时候就在这块已经开辟好的空间分配。 同时也避免了内存分配不足的情况。 2. 使用方法: 1> 提前分配空间 class MyClass{......} char* buf=new char[N*sizeof(MyClass)
2015-06-09 22:03:14
362
原创 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
406
原创 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
339
原创 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
510
原创 C++ 多态的一些理解
1. C++ 中的多态,简单来说是用基类的指针指向子类的对象,然后用这个基类指针就可以调用子类对象的方法(这些方法在基类中有,且被声明为虚函数);如果一个方法没有被声明为虚函数,则调用哪个方法取决于指针的类型。 2. 这是自己写的一个例子 class A { public: virtual void say() { cout } }; class B:public:
2015-06-09 09:55:27
365
转载 程序员面试题精选(17)-把字符串转换成整数_资料存档
http://zhguiqiang.blog.163.com/blog/static/9993752200861310505693/ 程序员面试题精选(17)-把字符串转换成整数 2007年10月17日 星期三 下午 10:03 题目:输入一个表示整数的字符串,把该字符串转换成整数并输出例如输入字符串"345",则输出整数345 分析:这道题尽管不是很
2014-07-31 09:19:04
616
原创 用户
1.1 关键技术 1>基于用户的关系,联系,构建模型,推断用户的年龄 2>基于用户的互动和关系,在社交网站的留言信息,构建模型,推断用户的性别 3>基于用户的基本信息和所在的朋友圈,构建传播模型,推断出用户的行业 4>基于用户的网上留言信息和开源数据集的先验知识,采用pageRank算法,推断出用户的兴趣 1.2 创新点 现有的算法只适合单台服务器和小规模的数据,对于大数据量根本没法承
2014-07-28 12:27:57
634
转载 Java:Ant打包jar文件(有lib目录)
使用Ant打包Jar文件 主要是lib/*.jar的路径需要注意: jar包里的jar包是不能被识别为classpath 使用方法:如果代码是如下面的目录结构组织的,不需要修改什么,直接在终端运行ant命令即可在out目录输出对应的jar文件。 project |-bin |-src |-lib
2014-07-14 10:26:45
775
转载 [数据挖掘工具] [转载]机器学习-国内牛人网站
http://bbs.pinggu.org/thread-2688533-1-1.html
2014-07-11 09:43:40
501
转载 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
785
转载 编程珠玑-如何给10^7个数据量的磁盘文件排序
http://blog.csdn.net/v_JULY_v/article/details/6451990 http://tudian2007.blog.163.com/blog/static/3156641320128116561981/
2014-06-20 17:52:06
424
转载 编程珠玑-如何给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
498
原创 python 梯度下降应用于线性回归
import os import os.path def 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
541
C++11 Memory Model.pdf
2020-06-05
Google_Cpp_Style_guide_CN.pdf
2020-06-05
tcpdump-171218-1649-54.pdf
2020-06-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人